Merge branch 'main' of https://git.nuxtbase.app/doxa-life/doxa-maps into bundler-1/work
This commit is contained in:
commit
d988c6f1ad
24 changed files with 219 additions and 97 deletions
|
|
@ -47,7 +47,7 @@ plugin-designs/<your-map>/ ← one FOLDER = one BUNDLE, named after the fold
|
||||||
├── overview.vue ← one .vue = one PROFILE (flat in the folder — no profiles/ subfolder)
|
├── overview.vue ← one .vue = one PROFILE (flat in the folder — no profiles/ subfolder)
|
||||||
└── detail.vue ← another profile in the SAME bundle
|
└── detail.vue ← another profile in the SAME bundle
|
||||||
|
|
||||||
builds to ─────────────► public/doxa-maps/<your-map>/<your-map>.js (one file)
|
builds to ─────────────► public/dx-maps/<your-map>/<your-map>.js (one file)
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Folder name = bundle name.** Folders starting with `_` or `.` are skipped (handy for WIP).
|
- **Folder name = bundle name.** Folders starting with `_` or `.` are skipped (handy for WIP).
|
||||||
|
|
@ -55,9 +55,9 @@ plugin-designs/<your-map>/ ← one FOLDER = one BUNDLE, named after the fold
|
||||||
- **Pick the profile at embed time** with the `profile` field — every profile shares one bundle:
|
- **Pick the profile at embed time** with the `profile` field — every profile shares one bundle:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<script src="/doxa-maps/<your-map>/<your-map>.js"></script>
|
<script src="/dx-maps/<your-map>/<your-map>.js"></script>
|
||||||
<doxa-map profile-config='{"profile":"overview","tk":"pk.eyJ..."}'></doxa-map>
|
<your-map profile-config='{"profile":"overview","tk":"pk.eyJ..."}'></your-map>
|
||||||
<doxa-map profile-config='{"profile":"detail","tk":"pk.eyJ..."}'></doxa-map>
|
<your-map profile-config='{"profile":"detail","tk":"pk.eyJ..."}'></your-map>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Add a map — three steps
|
## Add a map — three steps
|
||||||
|
|
@ -69,7 +69,7 @@ mkdir -p plugin-designs/<your-map>
|
||||||
# <name>.vue ← your screen, built from @map/* blocks (flat in the folder)
|
# <name>.vue ← your screen, built from @map/* blocks (flat in the folder)
|
||||||
|
|
||||||
# 2. build
|
# 2. build
|
||||||
npm run build # → public/doxa-maps/<your-map>/<your-map>.js
|
npm run build # → public/dx-maps/<your-map>/<your-map>.js
|
||||||
# (just this one: BUNDLE=<your-map> npm run build:bundle)
|
# (just this one: BUNDLE=<your-map> npm run build:bundle)
|
||||||
|
|
||||||
# 3. embed the script tag + element (dev staging at `npm run dev` shows a paste-ready snippet)
|
# 3. embed the script tag + element (dev staging at `npm run dev` shows a paste-ready snippet)
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,9 @@ const urlLang = (() => {
|
||||||
try { const q = new URLSearchParams(window.location.search); return q.get('lang') || q.get('locale') || '' } catch { return '' }
|
try { const q = new URLSearchParams(window.location.search); return q.get('lang') || q.get('locale') || '' } catch { return '' }
|
||||||
})()
|
})()
|
||||||
const locale = computed(() => {
|
const locale = computed(() => {
|
||||||
const raw = String(config.value.locale || urlLang || (typeof document !== 'undefined' && document.documentElement.lang) || 'en')
|
// profile-config `locale` OR `lang`: composites forward the page language as `lang`, so a card
|
||||||
|
// nested in one missed it and fell back to English (documentation/reference-universal-props.md).
|
||||||
|
const raw = String(config.value.locale || config.value.lang || urlLang || (typeof document !== 'undefined' && document.documentElement.lang) || 'en')
|
||||||
const base = raw.split('-')[0].toLowerCase()
|
const base = raw.split('-')[0].toLowerCase()
|
||||||
return STRINGS[raw] ? raw : (STRINGS[base] ? base : 'en')
|
return STRINGS[raw] ? raw : (STRINGS[base] ? base : 'en')
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,32 @@ const active = ref('coverage')
|
||||||
const picked = ref(null)
|
const picked = ref(null)
|
||||||
const onPick = (row) => { picked.value = row?.meta ? row : 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(
|
useShadowStyles(
|
||||||
'.gc{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +
|
'.gc{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,32 @@ const gap = computed(() => {
|
||||||
deathsDay: Math.round(g.reduce((n, x) => n + (x.est_deaths_per_day || 0), 0)),
|
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(
|
useShadowStyles(
|
||||||
'.gt{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +
|
'.gt{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;' +
|
||||||
|
|
@ -334,7 +359,7 @@ useShadowStyles(
|
||||||
<div class="gt-tabs">
|
<div class="gt-tabs">
|
||||||
<button v-for="t in TABS" :key="t.id" type="button"
|
<button v-for="t in TABS" :key="t.id" type="button"
|
||||||
class="gt-tab" :class="{ on: active === t.id }" @click="active = t.id">
|
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>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -202,10 +202,35 @@ const biggestUnfound = computed(() =>
|
||||||
.map((l) => `${l.language} (${fmtShort(l.population)})`).join(', '))
|
.map((l) => `${l.language} (${fmtShort(l.population)})`).join(', '))
|
||||||
const fmtShort = (n) => {
|
const fmtShort = (n) => {
|
||||||
const v = Number(n) || 0
|
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 ─────────────────────────────
|
// ── 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):
|
// THE DEFECT THIS FIXES (measured 2026-09-23 over all 862 languages in resources.json):
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,15 @@ import { resolveNamedStyle } from '@map/styles/registry.js'
|
||||||
|
|
||||||
const profileConfig = inject('profileConfig', ref(null))
|
const profileConfig = inject('profileConfig', ref(null))
|
||||||
const isDark = computed(() => profileConfig.value?.isDark === true)
|
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 ─────────────
|
// ── 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`
|
// 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)
|
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
|
// 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.
|
// than inline in the template so the group link and the country link cannot drift apart.
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,18 @@ export function whenGeojsonDrawn(map, timeoutMs = 45000) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Switch projection on EITHER engine. The argument shape is engine-specific: Mapbox takes the name
|
||||||
|
// ('globe'), MapLibre 5 takes a specification object ({ type: 'globe' }). The views passed the bare
|
||||||
|
// string, so under provider=maplibre the Globe/Mercator toggle did nothing (or threw inside a
|
||||||
|
// style.load handler). Guarded: a style that cannot take the projection must not break the view.
|
||||||
|
export function setProjectionFor(map, name) {
|
||||||
|
if (!map || !name) return
|
||||||
|
try {
|
||||||
|
const ml = typeof window !== 'undefined' ? window.maplibregl : null
|
||||||
|
map.setProjection(ml && ml.Map && map instanceof ml.Map ? { type: name } : name)
|
||||||
|
} catch (_) { /* the style does not support it: keep the current projection */ }
|
||||||
|
}
|
||||||
|
|
||||||
// Verification handle (the gospel-resources __grState contract): what the ACTIVE view's map
|
// Verification handle (the gospel-resources __grState contract): what the ACTIVE view's map
|
||||||
// actually did, so a check can assert "loaded" rather than inferring it from missing requests.
|
// actually did, so a check can assert "loaded" rather than inferring it from missing requests.
|
||||||
// window.__pplrMap() -> { engine, loaded, styleLayers, pplrLayers }
|
// window.__pplrMap() -> { engine, loaded, styleLayers, pplrLayers }
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { dataUrl, glFor, exposeMap, whenGeojsonDrawn } from '../utils/pplrData.js'
|
import { dataUrl, glFor, exposeMap, whenGeojsonDrawn, setProjectionFor } from '../utils/pplrData.js'
|
||||||
/**
|
/**
|
||||||
* pplr-language-families.vue — PG pins colored by PPLR ethnolinguistic family.
|
* pplr-language-families.vue — PG pins colored by PPLR ethnolinguistic family.
|
||||||
*
|
*
|
||||||
|
|
@ -361,7 +361,7 @@ const detailColor = computed(() => {
|
||||||
// ── Projection / basemap ──────────────────────────────────────────────────────
|
// ── Projection / basemap ──────────────────────────────────────────────────────
|
||||||
function toggleProjection() {
|
function toggleProjection() {
|
||||||
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
||||||
if (map.value) map.value.setProjection(projection.value)
|
if (map.value) setProjectionFor(map.value, projection.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBasemap(key) {
|
function setBasemap(key) {
|
||||||
|
|
@ -371,7 +371,7 @@ function setBasemap(key) {
|
||||||
showBasemap.value = false
|
showBasemap.value = false
|
||||||
const style = BASEMAPS.find(b => b.key === key)?.url
|
const style = BASEMAPS.find(b => b.key === key)?.url
|
||||||
if (!style || !map.value) return
|
if (!style || !map.value) return
|
||||||
map.value.once('style.load', () => { setupLayers(); map.value.setProjection(projection.value) })
|
map.value.once('style.load', () => { setupLayers(); setProjectionFor(map.value, projection.value) })
|
||||||
// diff:false suppresses Mapbox's "Unimplemented: setSprite" warning between
|
// diff:false suppresses Mapbox's "Unimplemented: setSprite" warning between
|
||||||
// dark-v11 and light-v11. We re-add layers in setupLayers anyway.
|
// dark-v11 and light-v11. We re-add layers in setupLayers anyway.
|
||||||
map.value.setStyle(resolveNamedStyle(style, mapProvider).style, { diff: false })
|
map.value.setStyle(resolveNamedStyle(style, mapProvider).style, { diff: false })
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { dataUrl, glFor, exposeMap, whenGeojsonDrawn } from '../utils/pplrData.js'
|
import { dataUrl, glFor, exposeMap, whenGeojsonDrawn, setProjectionFor } from '../utils/pplrData.js'
|
||||||
/**
|
/**
|
||||||
* pplr-religion.vue — PG pins colored by primary religion.
|
* pplr-religion.vue — PG pins colored by primary religion.
|
||||||
*
|
*
|
||||||
|
|
@ -44,7 +44,7 @@ function reload() { window.location.reload() }
|
||||||
|
|
||||||
function toggleProjection() {
|
function toggleProjection() {
|
||||||
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
||||||
if (map.value) map.value.setProjection(projection.value)
|
if (map.value) setProjectionFor(map.value, projection.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleTheme() {
|
function toggleTheme() {
|
||||||
|
|
@ -58,7 +58,7 @@ function setBasemap(key) {
|
||||||
showBasemap.value = false
|
showBasemap.value = false
|
||||||
const style = BASEMAPS.find(b => b.key === key)?.url
|
const style = BASEMAPS.find(b => b.key === key)?.url
|
||||||
if (!style || !map.value) return
|
if (!style || !map.value) return
|
||||||
map.value.once('style.load', () => { setupLayers(); map.value.setProjection(projection.value) })
|
map.value.once('style.load', () => { setupLayers(); setProjectionFor(map.value, projection.value) })
|
||||||
// diff:false suppresses Mapbox's "Unimplemented: setSprite" warning between
|
// diff:false suppresses Mapbox's "Unimplemented: setSprite" warning between
|
||||||
// dark-v11 and light-v11. We re-add layers in setupLayers anyway.
|
// dark-v11 and light-v11. We re-add layers in setupLayers anyway.
|
||||||
map.value.setStyle(resolveNamedStyle(style, mapProvider).style, { diff: false })
|
map.value.setStyle(resolveNamedStyle(style, mapProvider).style, { diff: false })
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { dataUrl, glFor, exposeMap } from '../utils/pplrData.js'
|
import { dataUrl, glFor, exposeMap, setProjectionFor } from '../utils/pplrData.js'
|
||||||
/**
|
/**
|
||||||
* pplr-rop-tree.vue — ROP hierarchy: Affinity Bloc → Cluster → People Group → PGIC.
|
* pplr-rop-tree.vue — ROP hierarchy: Affinity Bloc → Cluster → People Group → PGIC.
|
||||||
*
|
*
|
||||||
|
|
@ -298,7 +298,7 @@ function flyToNode(node) {
|
||||||
// ── Projection / basemap ──────────────────────────────────────────────────────
|
// ── Projection / basemap ──────────────────────────────────────────────────────
|
||||||
function toggleProjection() {
|
function toggleProjection() {
|
||||||
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
projection.value = projection.value === 'globe' ? 'mercator' : 'globe'
|
||||||
if (map.value) map.value.setProjection(projection.value)
|
if (map.value) setProjectionFor(map.value, projection.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
function setBasemap(key) {
|
function setBasemap(key) {
|
||||||
|
|
@ -308,7 +308,7 @@ function setBasemap(key) {
|
||||||
showBasemap.value = false
|
showBasemap.value = false
|
||||||
const style = BASEMAPS.find(b => b.key === key)?.url
|
const style = BASEMAPS.find(b => b.key === key)?.url
|
||||||
if (!style || !map.value) return
|
if (!style || !map.value) return
|
||||||
map.value.once('style.load', () => { setupLayers(); map.value.setProjection(projection.value) })
|
map.value.once('style.load', () => { setupLayers(); setProjectionFor(map.value, projection.value) })
|
||||||
// diff:false skips Mapbox's "try-to-diff-the-style" path which logs an
|
// diff:false skips Mapbox's "try-to-diff-the-style" path which logs an
|
||||||
// "Unimplemented: setSprite" warning whenever sprite sheets differ between
|
// "Unimplemented: setSprite" warning whenever sprite sheets differ between
|
||||||
// dark-v11 and light-v11. We re-add all our layers in setupLayers anyway,
|
// dark-v11 and light-v11. We re-add all our layers in setupLayers anyway,
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@
|
||||||
"bundle": "doxa-vision-card",
|
"bundle": "doxa-vision-card",
|
||||||
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
||||||
"output": "dx-maps/doxa-vision-card/doxa-vision-card.js",
|
"output": "dx-maps/doxa-vision-card/doxa-vision-card.js",
|
||||||
"integrity": "sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj",
|
"integrity": "sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr",
|
||||||
"elements": [
|
"elements": [
|
||||||
"doxa-vision-card"
|
"doxa-vision-card"
|
||||||
],
|
],
|
||||||
|
|
@ -509,7 +509,7 @@
|
||||||
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./doxa-vision-card/doxa-vision-card/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-vision-card/doxa-vision-card.js\" integrity=\"sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj\" crossorigin=\"anonymous\"></script>\n<doxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-vision-card>"
|
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr\" crossorigin=\"anonymous\"></script>\n<doxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-vision-card>"
|
||||||
},
|
},
|
||||||
"instances": [
|
"instances": [
|
||||||
{
|
{
|
||||||
|
|
@ -579,7 +579,7 @@
|
||||||
"bundle": "gospel-resources",
|
"bundle": "gospel-resources",
|
||||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
||||||
"integrity": "sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z",
|
"integrity": "sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD",
|
||||||
"elements": [
|
"elements": [
|
||||||
"gospel-resources-map"
|
"gospel-resources-map"
|
||||||
],
|
],
|
||||||
|
|
@ -599,7 +599,7 @@
|
||||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -837,7 +837,7 @@
|
||||||
"bundle": "pplr-data-maps",
|
"bundle": "pplr-data-maps",
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
||||||
"integrity": "sha384-e6wVt+dC86mFb8TgX2jBn7wh/R9gA6rGxNgS6umNBeNrir3TstupaJKf4XElRP2T",
|
"integrity": "sha384-pv5rEQVt1LSyoZCiLV2+/RLokA7N+KfhfnAU5LvCISKkBIMvWsTJh1HksTlcSyQY",
|
||||||
"elements": [
|
"elements": [
|
||||||
"pplr-data-maps"
|
"pplr-data-maps"
|
||||||
],
|
],
|
||||||
|
|
@ -853,7 +853,7 @@
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/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=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-e6wVt+dC86mFb8TgX2jBn7wh/R9gA6rGxNgS6umNBeNrir3TstupaJKf4XElRP2T\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
"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=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-pv5rEQVt1LSyoZCiLV2+/RLokA7N+KfhfnAU5LvCISKkBIMvWsTJh1HksTlcSyQY\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
||||||
},
|
},
|
||||||
"bundle": "pplr-data-maps"
|
"bundle": "pplr-data-maps"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
||||||
<script src="../../doxa-vision-card.js" integrity="sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj" crossorigin="anonymous"></script>
|
<script src="../../doxa-vision-card.js" integrity="sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
||||||
<script src="../../doxa-vision-card.js" integrity="sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj" crossorigin="anonymous"></script>
|
<script src="../../doxa-vision-card.js" integrity="sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-vision-card> custom element. -->
|
||||||
<script src="../doxa-vision-card.js" integrity="sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj" crossorigin="anonymous"></script>
|
<script src="../doxa-vision-card.js" integrity="sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
<!-- 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>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
<!-- 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>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
<!-- 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>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
<!-- 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>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
<!-- 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>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@
|
||||||
"bundle": "doxa-vision-card",
|
"bundle": "doxa-vision-card",
|
||||||
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
||||||
"output": "dx-maps/doxa-vision-card/doxa-vision-card.js",
|
"output": "dx-maps/doxa-vision-card/doxa-vision-card.js",
|
||||||
"integrity": "sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj",
|
"integrity": "sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr",
|
||||||
"elements": [
|
"elements": [
|
||||||
"doxa-vision-card"
|
"doxa-vision-card"
|
||||||
],
|
],
|
||||||
|
|
@ -509,7 +509,7 @@
|
||||||
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
"scriptUrl": "./doxa-vision-card/doxa-vision-card.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./doxa-vision-card/doxa-vision-card/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-vision-card/doxa-vision-card.js\" integrity=\"sha384-ga7XpXFyxJDd8VrtMejKuLRx8YFuxJoT+DXkcpehJXptsM4phiKamyTBYJpudSSj\" crossorigin=\"anonymous\"></script>\n<doxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-vision-card>"
|
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-ZChtIPhUBbNtPSWFmaGfEJWMn/LnEJWC+/qyPGAOYSRenGdrx+ZjoOchfsLg0Epr\" crossorigin=\"anonymous\"></script>\n<doxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-vision-card>"
|
||||||
},
|
},
|
||||||
"instances": [
|
"instances": [
|
||||||
{
|
{
|
||||||
|
|
@ -579,7 +579,7 @@
|
||||||
"bundle": "gospel-resources",
|
"bundle": "gospel-resources",
|
||||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
||||||
"integrity": "sha384-eXLtFilz5hpBxBl0C9BjZHXXFUl6KWwvqcVbe+XkQwZYD13DZdUGmJZx4Gi7Y78z",
|
"integrity": "sha384-w99J54Kg5/CBs37TxGIqgtErXVD9o1qIdlOZ6psyxFW+GPkTSclQMuoe8XusNIMD",
|
||||||
"elements": [
|
"elements": [
|
||||||
"gospel-resources-map"
|
"gospel-resources-map"
|
||||||
],
|
],
|
||||||
|
|
@ -599,7 +599,7 @@
|
||||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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",
|
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||||
"embed": {
|
"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>",
|
"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>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -837,7 +837,7 @@
|
||||||
"bundle": "pplr-data-maps",
|
"bundle": "pplr-data-maps",
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
||||||
"integrity": "sha384-e6wVt+dC86mFb8TgX2jBn7wh/R9gA6rGxNgS6umNBeNrir3TstupaJKf4XElRP2T",
|
"integrity": "sha384-pv5rEQVt1LSyoZCiLV2+/RLokA7N+KfhfnAU5LvCISKkBIMvWsTJh1HksTlcSyQY",
|
||||||
"elements": [
|
"elements": [
|
||||||
"pplr-data-maps"
|
"pplr-data-maps"
|
||||||
],
|
],
|
||||||
|
|
@ -853,7 +853,7 @@
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/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=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-e6wVt+dC86mFb8TgX2jBn7wh/R9gA6rGxNgS6umNBeNrir3TstupaJKf4XElRP2T\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
"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=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-pv5rEQVt1LSyoZCiLV2+/RLokA7N+KfhfnAU5LvCISKkBIMvWsTJh1HksTlcSyQY\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
||||||
},
|
},
|
||||||
"bundle": "pplr-data-maps"
|
"bundle": "pplr-data-maps"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <pplr-data-maps> custom element. -->
|
<!-- Bundle IIFE — registers the <pplr-data-maps> custom element. -->
|
||||||
<script src="../pplr-data-maps.js" integrity="sha384-e6wVt+dC86mFb8TgX2jBn7wh/R9gA6rGxNgS6umNBeNrir3TstupaJKf4XElRP2T" crossorigin="anonymous"></script>
|
<script src="../pplr-data-maps.js" integrity="sha384-pv5rEQVt1LSyoZCiLV2+/RLokA7N+KfhfnAU5LvCISKkBIMvWsTJh1HksTlcSyQY" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue