Merge main into bundler-1/work (regenerate the tree, re-hash)
Some checks are pending
build-gate / build (push) Waiting to run

Six conflicts, all generated artifacts under public/, resolved by
rebuilding the three PosterWall consumers and regenerating the tree
rather than hand-merging built files.

Main brought the i18n catalogues to parity, and another builder has
translated this branch's three poster-dropdown strings into all seven
non-English locales — so the 'en only' caveat on that feature is now
closed. Main's two new gates, check:i18n-parity and
check:locale-reachable, both pass against the merged catalogue.
This commit is contained in:
doxa-maps-88655c70 2026-09-24 06:01:41 +00:00
commit 66c4d3163b
83 changed files with 1139 additions and 497 deletions

View file

@ -0,0 +1,112 @@
// check-i18n-parity — a key that exists in English must exist in every locale.
//
// ★ THE FAILURE IS SILENT BY DESIGN. vue-i18n falls back to English for a missing
// key, which is the right runtime behaviour and the reason this drifts unnoticed:
// the app looks fine, nothing errors, and a reader who chose Spanish simply gets
// English words with no indication anything is missing.
//
// Measured when this was written: buttons.json had 21 keys in English and 19 in
// every other locale. The two orphans were `share` and `shareSteps` — the Share
// button's own title and its five-step explainer, rendered on EVERY map. Ten
// locales had been shipping an English Share button since the key was added.
//
// It reports per-locale so a partial translation is visible as a number rather
// than as a vague sense that "some things aren't translated".
import { readFileSync, readdirSync, existsSync } from 'node:fs'
import { resolve, join } from 'node:path'
const REPO = process.env.DOXA_REPO
|| resolve('/home/lk10x/Workspace/eco-dx/root-doxa-maps/wt-packet')
const ROOT = join(REPO, 'library/i18n/locales')
if (!existsSync(ROOT)) { console.error(`I18N-PARITY: FAIL — no locales at ${ROOT}`); process.exit(1) }
// Flatten so nested objects and arrays are compared key-by-key, not shallowly.
const flat = (obj, prefix = '', out = {}) => {
for (const [k, v] of Object.entries(obj || {})) {
const key = prefix ? `${prefix}.${k}` : k
if (v && typeof v === 'object' && !Array.isArray(v)) flat(v, key, out)
else out[key] = v
}
return out
}
const read = (loc, area) => {
const p = join(ROOT, loc, area)
if (!existsSync(p)) return null
try { return flat(JSON.parse(readFileSync(p, 'utf8'))) } catch { return undefined }
}
const locales = readdirSync(ROOT).filter((d) => existsSync(join(ROOT, d)))
if (!locales.includes('en')) { console.error('I18N-PARITY: FAIL — no English catalog to compare against'); process.exit(1) }
const areas = readdirSync(join(ROOT, 'en')).filter((f) => f.endsWith('.json'))
// ── KNOWN DEBT, RATCHETED ────────────────────────────────────────────────────
// Every locale already carries pre-existing gaps — popup.json exists only in
// English, and it/ro/zh also lack regions.json and tabs.json. Failing on all of
// that would block every build over debt this gate did not create, and a gate
// everyone disables protects nothing.
//
// So the numbers below are a CEILING, not a target: the gate fails when a locale
// gets WORSE, and prints a nudge when one gets better so the ceiling can be
// lowered. That makes drift impossible while leaving the backlog as backlog.
// Lower a number whenever you translate something; never raise one.
// SEVEN locales have reached ZERO (ar es fr pt ru de hi) and are DELIBERATELY
// ABSENT from this map: a locale with no entry must be COMPLETE, so none of them
// can silently regress. Only the three still carrying debt are listed, and each
// of those is missing WHOLE FILES (regions.json, tabs.json) rather than stray
// keys — real translation work, not propagation.
const DEBT = {
it: 94, ro: 94, zh: 94,
}
const fails = []
const improved = []
const rows = []
for (const loc of locales.filter((l) => l !== 'en').sort()) {
let missing = 0
let total = 0
const examples = []
for (const area of areas) {
const en = read('en', area)
const other = read(loc, area)
total += Object.keys(en).length
if (other === null) { missing += Object.keys(en).length; examples.push(`${area} (whole file)`); continue }
if (other === undefined) { fails.push(`${loc}/${area} is not valid JSON`); continue }
for (const k of Object.keys(en)) {
if (!(k in other)) { missing += 1; if (examples.length < 3) examples.push(`${area}:${k}`) }
}
}
rows.push({ loc, missing, total, examples })
const ceiling = DEBT[loc]
if (ceiling === undefined) {
if (missing) fails.push(`${loc} is missing ${missing}/${total} key(s) and has no DEBT entry — `
+ `e.g. ${examples.join(', ')}`)
} else if (missing > ceiling) {
fails.push(`${loc} regressed: ${missing} missing key(s), was ${ceiling} — `
+ `e.g. ${examples.join(', ')}`)
} else if (missing < ceiling) {
improved.push(`${loc}: ${missing} missing, ceiling still says ${ceiling} — lower it`)
}
}
console.log(` locales : ${locales.length} (${locales.sort().join(' ')})`)
console.log(` areas : ${areas.length} catalog file(s), ${Object.keys(read('en', areas[0]) || {}).length}+ keys each`)
for (const r of rows) {
const c = DEBT[r.loc]
const tag = r.missing === 0 ? 'complete'
: (c !== undefined && r.missing <= c ? `${r.missing} missing (known debt, ceiling ${c})`
: `${r.missing} missing`)
console.log(` ${r.loc.padEnd(4)} ${tag}`)
}
if (fails.length) {
console.error(`\nI18N-PARITY: FAIL — ${fails.length} problem(s)`)
for (const f of fails) console.error(' - ' + f)
process.exit(1)
}
if (improved.length) {
console.log('\n ↓ improved since the ceiling was set — lower DEBT in this file:')
for (const i of improved) console.log(' ' + i)
}
const debt = rows.reduce((a, r) => a + r.missing, 0)
console.log(`\nI18N-PARITY: PASS — no locale regressed. ${debt} key(s) of known translation debt remain.`)

View file

@ -0,0 +1,98 @@
// check-locale-reachable — a reader must be able to CHOOSE one of the 11 locales.
//
// ★ THE BUG THIS EXISTS FOR IS UNREACHABILITY, not incorrectness. The packet ships
// in 11 languages and every string is translated — and detectLocale() read ONLY
// document.documentElement.lang, which EVERY generated leaf page in this repo
// hardcodes to "en" (measured: 20 of 20). On the built static tree — the jamstack
// case these bundles exist for — ten of the eleven translations could not be
// reached by any reader. Correct, complete, and invisible.
//
// So this asserts two separate things, because they fail separately:
// 1. RESOLUTION — ?lang= / ?locale= selects a supported locale, a bad value falls
// back to English, and a region tag (pt-BR) resolves to its base language.
// Tested against the SHIPPED source of detectLocale, not a copy.
// 2. REACHABILITY — the built leaf pages still declare a lang, so the host-page
// path (Polylang on WordPress) keeps working. If someone later makes the pages
// lang-less, the URL path alone would silently become the only way in.
import { readFileSync, readdirSync, existsSync } from 'node:fs'
import { resolve, join, dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
const REPO = process.env.DOXA_REPO
// FOURTH instance of this pattern in one flight (check-zone-census, check-share-policy,
// check-poster-prints, now this). DOXA_REPO still wins; only the default becomes portable,
// per the idiom check-no-absolute-paths.mjs prints in its own failure text. A gate that
// hardcodes its author's worktree turns build:unlocked red for every other builder.
|| resolve(dirname(fileURLToPath(import.meta.url)), '..')
const src = readFileSync(join(REPO, 'library/i18n/index.js'), 'utf8')
const SUPPORTED = (src.match(/SUPPORTED_LOCALES = \[([^\]]*)\]/) || [])[1]
?.split(',').map((s) => s.trim().replace(/['"]/g, '')).filter(Boolean) || []
// Evaluate the SHIPPED detectLocale rather than reimplementing it — a gate that
// reimplements the thing it tests only ever proves the copy agrees with itself.
const body = src.slice(src.indexOf('export function detectLocale'), src.indexOf('export function createAppI18n'))
const make = new Function('SUPPORTED_LOCALES', 'window', 'document',
`${body.replace('export function', 'return function')}\n; return detectLocale;`)
const detect = (search, htmlLang) =>
make(SUPPORTED, { location: { search } }, { documentElement: { lang: htmlLang } })()
const CASES = [
['?lang=es', 'en', 'es', 'a lang param selects a supported locale'],
['?locale=fr', 'en', 'fr', 'the locale spelling works too'],
['?lang=pt-BR', 'en', 'pt', 'a region tag resolves to its base language'],
['?lang=zz', 'en', 'en', 'an unsupported value falls back to English'],
['?lang=', 'de', 'de', 'an empty param defers to the host page'],
['', 'de', 'de', 'with no param the host page still wins'],
['?lang=ar', 'en', 'ar', 'RTL locales are selectable like any other'],
]
const fails = []
for (const [q, htmlLang, want, why] of CASES) {
let got
try { got = detect(q, htmlLang) } catch (e) { got = `THREW: ${e.message}` }
if (got !== want) fails.push(`${q || '(no param)'} with html lang="${htmlLang}" -> "${got}", expected "${want}" (${why})`)
}
// Every packet language must be reachable: the two lists cannot drift apart.
const strings = JSON.parse(readFileSync(join(REPO, 'library/scripts/posters/packet-strings.json'), 'utf8'))
const packetLangs = Object.keys(strings).filter((k) => !k.startsWith('_'))
const unreachable = packetLangs.filter((l) => !SUPPORTED.includes(l))
if (unreachable.length) {
fails.push(`the packet ships ${unreachable.join(', ')} but SUPPORTED_LOCALES does not list them — `
+ 'those translations cannot be selected')
}
// The host-page path must survive: leaf pages still declare a lang.
const leafRoot = join(REPO, 'public/doxa-maps')
let leaves = 0
let withLang = 0
if (existsSync(leafRoot)) {
for (const bundle of readdirSync(leafRoot)) {
const bdir = join(leafRoot, bundle)
let subs = []
try { subs = readdirSync(bdir) } catch { continue }
for (const sub of subs) {
const page = join(bdir, sub, 'index.html')
if (!existsSync(page)) continue
leaves += 1
if (/<html[^>]*\blang=/.test(readFileSync(page, 'utf8'))) withLang += 1
}
}
}
if (leaves && withLang !== leaves) {
fails.push(`${leaves - withLang} of ${leaves} leaf pages declare no lang — `
+ 'the host-page detection path is broken for them')
}
console.log(` supported locales : ${SUPPORTED.length} (${SUPPORTED.join(' ')})`)
console.log(` packet languages : ${packetLangs.length} (${packetLangs.join(' ')})`)
console.log(` resolution cases : ${CASES.length - fails.filter((f) => f.includes('->')).length}/${CASES.length} correct`)
console.log(` leaf pages w/ lang: ${withLang}/${leaves}`)
if (fails.length) {
console.error(`\nLOCALE-REACHABLE: FAIL — ${fails.length} problem(s)`)
for (const f of fails) console.error(' - ' + f)
process.exit(1)
}
console.log(`\nLOCALE-REACHABLE: PASS — all ${packetLangs.length} packet languages are selectable.`)

View file

@ -228,7 +228,10 @@ async function exportPoster(item) {
// than offering an action that cannot work.
// The wall follows the app's locale: the card deck and its QR codes are localised,
// and packet-strings.json falls back per key.
const { locale: wallLocale } = useI18n()
// `t` for the wall's own labels, `locale` for the card deck's language. Both come
// from the SAME instance so a label and a printed deck can never disagree about
// which language the reader chose.
const { t, locale: wallLocale } = useI18n()
// ⚠ ONE exportState, not two. The composable owns a ref of its own; if the HUD
// keeps rendering the wall's while the print actions write to the composable's, a
// card-deck print shows NO progress and its errors vanish silently — the mechanism
@ -440,10 +443,10 @@ useShadowStyles(
:class="{ 'is-last': lastShown === item.id }" :data-list-id="item.id">
<button type="button" class="tape tape-h"
:aria-label="`Show ${item.label} on the map`" @click="showOnMap(item)">
:aria-label="t('buttons.showOnMapAria', { label: item.label })" @click="showOnMap(item)">
<span class="hcount">{{ item.count }} {{ unit }}</span>
<span class="hsep">·</span>
<span class="hlabel">Show on map</span>
<span class="hlabel">{{ t('buttons.showOnMap') }}</span>
</button>
<div class="main">
@ -465,14 +468,14 @@ useShadowStyles(
</div>
<fieldset class="tape pfs">
<legend>Print Options</legend>
<button type="button" class="pbtn" @click="downloadPacket(item)">Prayer List</button>
<legend>{{ t('buttons.printOptions') }}</legend>
<button type="button" class="pbtn" @click="downloadPacket(item)">{{ t('buttons.prayerList') }}</button>
<!-- CARD DECK — only when this wall can supply rows. A button that
cannot work is worse than an absent one, so it is gated on the
records provider rather than shown and then failing at click. -->
<button v-if="canPrintRows" type="button" class="pbtn"
@click="prints.printCardDeck(item)">Card Deck</button>
<button type="button" class="pbtn" @click="exportPoster(item)">Poster Map</button>
@click="prints.printCardDeck(item)">{{ t('buttons.cardDeck') }}</button>
<button type="button" class="pbtn" @click="exportPoster(item)">{{ t('buttons.posterMap') }}</button>
</fieldset>
</div>
</div>
@ -485,12 +488,12 @@ useShadowStyles(
<template v-if="exportState.phase === 'error'">
<div class="modal-err">{{ exportState.message }}</div>
<button type="button" class="modal-btn" @click="dismissExport">Close</button>
<button type="button" class="modal-btn" @click="dismissExport">{{ t('buttons.close') }}</button>
</template>
<template v-else-if="exportState.phase === 'soon'">
<div class="modal-soon">{{ exportState.message }}</div>
<button type="button" class="modal-btn" @click="dismissExport">Close</button>
<button type="button" class="modal-btn" @click="dismissExport">{{ t('buttons.close') }}</button>
</template>
<template v-else>

View file

@ -32,6 +32,7 @@
*/
import { resolveAssetsBase } from '../utils/embedBase.js'
import { emissivePaint } from './useMapProvider.js'
const SOURCE_ID = 'doxa-country-outline'
const LAYER_ID = 'doxa-country-outline-line'
@ -181,7 +182,7 @@ export function useCountryOutline(getMap, opts = {}) {
'line-opacity': lineOpacity,
// Bypass Standard v3 scene-lighting so the outline keeps its colour on the
// night preset instead of darkening to near-black (mirror of useMapLayers.js:248).
'line-emissive-strength': 1,
...emissivePaint(m, 'line'),
},
})
} catch (_) {

View file

@ -544,7 +544,7 @@ export function useMapClustering(options = {}) {
],
// Bypass Standard v3 scene-lighting so MST/network lines keep their colour
// on the night preset instead of darkening (mirror useMapLayers.js:248).
'line-emissive-strength': 1,
...emissivePaint(map, 'line'),
'line-opacity': 0.5
},
layout: {

View file

@ -465,7 +465,7 @@ export function useMapLayers(options = {}) {
'fill-antialias': true,
// Standard-style night lighting darkens custom layers — emit full colour
// so region fills keep their colour in dark mode (doxa dark-mode fix).
'fill-emissive-strength': 1,
...emissivePaint(map, 'fill'),
'fill-opacity-transition': { duration: 300 }
}
}, beforeId);
@ -474,7 +474,11 @@ export function useMapLayers(options = {}) {
id: 'regions-border',
type: 'line',
source: 'regions',
'source-layer': 'country_boundaries',
// Same rule as regions-fill above: VECTOR-TILE only. This sibling kept the literal
// and so was still dropped by MapLibre after the fill was fixed —
// Source layer "country_boundaries" does not exist on source
// which surfaces ONLY on the map's error event, never from addLayer().
...(_isMaplibre ? {} : { 'source-layer': 'country_boundaries' }),
paint: {
// Crisp per-region outline: each country border is drawn in its own
// region hue at full opacity. Internal (same-region) borders blend
@ -485,7 +489,7 @@ export function useMapLayers(options = {}) {
'line-width': 1,
'line-opacity': 0.9,
// Emit full colour so the border stays visible on the night preset.
'line-emissive-strength': 1
...emissivePaint(map, 'line')
}
}, beforeId);
@ -578,7 +582,7 @@ export function useMapLayers(options = {}) {
'line-width': 0.75,
'line-opacity': 0.5,
// Emit full colour so connection lines stay visible on the night preset.
'line-emissive-strength': 1
...emissivePaint(map, 'line')
}
}, 'language-family-pins'); // Add below the pins layer

View file

@ -63,7 +63,20 @@ export function isMapboxMap(map) {
/** Mapbox-Standard-only lighting paint props, per engine. MapLibre rejects layers whose
* paint carries unknown properties (the whole layer is dropped → invisible pins), so
* spread this instead of writing 'circle-emissive-strength' literally. */
export function emissivePaint(map) {
return isMapboxMap(map) ? { 'circle-emissive-strength': 1 } : {}
* spread this instead of writing '<kind>-emissive-strength' literally.
*
* ★ `kind` EXISTS BECAUSE THE CIRCLE CASE WAS NOT THE ONLY ONE. This helper was hardcoded to
* 'circle', while fill, line and clustering layers still wrote the literal — so those layers kept
* being dropped by MapLibre for exactly the reason written above. MEASURED on countries-map by
* listening to the map's own `error` event, which is the ONLY place it surfaces:
* layers.regions-fill.paint.fill-emissive-strength: unknown property
* layers.regions-border.paint.line-emissive-strength: unknown property
* addLayer() does NOT throw for this — it accepts the call, emits an error event, and silently
* omits the layer. getLayer() then returns undefined and the map simply renders without it, which
* is why it read as "the fills do not paint" rather than as an error.
* @param {object} map the live map instance
* @param {'circle'|'fill'|'line'} [kind='circle']
*/
export function emissivePaint(map, kind = 'circle') {
return isMapboxMap(map) ? { [`${kind}-emissive-strength`]: 1 } : {}
}

View file

@ -28,8 +28,9 @@
* the per-locale message object.
*
* Locale detection priority:
* 1. document.documentElement.lang (set by Polylang on WordPress)
* 2. 'en' fallback
* 1. ?lang= / ?locale= on the URL (a reader or a link can choose)
* 2. document.documentElement.lang (set by Polylang on WordPress)
* 3. 'en' fallback
*
* Missing-key behavior: falls back to English. Missing-locale: whole map renders in English.
*
@ -55,6 +56,27 @@ export const SUPPORTED_LOCALES = ['ar', 'de', 'en', 'es', 'fr', 'hi', 'it', 'pt'
export const RTL_LOCALES = new Set(['ar'])
export function detectLocale() {
// ★ URL FIRST — otherwise the translations are UNREACHABLE in a dropped tree.
// The host page is the intended source (Polylang sets <html lang> on WordPress),
// but EVERY generated leaf page in this repo is hardcoded lang="en": measured
// 2026-09-24, 20 of 20. So on the built/static tree — the jamstack case, which is
// the whole point of these bundles — a reader had no way to reach any of the ten
// non-English locales, and the prayer packet, the card deck and every label
// rendered in English no matter how complete the translation was.
//
// A query parameter is the smallest thing that makes them reachable: it needs no
// per-language page, it is linkable and shareable, and it leaves the host-page
// path intact for WordPress. Both spellings are accepted because both are in use
// across this codebase (`lang` in profile configs, `locale` in the i18n layer),
// and guessing wrong is a silent no-op.
const fromUrl = (() => {
try {
const q = new URLSearchParams(window.location.search)
return (q.get('lang') || q.get('locale') || '').split('-')[0].toLowerCase()
} catch { return '' } // no window (SSR/tests) — fall through
})()
if (SUPPORTED_LOCALES.includes(fromUrl)) return fromUrl
const raw = document?.documentElement?.lang || ''
const code = raw.split('-')[0].toLowerCase()
return SUPPORTED_LOCALES.includes(code) ? code : 'en'
@ -64,10 +86,25 @@ export function detectLocale() {
* Build a fresh i18n instance. Called once per <doxa-map> element.
*/
export function createAppI18n() {
const locale = detectLocale()
// ⚠ REFLECT AN RTL LOCALE ON THE DOCUMENT. Only one component reads RTL_LOCALES
// today (regions' UupgsList), so choosing Arabic would otherwise give Arabic TEXT
// inside a left-to-right layout everywhere else — readable glyphs in the wrong
// place, which reads as a styling quirk rather than the bug it is. The prayer
// packet sets its own dir internally; the app chrome had nothing.
//
// Only ever SET it, never clear it: a host page that already declares dir (a
// WordPress RTL theme) owns that decision, and stomping it to "ltr" for an
// English map embedded in an Arabic page would break the page around us.
try {
if (RTL_LOCALES.has(locale) && document?.documentElement) {
document.documentElement.dir = 'rtl'
}
} catch { /* no document (SSR/tests) — nothing to reflect */ }
return createI18n({
legacy: false,
globalInjection: true,
locale: detectLocale(),
locale,
fallbackLocale: 'en',
messages,
missingWarn: false,

View file

@ -21,5 +21,20 @@
"normal": "عادي",
"fast": "سريع"
},
"shareEmbed": "مشاركة وتضمين"
"shareEmbed": "مشاركة وتضمين",
"posterMap": "خريطة الملصق",
"prayerList": "قائمة الصلاة",
"cardDeck": "مجموعة البطاقات",
"printOptions": "خيارات الطباعة",
"showOnMap": "أظهر على الخريطة",
"close": "إغلاق",
"showOnMapAria": "أظهر {label} على الخريطة",
"share": "مشاركة",
"shareSteps": [
"ضع هذه الخريطة على موقعك",
"أعدّ قائمة بمواقع الويب في مدينتك",
"علّمهم أن يضعوها أيضًا",
"علّمهم أن يعلّموا غيرهم وضعها",
"لنكثر الخرائط في كل مكان ليسوع!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "وسيلة الإيضاح",
"peopleGroupFallback": "مجموعة الشعب"
"peopleGroupFallback": "مجموعة الشعب",
"default": "مفتاح الخريطة"
},
"prayer": {
"needsPrayer": "يحتاج إلى صلاة",
@ -54,4 +55,4 @@
"wagfRegions": "مناطق WAGF",
"languages": "اللغات"
}
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "منطقة WAGF",
"wagfBlock": "كتلة WAGF",
"country": "الدولة",
"uupgCount": "عدد UUPG"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "كتلة WAGF",
"WAGF Region": "منطقة WAGF",
"people groups adopted": "الشعوب المنتمية",
"people groups engaged": "مجموعات بشرية مُنخرِطة"
"people groups engaged": "مجموعات بشرية مُنخرِطة",
"View country posters": "عرض ملصقات الدولة",
"Hide country posters": "إخفاء ملصقات الدولة",
"No poster has been generated for this country yet.": "لم يُنشأ أي ملصق لهذه الدولة بعد."
}

View file

@ -17,5 +17,9 @@
"languageKind": "اللغة",
"dialect": "اللهجة",
"religionKind": "الدين"
},
"sections": {
"within": "ضمن {selection}",
"allData": "كل بيانات DOXA"
}
}
}

View file

@ -21,5 +21,20 @@
"normal": "Normal",
"fast": "Schnell"
},
"shareEmbed": "Teilen und einbetten"
"shareEmbed": "Teilen und einbetten",
"posterMap": "Posterkarte",
"prayerList": "Gebetsliste",
"cardDeck": "Kartenset",
"printOptions": "Druckoptionen",
"showOnMap": "Auf der Karte zeigen",
"close": "Schließen",
"showOnMapAria": "{label} auf der Karte zeigen",
"share": "Teilen",
"shareSteps": [
"Binde diese Karte auf deiner Website ein",
"Erstelle eine Liste der Websites in deiner Stadt",
"Zeige ihnen, wie sie sie ebenfalls einbinden",
"Zeige ihnen, wie sie es anderen beibringen",
"Lasst uns Karten überall vermehren – für Jesus!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Legende",
"peopleGroupFallback": "Volksgruppe"
"peopleGroupFallback": "Volksgruppe",
"default": "Legende"
},
"prayer": {
"needsPrayer": "Braucht Gebet",
@ -33,9 +34,25 @@
},
"columns": {
"upgs": "UUPGs",
"population": "Bevölkerung"
"population": "Bevölkerung",
"name": "Name"
},
"footer": {
"total": "Gesamt"
},
"sortByUpgs": "Nach UUPGs sortieren",
"sortByPop": "Nach Bevölkerung sortieren",
"colLabel": {
"religion": "UUPG-Religionen",
"prayer": "Gebetsstatus",
"engagement": "Engagement-Status",
"adoption": "Adoptionsstatus",
"status": "Status"
},
"titleBar": {
"legend": "Legende",
"peopleGroups": "Völker",
"wagfRegions": "WAGF-Regionen",
"languages": "Sprachen"
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "WAGF-Region",
"wagfBlock": "WAGF-Block",
"country": "Land",
"uupgCount": "Anzahl UUPG"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "WAGF-Block",
"WAGF Region": "WAGF-Region",
"people groups adopted": "adoptierte Volksgruppen",
"people groups engaged": "engagierte Volksgruppen"
"people groups engaged": "engagierte Volksgruppen",
"View country posters": "Länderposter ansehen",
"Hide country posters": "Länderposter ausblenden",
"No poster has been generated for this country yet.": "Für dieses Land wurde noch kein Poster erstellt."
}

View file

@ -9,5 +9,17 @@
"sections": {
"within": "Innerhalb {selection}",
"allData": "Alle DOXA-Daten"
},
"kinds": {
"people": "Volk + Land",
"peopleGroup": "Volk",
"bloc": "Affinitätsblock",
"cluster": "Völkercluster",
"country": "Land",
"region": "Region",
"family": "Sprachfamilie",
"languageKind": "Sprache",
"dialect": "Dialekt",
"religionKind": "Religion"
}
}

View file

@ -29,5 +29,12 @@
"Train them to train others to embed it too",
"Multiply maps everywhere for Jesus!"
],
"share": "Share"
"share": "Share",
"posterMap": "Poster Map",
"prayerList": "Prayer List",
"cardDeck": "Card Deck",
"printOptions": "Print Options",
"showOnMap": "Show on map",
"close": "Close",
"showOnMapAria": "Show {label} on the map"
}

View file

@ -21,5 +21,20 @@
"normal": "Normal",
"fast": "Rápida"
},
"shareEmbed": "Compartir e incrustar"
"shareEmbed": "Compartir e incrustar",
"posterMap": "Mapa del cartel",
"prayerList": "Lista de oración",
"cardDeck": "Baraja de tarjetas",
"printOptions": "Opciones de impresión",
"showOnMap": "Ver en el mapa",
"close": "Cerrar",
"showOnMapAria": "Ver {label} en el mapa",
"share": "Compartir",
"shareSteps": [
"Inserta este mapa en tu sitio",
"Haz una lista de los sitios web de tu ciudad",
"Enséñales a insertarlo también",
"Enséñales a enseñar a otros a insertarlo",
"¡Multiplica los mapas por todas partes para Jesús!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Leyenda",
"peopleGroupFallback": "Grupo de personas"
"peopleGroupFallback": "Grupo de personas",
"default": "Leyenda"
},
"prayer": {
"needsPrayer": "Necesita oración",
@ -54,4 +55,4 @@
"wagfRegions": "Regiones WAGF",
"languages": "Idiomas"
}
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "Región WAGF",
"wagfBlock": "Bloque WAGF",
"country": "País",
"uupgCount": "Número de UUPG"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "Bloque WAGF",
"WAGF Region": "Región de la WAGF",
"people groups adopted": "grupos de personas adoptados",
"people groups engaged": "grupos étnicos comprometidos"
"people groups engaged": "grupos étnicos comprometidos",
"View country posters": "Ver los carteles del país",
"Hide country posters": "Ocultar los carteles del país",
"No poster has been generated for this country yet.": "Todavía no se ha generado ningún cartel para este país."
}

View file

@ -17,5 +17,9 @@
"languageKind": "Idioma",
"dialect": "Dialecto",
"religionKind": "Religión"
},
"sections": {
"within": "Dentro de {selection}",
"allData": "Todos los datos DOXA"
}
}
}

View file

@ -21,5 +21,20 @@
"normal": "Normale",
"fast": "Rapide"
},
"shareEmbed": "Partager et intégrer"
"shareEmbed": "Partager et intégrer",
"posterMap": "Carte de l'affiche",
"prayerList": "Liste de prière",
"cardDeck": "Jeu de cartes",
"printOptions": "Options d'impression",
"showOnMap": "Voir sur la carte",
"close": "Fermer",
"showOnMapAria": "Voir {label} sur la carte",
"share": "Partager",
"shareSteps": [
"Intégrez cette carte à votre site",
"Dressez la liste des sites web de votre ville",
"Apprenez-leur à l’intégrer aussi",
"Apprenez-leur à former d’autres personnes à l’intégrer",
"Multiplions les cartes partout pour Jésus !"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Légende",
"peopleGroupFallback": "Groupe de personnes"
"peopleGroupFallback": "Groupe de personnes",
"default": "Légende"
},
"prayer": {
"needsPrayer": "Besoin de prière",
@ -54,4 +55,4 @@
"wagfRegions": "Régions WAGF",
"languages": "Langues"
}
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "Bloc WAGF",
"WAGF Region": "Région WAGF",
"people groups adopted": "peuples adoptés",
"people groups engaged": "peuples engagés"
"people groups engaged": "peuples engagés",
"View country posters": "Voir les affiches du pays",
"Hide country posters": "Masquer les affiches du pays",
"No poster has been generated for this country yet.": "Aucune affiche n'a encore été générée pour ce pays."
}

View file

@ -17,5 +17,9 @@
"languageKind": "Langue",
"dialect": "Dialecte",
"religionKind": "Religion"
},
"sections": {
"within": "Dans {selection}",
"allData": "Toutes les données DOXA"
}
}
}

View file

@ -21,5 +21,20 @@
"normal": "सामान्य",
"fast": "तेज़"
},
"shareEmbed": "साझा करें और एम्बेड करें"
"shareEmbed": "साझा करें और एम्बेड करें",
"posterMap": "पोस्टर मानचित्र",
"prayerList": "प्रार्थना सूची",
"cardDeck": "कार्ड सेट",
"printOptions": "छपाई विकल्प",
"showOnMap": "मानचित्र पर देखें",
"close": "बंद करें",
"showOnMapAria": "{label} को मानचित्र पर देखें",
"share": "साझा करें",
"shareSteps": [
"इस मानचित्र को अपनी वेबसाइट पर लगाएँ",
"अपने शहर की वेबसाइटों की सूची बनाएँ",
"उन्हें भी इसे लगाना सिखाएँ",
"उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ",
"यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "किंवदंती",
"peopleGroupFallback": "जनजाति समूह"
"peopleGroupFallback": "जनजाति समूह",
"default": "सूचकांक"
},
"prayer": {
"needsPrayer": "प्रार्थना चाहिए",
@ -33,9 +34,25 @@
},
"columns": {
"upgs": "UUPGs",
"population": "जनसंख्या"
"population": "जनसंख्या",
"name": "नाम"
},
"footer": {
"total": "कुल"
},
"sortByUpgs": "UUPG के अनुसार क्रमबद्ध करें",
"sortByPop": "जनसंख्या के अनुसार क्रमबद्ध करें",
"colLabel": {
"religion": "UUPG धर्म",
"prayer": "प्रार्थना स्थिति",
"engagement": "सहभागिता स्थिति",
"adoption": "गोद लेने की स्थिति",
"status": "स्थिति"
},
"titleBar": {
"legend": "सूचकांक",
"peopleGroups": "जनसमूह",
"wagfRegions": "WAGF क्षेत्र",
"languages": "भाषाएँ"
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "WAGF क्षेत्र",
"wagfBlock": "WAGF ब्लॉक",
"country": "देश",
"uupgCount": "UUPG संख्या"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "WAGF ब्लॉक",
"WAGF Region": "डब्ल्यूएजीएफ क्षेत्र",
"people groups adopted": "लोगों के समूहों ने अपनाया",
"people groups engaged": "प्रवेशित लोगों के समूह"
"people groups engaged": "प्रवेशित लोगों के समूह",
"View country posters": "देश के पोस्टर देखें",
"Hide country posters": "देश के पोस्टर छिपाएँ",
"No poster has been generated for this country yet.": "इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"
}

View file

@ -5,5 +5,21 @@
"place": "स्थान:",
"language": "भाषा:",
"religion": "धर्म:"
},
"sections": {
"within": "{selection} के भीतर",
"allData": "सभी DOXA डेटा"
},
"kinds": {
"people": "जनसमूह + देश",
"peopleGroup": "जनसमूह",
"bloc": "समानता समूह",
"cluster": "जनसमूह क्लस्टर",
"country": "देश",
"region": "क्षेत्र",
"family": "भाषा परिवार",
"languageKind": "भाषा",
"dialect": "बोली",
"religionKind": "धर्म"
}
}

View file

@ -0,0 +1,20 @@
{
"prayer": "प्रार्थना",
"adoption": "गोद लेना",
"engagement": "सहभागिता",
"affinity-blocks": "जनसमूह",
"regions": "क्षेत्र",
"countries": "देश",
"language-families": "भाषाएँ",
"religion": "धर्म",
"family": "भाषा परिवार",
"language": "भाषा",
"dialect": "बोली/रूप",
"bloc": "समानता समूह",
"cluster": "क्लस्टर",
"group": "जनसमूह",
"pgic": "देश में जनसमूह",
"region": "WAGF क्षेत्र",
"block": "WAGF ब्लॉक",
"country": "देश"
}

View file

@ -21,5 +21,20 @@
"normal": "Normale",
"fast": "Veloce"
},
"shareEmbed": "Condividi e incorpora"
"shareEmbed": "Condividi e incorpora",
"posterMap": "Mappa del poster",
"prayerList": "Lista di preghiera",
"cardDeck": "Mazzo di carte",
"printOptions": "Opzioni di stampa",
"showOnMap": "Mostra sulla mappa",
"close": "Chiudi",
"showOnMapAria": "Mostra {label} sulla mappa",
"share": "Condividi",
"shareSteps": [
"Incorpora questa mappa nel tuo sito",
"Fai un elenco dei siti web della tua città",
"Insegna loro a incorporarla a loro volta",
"Insegna loro a formare altri a incorporarla",
"Moltiplichiamo le mappe ovunque per Gesù!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Legenda",
"peopleGroupFallback": "Gruppo di persone"
"peopleGroupFallback": "Gruppo di persone",
"default": "Legenda"
},
"prayer": {
"needsPrayer": "Necessita preghiera",

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "Regione WAGF",
"wagfBlock": "Blocco WAGF",
"country": "Paese",
"uupgCount": "Numero di UUPG"
}
}

View file

@ -5,5 +5,9 @@
"place": "Luogo:",
"language": "Lingua:",
"religion": "Religione:"
},
"sections": {
"within": "In {selection}",
"allData": "Tutti i dati DOXA"
}
}

View file

@ -21,5 +21,20 @@
"normal": "Normal",
"fast": "Rápida"
},
"shareEmbed": "Partilhar e incorporar"
"shareEmbed": "Partilhar e incorporar",
"posterMap": "Mapa do cartaz",
"prayerList": "Lista de oração",
"cardDeck": "Baralho de cartões",
"printOptions": "Opções de impressão",
"showOnMap": "Ver no mapa",
"close": "Fechar",
"showOnMapAria": "Ver {label} no mapa",
"share": "Partilhar",
"shareSteps": [
"Incorpore este mapa no seu site",
"Faça uma lista dos sites da sua cidade",
"Ensine-os a incorporá-lo também",
"Ensine-os a ensinar outros a incorporá-lo",
"Multipliquemos mapas por toda a parte para Jesus!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Legenda",
"peopleGroupFallback": "Grupo de pessoas"
"peopleGroupFallback": "Grupo de pessoas",
"default": "Legenda"
},
"prayer": {
"needsPrayer": "Precisa de oração",
@ -54,4 +55,4 @@
"wagfRegions": "Regiões WAGF",
"languages": "Idiomas"
}
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "Região WAGF",
"wagfBlock": "Bloco WAGF",
"country": "País",
"uupgCount": "Número de UUPG"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "Bloco WAGF",
"WAGF Region": "Região da WAGF",
"people groups adopted": "grupos étnicos adotados",
"people groups engaged": "grupos étnicos engajados"
"people groups engaged": "grupos étnicos engajados",
"View country posters": "Ver os cartazes do país",
"Hide country posters": "Ocultar os cartazes do país",
"No poster has been generated for this country yet.": "Ainda não foi gerado nenhum cartaz para este país."
}

View file

@ -17,5 +17,9 @@
"languageKind": "Idioma",
"dialect": "Dialeto",
"religionKind": "Religião"
},
"sections": {
"within": "Dentro de {selection}",
"allData": "Todos os dados DOXA"
}
}
}

View file

@ -21,5 +21,20 @@
"normal": "Normal",
"fast": "Rapid"
},
"shareEmbed": "Partajează și încorporează"
"shareEmbed": "Partajează și încorporează",
"posterMap": "Harta afișului",
"prayerList": "Listă de rugăciune",
"cardDeck": "Pachet de cartonașe",
"printOptions": "Opțiuni de tipărire",
"showOnMap": "Arată pe hartă",
"close": "Închide",
"showOnMapAria": "Arată {label} pe hartă",
"share": "Distribuie",
"shareSteps": [
"Încorporează această hartă pe site-ul tău",
"Fă o listă cu site-urile din orașul tău",
"Învață-i să o încorporeze și ei",
"Învață-i să îi formeze pe alții să o încorporeze",
"Să multiplicăm hărți pretutindeni pentru Isus!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Legendă",
"peopleGroupFallback": "Grup de popoare"
"peopleGroupFallback": "Grup de popoare",
"default": "Legendă"
},
"prayer": {
"needsPrayer": "Necesită rugăciune",

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "Regiunea WAGF",
"wagfBlock": "Blocul WAGF",
"country": "Țară",
"uupgCount": "Număr de UUPG"
}
}

View file

@ -5,5 +5,9 @@
"place": "Loc:",
"language": "Limbă:",
"religion": "Religie:"
},
"sections": {
"within": "În {selection}",
"allData": "Toate datele DOXA"
}
}

View file

@ -21,5 +21,20 @@
"normal": "Нормально",
"fast": "Быстро"
},
"shareEmbed": "Поделиться и встроить"
"shareEmbed": "Поделиться и встроить",
"posterMap": "Карта плаката",
"prayerList": "Молитвенный список",
"cardDeck": "Набор карточек",
"printOptions": "Параметры печати",
"showOnMap": "Показать на карте",
"close": "Закрыть",
"showOnMapAria": "Показать {label} на карте",
"share": "Поделиться",
"shareSteps": [
"Разместите эту карту на своём сайте",
"Составьте список сайтов вашего города",
"Научите их тоже размещать её",
"Научите их учить других размещать её",
"Умножим карты повсюду для Иисуса!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "Условные обозначения",
"peopleGroupFallback": "Народная группа"
"peopleGroupFallback": "Народная группа",
"default": "Легенда"
},
"prayer": {
"needsPrayer": "Нуждается в молитве",
@ -54,4 +55,4 @@
"wagfRegions": "Регионы WAGF",
"languages": "Языки"
}
}
}

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "Регион WAGF",
"wagfBlock": "Блок WAGF",
"country": "Страна",
"uupgCount": "Число UUPG"
}
}

View file

@ -49,5 +49,8 @@
"WAGF Block": "Блок WAGF",
"WAGF Region": "Регион WAGF",
"people groups adopted": "принятые группы людей",
"people groups engaged": "вовлечённые группы людей"
"people groups engaged": "вовлечённые группы людей",
"View country posters": "Показать плакаты страны",
"Hide country posters": "Скрыть плакаты страны",
"No poster has been generated for this country yet.": "Для этой страны плакат ещё не создан."
}

View file

@ -17,5 +17,9 @@
"languageKind": "Язык",
"dialect": "Диалект",
"religionKind": "Религия"
},
"sections": {
"within": "В пределах {selection}",
"allData": "Все данные DOXA"
}
}
}

View file

@ -21,5 +21,20 @@
"normal": "正常",
"fast": "快"
},
"shareEmbed": "分享与嵌入"
"shareEmbed": "分享与嵌入",
"posterMap": "海报地图",
"prayerList": "禱告名單",
"cardDeck": "禱告卡組",
"printOptions": "列印選項",
"showOnMap": "在地圖上顯示",
"close": "關閉",
"showOnMapAria": "在地圖上顯示 {label}",
"share": "分享",
"shareSteps": [
"把這張地圖嵌入你的網站",
"列出你城市裡的網站",
"教他們也嵌入這張地圖",
"教他們去教別人嵌入",
"為耶穌讓地圖遍地繁增!"
]
}

View file

@ -10,7 +10,8 @@
},
"header": {
"collapsed": "图例",
"peopleGroupFallback": "民族群体"
"peopleGroupFallback": "民族群体",
"default": "圖例"
},
"prayer": {
"needsPrayer": "需要祷告",

View file

@ -0,0 +1,8 @@
{
"country": {
"wagfRegion": "WAGF 地區",
"wagfBlock": "WAGF 區塊",
"country": "國家",
"uupgCount": "UUPG 數量"
}
}

View file

@ -5,5 +5,9 @@
"place": "地点:",
"language": "语言:",
"religion": "宗教:"
},
"sections": {
"within": "在 {selection} 之內",
"allData": "所有 DOXA 資料"
}
}

View file

@ -58,6 +58,8 @@
"check:card-deck": "node internal/check-card-deck.mjs",
"check:poster-raster": "node internal/check-poster-raster.mjs",
"check:deck-click": "node internal/check-deck-click.mjs",
"check:i18n-parity": "node internal/check-i18n-parity.mjs",
"check:locale-reachable": "node internal/check-locale-reachable.mjs",
"check:poster-prints": "node internal/check-poster-prints.mjs",
"check:provider-switch": "node internal/check-provider-switch.mjs",
"check:mfe-two-tab": "node internal/check-mfe-two-tab.mjs",

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <country-posters-map> custom element. -->
<script src="../country-posters.js" integrity="sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk" crossorigin="anonymous"></script>
<script src="../country-posters.js" integrity="sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL" 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 <country-posters-map> custom element. -->
<script src="../country-posters.js" integrity="sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk" crossorigin="anonymous"></script>
<script src="../country-posters.js" integrity="sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <country-posters-map> custom element. -->
<script src="../country-posters.js" integrity="sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk" crossorigin="anonymous"></script>
<script src="../country-posters.js" integrity="sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <demo-map> custom element. -->
<script src="../demo-map.js" integrity="sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH" crossorigin="anonymous"></script>
<script src="../demo-map.js" integrity="sha384-+aEpWfFa/yJvg6qOQxu7t9o1mAe++yST9CTjaF5UTsZ9pCzRrl5BE6gm+QJ3AP9D" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -27,7 +27,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <demo-map> custom element. -->
<script src="../../demo-map.js" integrity="sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH" crossorigin="anonymous"></script>
<script src="../../demo-map.js" integrity="sha384-+aEpWfFa/yJvg6qOQxu7t9o1mAe++yST9CTjaF5UTsZ9pCzRrl5BE6gm+QJ3AP9D" 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

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-research-map> custom element. -->
<script src="../doxa-research-map.js" integrity="sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp" crossorigin="anonymous"></script>
<script src="../doxa-research-map.js" integrity="sha384-QHTlLYAT2mWYJuKfQqitHlB5ytrK32gq5yyzVSPO+msrvxepJin2TIrpzYVoICEd" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -27,7 +27,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-research-map> custom element. -->
<script src="../../doxa-research-map.js" integrity="sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp" crossorigin="anonymous"></script>
<script src="../../doxa-research-map.js" integrity="sha384-QHTlLYAT2mWYJuKfQqitHlB5ytrK32gq5yyzVSPO+msrvxepJin2TIrpzYVoICEd" 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

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
<script src="../../doxa-simple-map.js" integrity="sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC" crossorigin="anonymous"></script>
<script src="../../doxa-simple-map.js" integrity="sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
<script src="../../doxa-simple-map.js" integrity="sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC" crossorigin="anonymous"></script>
<script src="../../doxa-simple-map.js" integrity="sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
<script src="../doxa-simple-map.js" integrity="sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC" crossorigin="anonymous"></script>
<script src="../doxa-simple-map.js" integrity="sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
<script src="../../doxa-simple-map.js" integrity="sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC" crossorigin="anonymous"></script>
<script src="../../doxa-simple-map.js" integrity="sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -154,7 +154,7 @@
"bundle": "country-posters",
"scriptUrl": "./country-posters/country-posters.js",
"output": "doxa-maps/country-posters/country-posters.js",
"integrity": "sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk",
"integrity": "sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL",
"elements": [
"country-posters-map"
],
@ -174,7 +174,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "<iframe src=\"./country-posters/countries-map/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=\"./country-posters/country-posters.js\" integrity=\"sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
}
},
{
@ -188,7 +188,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "<iframe src=\"./country-posters/country-poster-wall/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=\"./country-posters/country-posters.js\" integrity=\"sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
}
},
{
@ -202,7 +202,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "<iframe src=\"./country-posters/country-posters-mfe/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=\"./country-posters/country-posters.js\" integrity=\"sha384-XR0q0Rq4Uy+Ivttgq3+NsAtNNQJU6r3ktQTxdfjF2HEjwpbQZTxXyeqJhFb8wJVk\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-Z7IRA4C9k/DqOqTsH1yQpr4Zqg545clZqbVRLmFQVRHhsk3KzLQ/mEvMgLMfJ6DL\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
}
}
]
@ -255,7 +255,7 @@
"bundle": "demo-map",
"scriptUrl": "./demo-map/demo-map.js",
"output": "doxa-maps/demo-map/demo-map.js",
"integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH",
"integrity": "sha384-+aEpWfFa/yJvg6qOQxu7t9o1mAe++yST9CTjaF5UTsZ9pCzRrl5BE6gm+QJ3AP9D",
"elements": [
"demo-map"
],
@ -271,7 +271,7 @@
"scriptUrl": "./demo-map/demo-map.js",
"embed": {
"iframe": "<iframe src=\"./demo-map/demo-map/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=\"./demo-map/demo-map.js\" integrity=\"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH\" crossorigin=\"anonymous\"></script>\n<demo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></demo-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./demo-map/demo-map.js\" integrity=\"sha384-+aEpWfFa/yJvg6qOQxu7t9o1mAe++yST9CTjaF5UTsZ9pCzRrl5BE6gm+QJ3AP9D\" crossorigin=\"anonymous\"></script>\n<demo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></demo-map>"
},
"instances": [
{
@ -349,7 +349,7 @@
"bundle": "doxa-research-map",
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"output": "doxa-maps/doxa-research-map/doxa-research-map.js",
"integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp",
"integrity": "sha384-QHTlLYAT2mWYJuKfQqitHlB5ytrK32gq5yyzVSPO+msrvxepJin2TIrpzYVoICEd",
"elements": [
"doxa-research-map"
],
@ -365,7 +365,7 @@
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"embed": {
"iframe": "<iframe src=\"./doxa-research-map/research-map/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-research-map/doxa-research-map.js\" integrity=\"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp\" crossorigin=\"anonymous\"></script>\n<doxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-research-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-QHTlLYAT2mWYJuKfQqitHlB5ytrK32gq5yyzVSPO+msrvxepJin2TIrpzYVoICEd\" crossorigin=\"anonymous\"></script>\n<doxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-research-map>"
},
"instances": [
{
@ -391,7 +391,7 @@
"bundle": "doxa-simple-map",
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"output": "doxa-maps/doxa-simple-map/doxa-simple-map.js",
"integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC",
"integrity": "sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP",
"elements": [
"doxa-map",
"doxa-simple-map"
@ -408,7 +408,7 @@
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"embed": {
"iframe": "<iframe src=\"./doxa-simple-map/doxa-simple-map/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-simple-map/doxa-simple-map.js\" integrity=\"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC\" crossorigin=\"anonymous\"></script>\n<doxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-wFf3nEfDtX5mS6fVXUzTxi276eyj+V8cwlQGePMqoL9D4HzVmDta4Zns5oXv25HP\" crossorigin=\"anonymous\"></script>\n<doxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></doxa-map>"
},
"instances": [
{
@ -658,7 +658,7 @@
"bundle": "my-upg-100-list",
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"output": "doxa-maps/my-upg-100-list/my-upg-100-list.js",
"integrity": "sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g",
"integrity": "sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj",
"elements": [
"my-upg-100-list-map"
],
@ -678,7 +678,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/poster-wall/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=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
},
{
@ -692,7 +692,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-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=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
},
{
@ -706,7 +706,7 @@
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
"embed": {
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-mfe/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=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
}
}
]
@ -856,7 +856,7 @@
"bundle": "regions-dashboard",
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"output": "doxa-maps/regions-dashboard/regions-dashboard.js",
"integrity": "sha384-S0NHU9F6BHe9YAxwmhnGkjbwlu6Iha20I9BYF9Tq5h8Mez1ag4TCQO2lng1xM6Xl",
"integrity": "sha384-eL6693hPLbKK0icPn0mXmueTCwYZuRdOUuctnLjcX1hb5u5sKdXYKtPnI0vC17MQ",
"elements": [
"regions-dashboard"
],
@ -876,7 +876,7 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/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=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-S0NHU9F6BHe9YAxwmhnGkjbwlu6Iha20I9BYF9Tq5h8Mez1ag4TCQO2lng1xM6Xl\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-eL6693hPLbKK0icPn0mXmueTCwYZuRdOUuctnLjcX1hb5u5sKdXYKtPnI0vC17MQ\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
}
},
{
@ -890,7 +890,7 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "<iframe src=\"./regions-dashboard/regions-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=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-S0NHU9F6BHe9YAxwmhnGkjbwlu6Iha20I9BYF9Tq5h8Mez1ag4TCQO2lng1xM6Xl\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-eL6693hPLbKK0icPn0mXmueTCwYZuRdOUuctnLjcX1hb5u5sKdXYKtPnI0vC17MQ\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
}
},
{
@ -904,7 +904,7 @@
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
"embed": {
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/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=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-S0NHU9F6BHe9YAxwmhnGkjbwlu6Iha20I9BYF9Tq5h8Mez1ag4TCQO2lng1xM6Xl\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-eL6693hPLbKK0icPn0mXmueTCwYZuRdOUuctnLjcX1hb5u5sKdXYKtPnI0vC17MQ\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
}
}
]

File diff suppressed because one or more lines are too long

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
<script src="../my-upg-100-list.js" integrity="sha384-Ej+g06Za6ycJVU7jiduRD2BxYmc5BVxj+CgbSilao4zU2CvutTxaX910/k6p033g" crossorigin="anonymous"></script>
<script src="../my-upg-100-list.js" integrity="sha384-XcIjA6UzTOBqlUy2KB/3QHmey94R/qj7iC0CYzA/7oL54R/o28IUo7ZnX0F3sBdj" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
<script src="../regions-dashboard.js" integrity="sha384-S0NHU9F6BHe9YAxwmhnGkjbwlu6Iha20I9BYF9Tq5h8Mez1ag4TCQO2lng1xM6Xl" crossorigin="anonymous"></script>
<script src="../regions-dashboard.js" integrity="sha384-eL6693hPLbKK0icPn0mXmueTCwYZuRdOUuctnLjcX1hb5u5sKdXYKtPnI0vC17MQ" 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

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

View file

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