Dashboard -20px, map untouched: shellH 582 -> 562

Driver fine-tune: 'almost perfect height -- keep the map the same
height, but decrease the height of the dashboard by about 20px.' Map
row stays 340; the 20px comes out of the table's derived share.
Storage key v5 -> v6. Measured live: shell 703 -> 683, map 340,
table 244 -> 224.
This commit is contained in:
doxa-maps-88655c70 2026-09-23 23:59:58 +00:00
parent 8653147cfc
commit bd94cf6ed4
11 changed files with 57 additions and 54 deletions

View file

@ -453,9 +453,9 @@ useShadowStyles(`
open: two owners of one height is the bug this file keeps re-learning. */
.rd-shell.rd-page-scroll.rd-table-collapsed{
grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px)
calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); }
calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); }
.rd-shell.rd-page-scroll.rd-table-collapsed > [data-region="map"]{
height:calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)); }
height:calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)); }
.rd-shell.rd-page-scroll > [data-region="map"]{ height:var(--rd-map-h, 340px); overflow:hidden; }
.rd-shell.rd-page-scroll > [data-region="table"]{ overflow:visible; }
.rd-shell.rd-page-scroll .rd-table-wrap{ height:auto; }
@ -523,7 +523,7 @@ useShadowStyles(`
GOAL CONTEXT: "we are trying to RECLAIM HEIGHT." 7 rows is 182px against today's 300px keyhole,
so this alone returns 118px of the ~147px available. */
.rd-shell.rd-page-scroll .rd-grid{
max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 582px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); }
max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 562px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); }
/* ── FACETS/RAIL COLUMNS BOUNDED IN PAGE-SCROLL MODE (BUG-DASHBOARD-BAND-GROWS-ENORMOUS) ──────
THE ROOT CAUSE, one level up from the table rule above. .rd-facets/.rd-rail are authored
height:100%, which is correct in the FIXED-VIEWPORT grid (rows sum to a real, bounded
@ -607,7 +607,7 @@ useShadowStyles(`
the surplus painted as the grey band the Driver reported between/under map and table, and
made a divider drag look broken (the row would not follow, the slack just moved).
ONE QUANTITY, ONE OWNER applies to fallbacks too: same var, same fallback, everywhere. */
max-height:calc(var(--rd-shell-h, 582px) + 1px); }
max-height:calc(var(--rd-shell-h, 562px) + 1px); }
/* ★ THE ELEMENT MUST SIZE TO ITS CONTENT IN PAGE-SCROLL (Driver 2026-09-23: "massive grey gap
between map and table and the map overflows into the people-group grid page — the dashboard

View file

@ -111,7 +111,10 @@ import { ref, unref, onMounted, onBeforeUnmount } from 'vue'
// +40px again (Driver 2026-09-23 second raise: "go taller with the dashboard by another 40px,
// add that to the height of the map"): shellH 542 -> 582 and mapH 300 -> 340 move together, so
// the whole gain lands in the map row and the table's derived share stays put.
const DEFAULTS = { facetW: 296, railW: 296, tableH: '34%', mapH: 340, shellH: 582 }
// Driver fine-tune 2026-09-23: "almost perfect height -- keep the map the same height, but
// decrease the height of the dashboard by about 20px". Map stays 340; the 20px comes out of
// the table's derived share (shell - map - bar - foot).
const DEFAULTS = { facetW: 296, railW: 296, tableH: '34%', mapH: 340, shellH: 562 }
const CLAMPS = { facetW: [160, 420], railW: [200, 520], tableH: [12, 70], mapH: [220, 1400], shellH: [400, 2600] }
// Mirrors the CSS fallback --rd-table-bar-h (research-dashboard.vue's .rd-table-bar budget calc) —
@ -141,7 +144,7 @@ export function useDashboardLayout(options = {}) {
// fresh drag re-personalises from there. The v1 blob is left in place, inert.
// v2 -> v3: retire stored layouts so the new 542 default is actually SEEN -- a persisted
// shellH:502 from the previous default would silently mask this change on the Driver's browser.
storageKey = 'rd-dashboard-layout-v5',
storageKey = 'rd-dashboard-layout-v6',
} = options
const defaults = { ...DEFAULTS, ...(options.defaults || {}) }

View file

@ -45,7 +45,7 @@
(function () {
var slot = document.getElementById('slot');
var status = document.getElementById('status');
var BASE_CONFIG = {"profile":"connectivity-map","dataSource":"pray-tools","instanceId":"cities-internet-connectivity-map","assetsBase":"../../assets"};
var BASE_CONFIG = {"pinHint":false,"profile":"connectivity-map","dataSource":"pray-tools","instanceId":"cities-internet-connectivity-map","assetsBase":"../../assets"};
// MapLibre map pages AND shell pages (app-shell / nested-mfe-spa) need NO token:
// the ladder below is skipped entirely and the element mounts immediately.
var TOKEN_FREE = false;

File diff suppressed because one or more lines are too long

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
<script src="../../dashboard-plus-grid.js" integrity="sha384-w7w880pSJskqw4YryC9Fvmcnidv6poXCA8z7PjyNzsTeSOc7yBHkYnKi2gZAVKY1" crossorigin="anonymous"></script>
<script src="../../dashboard-plus-grid.js" integrity="sha384-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <dashboard-plus-grid> custom element. -->
<script src="../dashboard-plus-grid.js" integrity="sha384-w7w880pSJskqw4YryC9Fvmcnidv6poXCA8z7PjyNzsTeSOc7yBHkYnKi2gZAVKY1" crossorigin="anonymous"></script>
<script src="../dashboard-plus-grid.js" integrity="sha384-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -45,7 +45,7 @@
(function () {
var slot = document.getElementById('slot');
var status = document.getElementById('status');
var BASE_CONFIG = {"profile":"resources-map","dataSource":"pray-tools","instanceId":"gospel-resources-resources-map","assetsBase":"../../assets"};
var BASE_CONFIG = {"pinHint":false,"profile":"resources-map","dataSource":"pray-tools","instanceId":"gospel-resources-resources-map","assetsBase":"../../assets"};
// MapLibre map pages AND shell pages (app-shell / nested-mfe-spa) need NO token:
// the ladder below is skipped entirely and the element mounts immediately.
var TOKEN_FREE = false;

File diff suppressed because one or more lines are too long

View file

@ -193,7 +193,7 @@
"bundle": "dashboard-plus-grid",
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
"output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js",
"integrity": "sha384-w7w880pSJskqw4YryC9Fvmcnidv6poXCA8z7PjyNzsTeSOc7yBHkYnKi2gZAVKY1",
"integrity": "sha384-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ",
"elements": [
"dashboard-plus-grid"
],
@ -213,7 +213,7 @@
"scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js",
"embed": {
"iframe": "<iframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-w7w880pSJskqw4YryC9Fvmcnidv6poXCA8z7PjyNzsTeSOc7yBHkYnKi2gZAVKY1\" crossorigin=\"anonymous\"></script>\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ\" crossorigin=\"anonymous\"></script>\n<dashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></dashboard-plus-grid>"
},
"instances": [
{
@ -878,7 +878,7 @@
"bundle": "research-dashboard",
"scriptUrl": "./research-dashboard/research-dashboard.js",
"output": "doxa-maps/research-dashboard/research-dashboard.js",
"integrity": "sha384-uYPQZjDB+0BMyy/Vit6cXnhYiBLVAsqMGWzdYnczTXdMR9OCCLTXFbwUL3GE7pGd",
"integrity": "sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw",
"elements": [
"research-dashboard-map"
],
@ -894,7 +894,7 @@
"scriptUrl": "./research-dashboard/research-dashboard.js",
"embed": {
"iframe": "<iframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-uYPQZjDB+0BMyy/Vit6cXnhYiBLVAsqMGWzdYnczTXdMR9OCCLTXFbwUL3GE7pGd\" crossorigin=\"anonymous\"></script>\n<research-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></research-dashboard-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw\" crossorigin=\"anonymous\"></script>\n<research-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></research-dashboard-map>"
},
"bundle": "research-dashboard"
}

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <research-dashboard-map> custom element. -->
<script src="../research-dashboard.js" integrity="sha384-uYPQZjDB+0BMyy/Vit6cXnhYiBLVAsqMGWzdYnczTXdMR9OCCLTXFbwUL3GE7pGd" crossorigin="anonymous"></script>
<script src="../research-dashboard.js" integrity="sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order: