Merge main into bundler-2/work

This commit is contained in:
Doxa Maps 2026-09-26 01:37:54 +00:00
commit 1e9064e4c6
12 changed files with 153 additions and 45 deletions

View file

@ -397,7 +397,32 @@ const active = ref('coverage')
const picked = ref(null)
const onPick = (row) => { picked.value = row?.meta ? row : null }
const fmt = (n) => (Number(n) || 0).toLocaleString()
/**
* ═══ NUMBERS FOLLOW THE READER'S LOCALE, DIGITS DO NOT CHANGE ════════════════════════════
*
* toLocaleString() with no argument formats for the JS RUNTIME's locale — the browser's — which
* has nothing to do with the locale this plugin was asked to render in. A reader who opens the
* Arabic build on an English browser got English grouping, and the same page on a French browser
* got French grouping: the same plugin, the same locale, two different numbers.
*
* ⚠ numberingSystem IS PINNED TO latn, and it is worth being exact about what that does, because
* the obvious claim is wrong. MEASURED against full ICU: the eleven tags this bundle ships all
* resolve to latn ALREADY — plain "ar" included — so for them the pin changes nothing. It earns
* its place only if a host passes a REGION tag: ar-EG resolves to arab and fa to arabext, and
* those would switch the digits. The numeral format is held for the Driver, so the pin keeps that
* decision his rather than a host's.
*
* What DOES change today is which locale decides the separators: the reader's, not the browser's.
* Hindi groups in lakhs, so 1234567 reads 12,34,567 in hi, and fr and ru use a space. Those are
* correct for the locale and are a visible change from what shipped before.
*/
const localeTag = () => {
try { return String(useI18n().locale.value || 'en') } catch (_) { return 'en' }
}
const fmt = (n) => {
const v = Number(n) || 0
try { return v.toLocaleString(localeTag(), { numberingSystem: 'latn' }) } catch (_) { return v.toLocaleString('en') }
}
useShadowStyles(
'.gc{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +

View file

@ -265,7 +265,32 @@ const gap = computed(() => {
deathsDay: Math.round(g.reduce((n, x) => n + (x.est_deaths_per_day || 0), 0)),
}
})
const fmt = (n) => (Number(n) || 0).toLocaleString()
/**
* ═══ NUMBERS FOLLOW THE READER'S LOCALE, DIGITS DO NOT CHANGE ════════════════════════════
*
* toLocaleString() with no argument formats for the JS RUNTIME's locale — the browser's — which
* has nothing to do with the locale this plugin was asked to render in. A reader who opens the
* Arabic build on an English browser got English grouping, and the same page on a French browser
* got French grouping: the same plugin, the same locale, two different numbers.
*
* ⚠ numberingSystem IS PINNED TO latn, and it is worth being exact about what that does, because
* the obvious claim is wrong. MEASURED against full ICU: the eleven tags this bundle ships all
* resolve to latn ALREADY — plain "ar" included — so for them the pin changes nothing. It earns
* its place only if a host passes a REGION tag: ar-EG resolves to arab and fa to arabext, and
* those would switch the digits. The numeral format is held for the Driver, so the pin keeps that
* decision his rather than a host's.
*
* What DOES change today is which locale decides the separators: the reader's, not the browser's.
* Hindi groups in lakhs, so 1234567 reads 12,34,567 in hi, and fr and ru use a space. Those are
* correct for the locale and are a visible change from what shipped before.
*/
const localeTag = () => {
try { return String(useI18n().locale.value || 'en') } catch (_) { return 'en' }
}
const fmt = (n) => {
const v = Number(n) || 0
try { return v.toLocaleString(localeTag(), { numberingSystem: 'latn' }) } catch (_) { return v.toLocaleString('en') }
}
useShadowStyles(
'.gt{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +
@ -334,7 +359,7 @@ useShadowStyles(
<div class="gt-tabs">
<button v-for="t in TABS" :key="t.id" type="button"
class="gt-tab" :class="{ on: active === t.id }" @click="active = t.id">
{{ tr(t.labelKey) }}<span class="gt-n" v-if="cache[t.file]">{{ (cache[t.file].rows || []).length.toLocaleString() }}</span>
{{ tr(t.labelKey) }}<span class="gt-n" v-if="cache[t.file]">{{ fmt((cache[t.file].rows || []).length) }}</span>
</button>
</div>

View file

@ -202,10 +202,35 @@ const biggestUnfound = computed(() =>
.map((l) => `${l.language} (${fmtShort(l.population)})`).join(', '))
const fmtShort = (n) => {
const v = Number(n) || 0
return v >= 1e6 ? `${Math.round(v / 1e5) / 10}M` : v.toLocaleString()
return v >= 1e6 ? `${Math.round(v / 1e5) / 10}M` : fmt(v)
}
const fmt = (n) => (Number(n) || 0).toLocaleString()
/**
* ═══ NUMBERS FOLLOW THE READER'S LOCALE, DIGITS DO NOT CHANGE ════════════════════════════
*
* toLocaleString() with no argument formats for the JS RUNTIME's locale — the browser's — which
* has nothing to do with the locale this plugin was asked to render in. A reader who opens the
* Arabic build on an English browser got English grouping, and the same page on a French browser
* got French grouping: the same plugin, the same locale, two different numbers.
*
* ⚠ numberingSystem IS PINNED TO latn, and it is worth being exact about what that does, because
* the obvious claim is wrong. MEASURED against full ICU: the eleven tags this bundle ships all
* resolve to latn ALREADY — plain "ar" included — so for them the pin changes nothing. It earns
* its place only if a host passes a REGION tag: ar-EG resolves to arab and fa to arabext, and
* those would switch the digits. The numeral format is held for the Driver, so the pin keeps that
* decision his rather than a host's.
*
* What DOES change today is which locale decides the separators: the reader's, not the browser's.
* Hindi groups in lakhs, so 1234567 reads 12,34,567 in hi, and fr and ru use a space. Those are
* correct for the locale and are a visible change from what shipped before.
*/
const localeTag = () => {
try { return String(useI18n().locale.value || 'en') } catch (_) { return 'en' }
}
const fmt = (n) => {
const v = Number(n) || 0
try { return v.toLocaleString(localeTag(), { numberingSystem: 'latn' }) } catch (_) { return v.toLocaleString('en') }
}
// ── EVERY LINK THE ROW ACTUALLY HAS, not just the scripture ones ─────────────────────────────
// THE DEFECT THIS FIXES (measured 2026-09-23 over all 862 languages in resources.json):

View file

@ -93,7 +93,15 @@ import { resolveNamedStyle } from '@map/styles/registry.js'
const profileConfig = inject('profileConfig', ref(null))
const isDark = computed(() => profileConfig.value?.isDark === true)
const mapboxToken = computed(() => profileConfig.value?.tk || window.DOXA_TOKEN || '')
// The token through the library's channel (documentation/reference-universal-props.md): the
// profile-config tk, then ProfileLoader's injected mapboxToken (which carries the page-wide shared
// token, fed by window.MAP_TOKEN), then window.MAP_TOKEN. This read window.DOXA_TOKEN, which only a
// few dev pages set, so in the studio and on every built page the map ignored the page's token.
// Same fix as cities-internet and key-cities (1cf57f7a) — the pattern is copied, not re-invented,
// because three raw maps drifting apart on how they find a token is how this happened.
const injectedTk = inject('mapboxToken', null)
const mapboxToken = computed(() => profileConfig.value?.tk || injectedTk?.value
|| (typeof window !== 'undefined' && window.MAP_TOKEN) || '')
// ── HONOUR THE PROVIDER SWITCH: this profile builds its map RAW ─────────────
// Bundles that go through useMapInstance get the switch for free; this one calls `new gl.Map`
@ -1194,7 +1202,32 @@ function setMode(m) {
if (mapRef.value && adm0Ref.value) paint(mapRef.value, adm0Ref.value)
}
const fmt = (n) => (Number(n) || 0).toLocaleString()
/**
* ═══ NUMBERS FOLLOW THE READER'S LOCALE, DIGITS DO NOT CHANGE ════════════════════════════
*
* toLocaleString() with no argument formats for the JS RUNTIME's locale — the browser's — which
* has nothing to do with the locale this plugin was asked to render in. A reader who opens the
* Arabic build on an English browser got English grouping, and the same page on a French browser
* got French grouping: the same plugin, the same locale, two different numbers.
*
* ⚠ numberingSystem IS PINNED TO latn, and it is worth being exact about what that does, because
* the obvious claim is wrong. MEASURED against full ICU: the eleven tags this bundle ships all
* resolve to latn ALREADY — plain "ar" included — so for them the pin changes nothing. It earns
* its place only if a host passes a REGION tag: ar-EG resolves to arab and fa to arabext, and
* those would switch the digits. The numeral format is held for the Driver, so the pin keeps that
* decision his rather than a host's.
*
* What DOES change today is which locale decides the separators: the reader's, not the browser's.
* Hindi groups in lakhs, so 1234567 reads 12,34,567 in hi, and fr and ru use a space. Those are
* correct for the locale and are a visible change from what shipped before.
*/
const localeTag = () => {
try { return String(useI18n().locale.value || 'en') } catch (_) { return 'en' }
}
const fmt = (n) => {
const v = Number(n) || 0
try { return v.toLocaleString(localeTag(), { numberingSystem: 'latn' }) } catch (_) { return v.toLocaleString('en') }
}
// The table lives on a SIBLING page, so "see all of these" is a URL. Built here rather
// than inline in the template so the group link and the country link cannot drift apart.

View file

@ -579,7 +579,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "dx-maps/gospel-resources/gospel-resources.js",
"integrity": "sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z",
"integrity": "sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD",
"elements": [
"gospel-resources-map"
],
@ -599,7 +599,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/charts/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -613,7 +613,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/data-tables/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -627,7 +627,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/gospel-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -641,7 +641,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-list/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -655,7 +655,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
}
]

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD" 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 <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -41,7 +41,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD" 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

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -30,7 +30,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -579,7 +579,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "dx-maps/gospel-resources/gospel-resources.js",
"integrity": "sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z",
"integrity": "sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD",
"elements": [
"gospel-resources-map"
],
@ -599,7 +599,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/charts/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -613,7 +613,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/data-tables/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -627,7 +627,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/gospel-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -641,7 +641,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-list/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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -655,7 +655,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<!-- Mapbox engine, fetched early; remove this line if you set \"provider\":\"maplibre\" -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
}
]