All seven gallery tabs carry their info entry; a tab whose text is not bundled shows no button
Each production tab reads mapInfo.tab.<tabId>.lead and .takeaway, and Regions also its note, with the India/China reasoning beside it. Only files already in the tree are listed as examples (the UPG-100 poster); the rest join when their shots land. A tab's button renders only when its lead key resolves in the bundled catalogue, so a key that has not landed yet hides the button instead of opening a popup of raw key names.
This commit is contained in:
parent
a1d9a1e318
commit
37f3aa1221
7 changed files with 72 additions and 23 deletions
|
|
@ -1097,7 +1097,13 @@ export default defineComponent({
|
|||
this.$nextTick(() => back && back.focus && back.focus())
|
||||
},
|
||||
// Does this tab have what/how text? Marks its pane, so a map's hosted "?" knows to show.
|
||||
infoFor(t) { return (this.showInfo && t && TAB_INFO[t.id]) || null },
|
||||
// A tab's button shows only when its lead text is in the bundled catalogue: a key that has not
|
||||
// landed would otherwise open a popup of raw key names. English is the check because every
|
||||
// locale falls back to it.
|
||||
infoFor(t) {
|
||||
const e = this.showInfo && t && TAB_INFO[t.id]
|
||||
return e && (!e.leadKey || tStatic(e.leadKey, 'en')) ? e : null
|
||||
},
|
||||
tabHasHelp(t) { return !!(t && t.discovered && helpFor(t.id, this.uiLocale)) },
|
||||
// A map's "?" (library HelpButton) asked for help. Answer only for the active tab, and only when
|
||||
// it has text; remember the exact button (composedPath reaches into the map's shadow root) so
|
||||
|
|
|
|||
|
|
@ -27,4 +27,48 @@ export const TAB_INFO = {
|
|||
{ kind: 'image', src: 'previews/middle-east-core.webp', full: 'posters/middle-east-core.html' },
|
||||
],
|
||||
},
|
||||
'regions-dashboard': {
|
||||
storageKey: 'regions-dashboard',
|
||||
leadKey: 'mapInfo.tab.regions-dashboard.lead',
|
||||
takeawayKey: 'mapInfo.tab.regions-dashboard.takeaway',
|
||||
// "except India and China": India is genuinely unsupported -- no sheet, no geometry, and 855
|
||||
// people groups, too many to fit one poster legibly (library/data/country-posters.json carries
|
||||
// that reason itself). CHINA IS DIFFERENT: it is technically supported TODAY (sheet 3x4,
|
||||
// geometry present, 154 groups -- the 3x4 tier exists precisely so it renders) and is withheld
|
||||
// deliberately, not because the pipeline cannot do it. Do not "fix" this by enabling China;
|
||||
// that is a decision above this file.
|
||||
noteKey: 'mapInfo.tab.regions-dashboard.note',
|
||||
// The Sudan poster, packet pages and card deck join when rega's shots are in the tree.
|
||||
examples: [],
|
||||
},
|
||||
'dashboard-plus-grid': {
|
||||
storageKey: 'dashboard-plus-grid',
|
||||
leadKey: 'mapInfo.tab.dashboard-plus-grid.lead',
|
||||
takeawayKey: 'mapInfo.tab.dashboard-plus-grid.takeaway',
|
||||
examples: [],
|
||||
},
|
||||
'research-map-plus-grid': {
|
||||
storageKey: 'research-map-plus-grid',
|
||||
leadKey: 'mapInfo.tab.research-map-plus-grid.lead',
|
||||
takeawayKey: 'mapInfo.tab.research-map-plus-grid.takeaway',
|
||||
examples: [],
|
||||
},
|
||||
'prayer-map': {
|
||||
storageKey: 'prayer-map',
|
||||
leadKey: 'mapInfo.tab.prayer-map.lead',
|
||||
takeawayKey: 'mapInfo.tab.prayer-map.takeaway',
|
||||
examples: [],
|
||||
},
|
||||
'cities-internet': {
|
||||
storageKey: 'cities-internet',
|
||||
leadKey: 'mapInfo.tab.cities-internet.lead',
|
||||
takeawayKey: 'mapInfo.tab.cities-internet.takeaway',
|
||||
examples: [],
|
||||
},
|
||||
'gospel-resources': {
|
||||
storageKey: 'gospel-resources',
|
||||
leadKey: 'mapInfo.tab.gospel-resources.lead',
|
||||
takeawayKey: 'mapInfo.tab.gospel-resources.takeaway',
|
||||
examples: [],
|
||||
},
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -61,7 +61,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-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ" crossorigin="anonymous"></script>
|
||||
<script src="../../doxa-maps-spa.js" integrity="sha384-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -61,7 +61,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-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ" crossorigin="anonymous"></script>
|
||||
<script src="../doxa-maps-spa.js" integrity="sha384-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@
|
|||
"bundle": "doxa-maps-spa",
|
||||
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
|
||||
"output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js",
|
||||
"integrity": "sha384-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ",
|
||||
"integrity": "sha384-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz",
|
||||
"elements": [
|
||||
"doxa-maps-spa"
|
||||
],
|
||||
|
|
@ -389,7 +389,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-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"provider\":\"maplibre\",\"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-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-maps-spa>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -361,7 +361,7 @@
|
|||
"bundle": "doxa-maps-spa",
|
||||
"scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js",
|
||||
"output": "dx-maps/doxa-maps-spa/doxa-maps-spa.js",
|
||||
"integrity": "sha384-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ",
|
||||
"integrity": "sha384-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz",
|
||||
"elements": [
|
||||
"doxa-maps-spa"
|
||||
],
|
||||
|
|
@ -389,7 +389,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-fpVrJ+JyLhOfCmL/BzLnd960rk4Nq4TopYkzpzQ1jpT7dL2wfjI4Ocd14DqOiIFZ\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"provider\":\"maplibre\",\"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-6nge3ptiyqcahNIUxB+LXYbgMe/gsOmV4mhxV4KOUN6DVw9TvNizyWh98MTTP3Bz\" crossorigin=\"anonymous\"></script>\n<!-- provider: \"maplibre\" is the default; change it to \"mapbox\" and fill tk to use Mapbox. -->\n<doxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"provider\":\"maplibre\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-maps-spa>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue