Merge main into bundler-1/work (regenerate the tree, re-hash)
Some checks are pending
build-gate / build (push) Waiting to run
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:
commit
66c4d3163b
83 changed files with 1139 additions and 497 deletions
112
internal/check-i18n-parity.mjs
Normal file
112
internal/check-i18n-parity.mjs
Normal 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.`)
|
||||
98
internal/check-locale-reachable.mjs
Normal file
98
internal/check-locale-reachable.mjs
Normal 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.`)
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 (_) {
|
||||
|
|
|
|||
|
|
@ -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: {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 } : {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -21,5 +21,20 @@
|
|||
"normal": "عادي",
|
||||
"fast": "سريع"
|
||||
},
|
||||
"shareEmbed": "مشاركة وتضمين"
|
||||
"shareEmbed": "مشاركة وتضمين",
|
||||
"posterMap": "خريطة الملصق",
|
||||
"prayerList": "قائمة الصلاة",
|
||||
"cardDeck": "مجموعة البطاقات",
|
||||
"printOptions": "خيارات الطباعة",
|
||||
"showOnMap": "أظهر على الخريطة",
|
||||
"close": "إغلاق",
|
||||
"showOnMapAria": "أظهر {label} على الخريطة",
|
||||
"share": "مشاركة",
|
||||
"shareSteps": [
|
||||
"ضع هذه الخريطة على موقعك",
|
||||
"أعدّ قائمة بمواقع الويب في مدينتك",
|
||||
"علّمهم أن يضعوها أيضًا",
|
||||
"علّمهم أن يعلّموا غيرهم وضعها",
|
||||
"لنكثر الخرائط في كل مكان ليسوع!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
},
|
||||
"header": {
|
||||
"collapsed": "وسيلة الإيضاح",
|
||||
"peopleGroupFallback": "مجموعة الشعب"
|
||||
"peopleGroupFallback": "مجموعة الشعب",
|
||||
"default": "مفتاح الخريطة"
|
||||
},
|
||||
"prayer": {
|
||||
"needsPrayer": "يحتاج إلى صلاة",
|
||||
|
|
@ -54,4 +55,4 @@
|
|||
"wagfRegions": "مناطق WAGF",
|
||||
"languages": "اللغات"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/ar/popup.json
Normal file
8
library/i18n/locales/ar/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "منطقة WAGF",
|
||||
"wagfBlock": "كتلة WAGF",
|
||||
"country": "الدولة",
|
||||
"uupgCount": "عدد UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -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.": "لم يُنشأ أي ملصق لهذه الدولة بعد."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,9 @@
|
|||
"languageKind": "اللغة",
|
||||
"dialect": "اللهجة",
|
||||
"religionKind": "الدين"
|
||||
},
|
||||
"sections": {
|
||||
"within": "ضمن {selection}",
|
||||
"allData": "كل بيانات DOXA"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/de/popup.json
Normal file
8
library/i18n/locales/de/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "WAGF-Region",
|
||||
"wagfBlock": "WAGF-Block",
|
||||
"country": "Land",
|
||||
"uupgCount": "Anzahl UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -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."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/es/popup.json
Normal file
8
library/i18n/locales/es/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "Región WAGF",
|
||||
"wagfBlock": "Bloque WAGF",
|
||||
"country": "País",
|
||||
"uupgCount": "Número de UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -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."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,9 @@
|
|||
"languageKind": "Idioma",
|
||||
"dialect": "Dialecto",
|
||||
"religionKind": "Religión"
|
||||
},
|
||||
"sections": {
|
||||
"within": "Dentro de {selection}",
|
||||
"allData": "Todos los datos DOXA"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 !"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,9 @@
|
|||
"languageKind": "Langue",
|
||||
"dialect": "Dialecte",
|
||||
"religionKind": "Religion"
|
||||
},
|
||||
"sections": {
|
||||
"within": "Dans {selection}",
|
||||
"allData": "Toutes les données DOXA"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,5 +21,20 @@
|
|||
"normal": "सामान्य",
|
||||
"fast": "तेज़"
|
||||
},
|
||||
"shareEmbed": "साझा करें और एम्बेड करें"
|
||||
"shareEmbed": "साझा करें और एम्बेड करें",
|
||||
"posterMap": "पोस्टर मानचित्र",
|
||||
"prayerList": "प्रार्थना सूची",
|
||||
"cardDeck": "कार्ड सेट",
|
||||
"printOptions": "छपाई विकल्प",
|
||||
"showOnMap": "मानचित्र पर देखें",
|
||||
"close": "बंद करें",
|
||||
"showOnMapAria": "{label} को मानचित्र पर देखें",
|
||||
"share": "साझा करें",
|
||||
"shareSteps": [
|
||||
"इस मानचित्र को अपनी वेबसाइट पर लगाएँ",
|
||||
"अपने शहर की वेबसाइटों की सूची बनाएँ",
|
||||
"उन्हें भी इसे लगाना सिखाएँ",
|
||||
"उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ",
|
||||
"यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": "भाषाएँ"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/hi/popup.json
Normal file
8
library/i18n/locales/hi/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "WAGF क्षेत्र",
|
||||
"wagfBlock": "WAGF ब्लॉक",
|
||||
"country": "देश",
|
||||
"uupgCount": "UUPG संख्या"
|
||||
}
|
||||
}
|
||||
|
|
@ -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.": "इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,5 +5,21 @@
|
|||
"place": "स्थान:",
|
||||
"language": "भाषा:",
|
||||
"religion": "धर्म:"
|
||||
},
|
||||
"sections": {
|
||||
"within": "{selection} के भीतर",
|
||||
"allData": "सभी DOXA डेटा"
|
||||
},
|
||||
"kinds": {
|
||||
"people": "जनसमूह + देश",
|
||||
"peopleGroup": "जनसमूह",
|
||||
"bloc": "समानता समूह",
|
||||
"cluster": "जनसमूह क्लस्टर",
|
||||
"country": "देश",
|
||||
"region": "क्षेत्र",
|
||||
"family": "भाषा परिवार",
|
||||
"languageKind": "भाषा",
|
||||
"dialect": "बोली",
|
||||
"religionKind": "धर्म"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
20
library/i18n/locales/hi/tabs.json
Normal file
20
library/i18n/locales/hi/tabs.json
Normal 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": "देश"
|
||||
}
|
||||
|
|
@ -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ù!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
},
|
||||
"header": {
|
||||
"collapsed": "Legenda",
|
||||
"peopleGroupFallback": "Gruppo di persone"
|
||||
"peopleGroupFallback": "Gruppo di persone",
|
||||
"default": "Legenda"
|
||||
},
|
||||
"prayer": {
|
||||
"needsPrayer": "Necessita preghiera",
|
||||
|
|
|
|||
8
library/i18n/locales/it/popup.json
Normal file
8
library/i18n/locales/it/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "Regione WAGF",
|
||||
"wagfBlock": "Blocco WAGF",
|
||||
"country": "Paese",
|
||||
"uupgCount": "Numero di UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -5,5 +5,9 @@
|
|||
"place": "Luogo:",
|
||||
"language": "Lingua:",
|
||||
"religion": "Religione:"
|
||||
},
|
||||
"sections": {
|
||||
"within": "In {selection}",
|
||||
"allData": "Tutti i dati DOXA"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/pt/popup.json
Normal file
8
library/i18n/locales/pt/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "Região WAGF",
|
||||
"wagfBlock": "Bloco WAGF",
|
||||
"country": "País",
|
||||
"uupgCount": "Número de UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -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."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,9 @@
|
|||
"languageKind": "Idioma",
|
||||
"dialect": "Dialeto",
|
||||
"religionKind": "Religião"
|
||||
},
|
||||
"sections": {
|
||||
"within": "Dentro de {selection}",
|
||||
"allData": "Todos os dados DOXA"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
},
|
||||
"header": {
|
||||
"collapsed": "Legendă",
|
||||
"peopleGroupFallback": "Grup de popoare"
|
||||
"peopleGroupFallback": "Grup de popoare",
|
||||
"default": "Legendă"
|
||||
},
|
||||
"prayer": {
|
||||
"needsPrayer": "Necesită rugăciune",
|
||||
|
|
|
|||
8
library/i18n/locales/ro/popup.json
Normal file
8
library/i18n/locales/ro/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "Regiunea WAGF",
|
||||
"wagfBlock": "Blocul WAGF",
|
||||
"country": "Țară",
|
||||
"uupgCount": "Număr de UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -5,5 +5,9 @@
|
|||
"place": "Loc:",
|
||||
"language": "Limbă:",
|
||||
"religion": "Religie:"
|
||||
},
|
||||
"sections": {
|
||||
"within": "În {selection}",
|
||||
"allData": "Toate datele DOXA"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,5 +21,20 @@
|
|||
"normal": "Нормально",
|
||||
"fast": "Быстро"
|
||||
},
|
||||
"shareEmbed": "Поделиться и встроить"
|
||||
"shareEmbed": "Поделиться и встроить",
|
||||
"posterMap": "Карта плаката",
|
||||
"prayerList": "Молитвенный список",
|
||||
"cardDeck": "Набор карточек",
|
||||
"printOptions": "Параметры печати",
|
||||
"showOnMap": "Показать на карте",
|
||||
"close": "Закрыть",
|
||||
"showOnMapAria": "Показать {label} на карте",
|
||||
"share": "Поделиться",
|
||||
"shareSteps": [
|
||||
"Разместите эту карту на своём сайте",
|
||||
"Составьте список сайтов вашего города",
|
||||
"Научите их тоже размещать её",
|
||||
"Научите их учить других размещать её",
|
||||
"Умножим карты повсюду для Иисуса!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
},
|
||||
"header": {
|
||||
"collapsed": "Условные обозначения",
|
||||
"peopleGroupFallback": "Народная группа"
|
||||
"peopleGroupFallback": "Народная группа",
|
||||
"default": "Легенда"
|
||||
},
|
||||
"prayer": {
|
||||
"needsPrayer": "Нуждается в молитве",
|
||||
|
|
@ -54,4 +55,4 @@
|
|||
"wagfRegions": "Регионы WAGF",
|
||||
"languages": "Языки"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
library/i18n/locales/ru/popup.json
Normal file
8
library/i18n/locales/ru/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "Регион WAGF",
|
||||
"wagfBlock": "Блок WAGF",
|
||||
"country": "Страна",
|
||||
"uupgCount": "Число UUPG"
|
||||
}
|
||||
}
|
||||
|
|
@ -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.": "Для этой страны плакат ещё не создан."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,5 +17,9 @@
|
|||
"languageKind": "Язык",
|
||||
"dialect": "Диалект",
|
||||
"religionKind": "Религия"
|
||||
},
|
||||
"sections": {
|
||||
"within": "В пределах {selection}",
|
||||
"allData": "Все данные DOXA"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,5 +21,20 @@
|
|||
"normal": "正常",
|
||||
"fast": "快"
|
||||
},
|
||||
"shareEmbed": "分享与嵌入"
|
||||
"shareEmbed": "分享与嵌入",
|
||||
"posterMap": "海报地图",
|
||||
"prayerList": "禱告名單",
|
||||
"cardDeck": "禱告卡組",
|
||||
"printOptions": "列印選項",
|
||||
"showOnMap": "在地圖上顯示",
|
||||
"close": "關閉",
|
||||
"showOnMapAria": "在地圖上顯示 {label}",
|
||||
"share": "分享",
|
||||
"shareSteps": [
|
||||
"把這張地圖嵌入你的網站",
|
||||
"列出你城市裡的網站",
|
||||
"教他們也嵌入這張地圖",
|
||||
"教他們去教別人嵌入",
|
||||
"為耶穌讓地圖遍地繁增!"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
},
|
||||
"header": {
|
||||
"collapsed": "图例",
|
||||
"peopleGroupFallback": "民族群体"
|
||||
"peopleGroupFallback": "民族群体",
|
||||
"default": "圖例"
|
||||
},
|
||||
"prayer": {
|
||||
"needsPrayer": "需要祷告",
|
||||
|
|
|
|||
8
library/i18n/locales/zh/popup.json
Normal file
8
library/i18n/locales/zh/popup.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"country": {
|
||||
"wagfRegion": "WAGF 地區",
|
||||
"wagfBlock": "WAGF 區塊",
|
||||
"country": "國家",
|
||||
"uupgCount": "UUPG 數量"
|
||||
}
|
||||
}
|
||||
|
|
@ -5,5 +5,9 @@
|
|||
"place": "地点:",
|
||||
"language": "语言:",
|
||||
"religion": "宗教:"
|
||||
},
|
||||
"sections": {
|
||||
"within": "在 {selection} 之內",
|
||||
"allData": "所有 DOXA 資料"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
214
public/doxa-maps/country-posters/country-posters.js
generated
214
public/doxa-maps/country-posters/country-posters.js
generated
File diff suppressed because one or more lines are too long
40
public/doxa-maps/demo-map/demo-map.js
generated
40
public/doxa-maps/demo-map/demo-map.js
generated
File diff suppressed because one or more lines are too long
2
public/doxa-maps/demo-map/demo-map/index.html
generated
2
public/doxa-maps/demo-map/demo-map/index.html
generated
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
58
public/doxa-maps/doxa-simple-map/doxa-simple-map.js
generated
58
public/doxa-maps/doxa-simple-map/doxa-simple-map.js
generated
File diff suppressed because one or more lines are too long
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
2
public/doxa-maps/index.html
generated
2
public/doxa-maps/index.html
generated
File diff suppressed because one or more lines are too long
130
public/doxa-maps/key-cities/key-cities.js
generated
130
public/doxa-maps/key-cities/key-cities.js
generated
File diff suppressed because one or more lines are too long
36
public/doxa-maps/manifest.json
generated
36
public/doxa-maps/manifest.json
generated
|
|
@ -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>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
126
public/doxa-maps/my-upg-100-list/my-upg-100-list.js
generated
126
public/doxa-maps/my-upg-100-list/my-upg-100-list.js
generated
File diff suppressed because one or more lines are too long
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
166
public/doxa-maps/regions-dashboard/regions-dashboard.js
generated
166
public/doxa-maps/regions-dashboard/regions-dashboard.js
generated
File diff suppressed because one or more lines are too long
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue