Add Regions as the third Dashboards row, completing the seven
Some checks are pending
build-gate / build (push) Waiting to run

The Driver named seven plugins across three sections. Six shipped; Regions was
the gap.

  Dashboards          Big Picture · Simple Research · Regions
  Prayer Mobilization UPG-100 List · Prayer Progress
  Gospel Research     Cities with Internet · Gospel Resources

What ships today is tab 1 of 2. regions-dashboard currently builds a single
profile, regions-list -- the WAGF region list refactored from DX-life's /regions
page, which emits region-selected / country-selected. The scrollable
region/country detail dashboard those events will drive lands as an ADDITIONAL
profile in the same bundle, and this row needs no edit when it does, because the
row names the BUNDLE and the shell resolves the profile from the manifest.

Listed now rather than held back: a working list that reaches the rail is worth
more than a complete feature nobody can open.

Verified in a browser on the built tree at 1440x900, recursive shadow-DOM walk:
four rail sections render as Dashboards / Prayer Mobilization / Gospel Research
/ Experimental; the seven curated rows appear in the Driver's order with Regions
third; 14 tabs total, 14 unique, zero duplicates, zero console errors.
check:sri PASS, check:settled PASS before and after.
This commit is contained in:
doxa-maps-88655c70 2026-09-23 15:43:43 +00:00
parent 10fdda338b
commit b59fb66cc9
7 changed files with 35 additions and 12 deletions

View file

@ -183,6 +183,22 @@ const NAV_MODEL = [
// map + People Groups grid composite — "the mobile dashboard" per the spec — and it stays
// reachable on desktop too, as the second dashboard row.
{ id: 'research-map-plus-grid', icon: 'map' },
// 3. Regions — the THIRD dashboard the Driver named: "in the dashboard section I need to have
// the Big Picture dashboard, the Simple Research dashboard and the Regions dashboard."
// Seven plugins across three sections was the ask; this row is the seventh.
//
// ★ WHAT SHIPS TODAY IS TAB 1 OF 2. regions-dashboard currently builds a single profile,
// `regions-list` (verified in the manifest: profiles ['regions-list'], element
// 'regions-dashboard') — the WAGF region list refactored from DX-life's /regions page,
// which emits region-selected / country-selected. The second profile, the scrollable
// region/country detail dashboard those events will drive, is a separate card and lands as
// an ADDITIONAL profile in the same bundle; this row needs no edit when it does, because
// the row names the BUNDLE and the shell resolves its profile from the manifest.
//
// Listing it now rather than waiting for tab 2: a working list that reaches the rail is
// worth more than a complete feature nobody can open, and its absence was the one real gap
// between the Driver's seven and the six that shipped.
{ id: 'regions-dashboard', icon: 'map' },
] },
// Prayer Mobilization — now TWO rows only: the onboarding ramp's steps 2 and 3. Big Picture (former
// step 1) moved to Dashboards above; Gospel Resources (former step 4) moved to Gospel Research below
@ -322,6 +338,13 @@ const TAB_DEFS = [
id: 'gospel-resources', label: 'Gospel Resources', sub: 'resources by place', emoji: '📖',
bundle: 'gospel-resources', profile: 'resources-map'
},
{
// The third Dashboards row. `profile` names the ONE profile this bundle currently builds;
// when the region-detail profile lands it becomes tab 2 INSIDE this element, so this entry
// still does not change — the shell resolves the profile from the manifest either way.
id: 'regions-dashboard', label: 'Regions', sub: 'regions and their countries', emoji: '🌐',
bundle: 'regions-dashboard', profile: 'regions-list'
},
{
id: 'upg-100', label: 'UPG-100 List', sub: 'my unreached list + posters', emoji: '📋',
bundle: 'my-upg-100-list', profile: 'upg-100-mfe'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-maps-spa> custom element. -->
<script src="../../doxa-maps-spa.js" integrity="sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA" crossorigin="anonymous"></script>
<script src="../../doxa-maps-spa.js" integrity="sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-maps-spa> custom element. -->
<script src="../doxa-maps-spa.js" integrity="sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA" crossorigin="anonymous"></script>
<script src="../doxa-maps-spa.js" integrity="sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -272,7 +272,7 @@
"bundle": "doxa-maps-spa",
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"output": "doxa-maps/doxa-maps-spa/doxa-maps-spa.js",
"integrity": "sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA",
"integrity": "sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm",
"elements": [
"doxa-maps-spa"
],
@ -288,7 +288,7 @@
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
"embed": {
"iframe": "<iframe src=\"./doxa-maps-spa/doxa-maps-spa/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=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA\" crossorigin=\"anonymous\"></script>\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-maps-spa>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm\" crossorigin=\"anonymous\"></script>\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-maps-spa>"
},
"instances": [
{