Merge remote-tracking branch 'origin/main' into rega/research-gallery-embed
# Conflicts: # public/doxa-maps/index.html
This commit is contained in:
commit
cc09fd6184
26 changed files with 818 additions and 45 deletions
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "الموارد حسب الشعب",
|
||||
"t_languages": "اللغات حسب البلد",
|
||||
"t_growth": "الوصول مقابل نمو السكان"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "موارد الإنجيل حسب اللغة",
|
||||
"chartsTitle": "موارد الإنجيل — حسب اللغة",
|
||||
"loadingTables": "جارٍ تحميل جداول الموارد…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Ressourcen nach Volksgruppe",
|
||||
"t_languages": "Sprachen nach Land",
|
||||
"t_growth": "Zugang vs. Bevölkerungswachstum"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Evangeliums-Ressourcen nach Sprache",
|
||||
"chartsTitle": "Evangeliums-Ressourcen — nach Sprache",
|
||||
"loadingTables": "Ressourcentabellen werden geladen…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Resources by People Group",
|
||||
"t_languages": "Languages by Country",
|
||||
"t_growth": "Access vs Population Growth"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Gospel Resources by Language",
|
||||
"chartsTitle": "Gospel Resources — by Language",
|
||||
"loadingTables": "Loading resource tables…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Recursos por pueblo",
|
||||
"t_languages": "Idiomas por país",
|
||||
"t_growth": "Acceso vs crecimiento"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Recursos del evangelio por idioma",
|
||||
"chartsTitle": "Recursos del evangelio — por idioma",
|
||||
"loadingTables": "Cargando tablas de recursos…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Ressources par peuple",
|
||||
"t_languages": "Langues par pays",
|
||||
"t_growth": "Accès vs croissance"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Ressources de l'Évangile par langue",
|
||||
"chartsTitle": "Ressources de l'Évangile — par langue",
|
||||
"loadingTables": "Chargement des tableaux…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "जनसमूह अनुसार संसाधन",
|
||||
"t_languages": "देश अनुसार भाषाएँ",
|
||||
"t_growth": "पहुँच बनाम जनसंख्या वृद्धि"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "भाषा अनुसार सुसमाचार संसाधन",
|
||||
"chartsTitle": "सुसमाचार संसाधन — भाषा अनुसार",
|
||||
"loadingTables": "संसाधन तालिकाएँ लोड हो रही हैं…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Risorse per popolo",
|
||||
"t_languages": "Lingue per paese",
|
||||
"t_growth": "Accesso vs crescita"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Risorse del Vangelo per lingua",
|
||||
"chartsTitle": "Risorse del Vangelo — per lingua",
|
||||
"loadingTables": "Caricamento delle tabelle…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Recursos por povo",
|
||||
"t_languages": "Idiomas por país",
|
||||
"t_growth": "Acesso vs crescimento"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Recursos do evangelho por idioma",
|
||||
"chartsTitle": "Recursos do evangelho — por idioma",
|
||||
"loadingTables": "Carregando tabelas de recursos…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Resurse pe popoare",
|
||||
"t_languages": "Limbi pe țări",
|
||||
"t_growth": "Acces vs creștere"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Resurse ale Evangheliei pe limbi",
|
||||
"chartsTitle": "Resurse ale Evangheliei — pe limbi",
|
||||
"loadingTables": "Se încarcă tabelele…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "Ресурсы по народам",
|
||||
"t_languages": "Языки по странам",
|
||||
"t_growth": "Доступ и рост населения"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "Ресурсы Евангелия по языкам",
|
||||
"chartsTitle": "Ресурсы Евангелия — по языкам",
|
||||
"loadingTables": "Загрузка таблиц ресурсов…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,5 +123,10 @@
|
|||
"t_resources": "按族群列出资源",
|
||||
"t_languages": "各国语言",
|
||||
"t_growth": "可及性与人口增长"
|
||||
},
|
||||
"pages": {
|
||||
"listTitle": "按语言列出的福音资源",
|
||||
"chartsTitle": "福音资源 — 按语言",
|
||||
"loadingTables": "正在加载资源表…"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,10 +45,23 @@
|
|||
* DATA: fetched at runtime from assets/tables/ (people-group-resources.json is 1.2MB;
|
||||
* inlining it into the IIFE would block first paint for every profile in the bundle).
|
||||
*/
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import enGospel from '@map/i18n/locales/en/gospel.json'
|
||||
import { computed, inject, ref, watch } from 'vue'
|
||||
import BarChart from '@map/components/charts/BarChart.vue'
|
||||
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
||||
|
||||
/* Guarded like every other useI18n() in this bundle — the host may never have installed it,
|
||||
and the shipped English catalogue is the fallback rather than a broken key. */
|
||||
const enLookup = (key) =>
|
||||
String(key).replace(/^gospel\./, '').split('.').reduce((o, k) => (o == null ? o : o[k]), enGospel)
|
||||
let tr = (key) => enLookup(key) ?? String(key)
|
||||
try {
|
||||
const i18n = useI18n()
|
||||
tr = (key) => { const v = i18n.t(key); return v === key ? (enLookup(key) ?? key) : v }
|
||||
} catch (_) { /* no i18n on this host */ }
|
||||
|
||||
|
||||
const profileConfig = inject('profileConfig', ref(null))
|
||||
const isDark = computed(() => profileConfig.value?.isDark === true)
|
||||
|
||||
|
|
@ -400,9 +413,9 @@ useShadowStyles(
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="gc" dir="ltr" :class="{ 'is-dark': isDark }">
|
||||
<h2 class="gc-h">Gospel Resources — by Language</h2>
|
||||
<p class="gc-sub">
|
||||
<div class="gc" :class="{ 'is-dark': isDark }">
|
||||
<h2 class="gc-h">{{ tr('gospel.pages.chartsTitle') }}</h2>
|
||||
<p class="gc-sub" dir="ltr">
|
||||
{{ fmt(nGroups) }} people groups collapse to {{ fmt(nLang) }} languages, joined on exact
|
||||
ISO 639-3 codes. A translation is made once per language and then serves every
|
||||
group that speaks it — so the language is the unit of the gap.
|
||||
|
|
@ -433,7 +446,7 @@ useShadowStyles(
|
|||
</div>
|
||||
|
||||
<div v-if="loadErr" class="gc-err">{{ loadErr }}</div>
|
||||
<div v-else-if="loading || !nLang" class="gc-load">Loading resource tables…</div>
|
||||
<div v-else-if="loading || !nLang" class="gc-load">{{ tr('gospel.pages.loadingTables') }}</div>
|
||||
|
||||
<div v-else class="gc-card">
|
||||
<BarChart
|
||||
|
|
@ -493,7 +506,7 @@ useShadowStyles(
|
|||
/>
|
||||
|
||||
<div v-if="picked" class="gc-pick">
|
||||
<button type="button" @click="picked = null">Close</button>
|
||||
<button type="button" @click="picked = null">{{ tr('gospel.sheet.close') }}</button>
|
||||
<template v-if="picked.meta.iso">
|
||||
<b>{{ picked.meta.name }}</b> · ISO 639-3 <b>{{ picked.meta.iso }}</b> ·
|
||||
{{ fmt(picked.meta.population) }} people in
|
||||
|
|
|
|||
|
|
@ -228,7 +228,16 @@ useShadowStyles(
|
|||
<template>
|
||||
<!-- The blanket dir="ltr" is gone: this profile's chrome is translated now, so Arabic gets
|
||||
the RTL layout it should have. What stays LTR is each block of English prose, marked
|
||||
where it sits — the same split the map profile already uses. -->
|
||||
where it sits — the same split the map profile already uses.
|
||||
★ CORRECTION, measured 2026-09-25. The previous commit recorded "in RTL the leftmost
|
||||
data column clips against the edge" as known debt. That was wrong, and it was wrong in
|
||||
the way that wastes someone else's afternoon: I read a screenshot instead of measuring.
|
||||
Counting cells that fall outside the table holder, en and ar are IDENTICAL — 13 of 20
|
||||
columns off-screen in both, scrollWidth 3146 against clientWidth 1400 either way. A
|
||||
twenty-column table is simply wider than 1,400px, and RTL mirrors which edge the
|
||||
overflow sits on. There is no RTL clipping bug to chase. Whether twenty columns is the
|
||||
right design for a 1,400px screen is a real question, but it is a design question and
|
||||
it is the same question in English. -->
|
||||
<div class="gt" :class="{ 'is-dark': isDark }">
|
||||
<h2 class="gt-h">{{ tr('gospel.tables.title') }}</h2>
|
||||
<p class="gt-sub" dir="ltr">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<script setup>
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import enGospel from '@map/i18n/locales/en/gospel.json'
|
||||
import { resourceRows } from './gospel-resource-rows.js'
|
||||
/**
|
||||
* resources-list.vue — GOSPEL RESOURCES, by language.
|
||||
|
|
@ -40,6 +42,17 @@ import { computed, inject, ref, watch } from 'vue'
|
|||
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
||||
import { resolveAssetsBase } from '@map/utils/embedBase.js'
|
||||
|
||||
/* Guarded like every other useI18n() in this bundle — the host may never have installed it,
|
||||
and the shipped English catalogue is the fallback rather than a broken key. */
|
||||
const enLookup = (key) =>
|
||||
String(key).replace(/^gospel\./, '').split('.').reduce((o, k) => (o == null ? o : o[k]), enGospel)
|
||||
let tr = (key) => enLookup(key) ?? String(key)
|
||||
try {
|
||||
const i18n = useI18n()
|
||||
tr = (key) => { const v = i18n.t(key); return v === key ? (enLookup(key) ?? key) : v }
|
||||
} catch (_) { /* no i18n on this host */ }
|
||||
|
||||
|
||||
const profileConfig = inject('profileConfig', ref(null))
|
||||
const isDark = computed(() => profileConfig.value?.isDark === true)
|
||||
|
||||
|
|
@ -284,16 +297,16 @@ useShadowStyles(
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="gr" dir="ltr" :class="{ 'is-dark': isDark }">
|
||||
<h2 class="gr-h">Gospel Resources by Language</h2>
|
||||
<p class="gr-sub">
|
||||
<div class="gr" :class="{ 'is-dark': isDark }">
|
||||
<h2 class="gr-h">{{ tr('gospel.pages.listTitle') }}</h2>
|
||||
<p class="gr-sub" dir="ltr">
|
||||
Which unengaged people groups have scripture <strong>in their own language</strong> —
|
||||
and which have none yet found.
|
||||
</p>
|
||||
|
||||
<div class="gr-hero">
|
||||
<div class="gr-hero-n">{{ fmt(stats.people_groups_without_scripture) }}</div>
|
||||
<div class="gr-hero-t">
|
||||
<div class="gr-hero" dir="ltr">
|
||||
<div class="gr-hero-n" dir="ltr">{{ fmt(stats.people_groups_without_scripture) }}</div>
|
||||
<div class="gr-hero-t" dir="ltr">
|
||||
people groups across {{ fmt(stats.languages_without) }} languages
|
||||
— no text Scripture found in the pools checked
|
||||
<br>≈ {{ fmt(stats.population_without_scripture) }} people
|
||||
|
|
|
|||
75
public/assets/legacy/upg-neighbor/index.html
vendored
Normal file
75
public/assets/legacy/upg-neighbor/index.html
vendored
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>legacy map host</title>
|
||||
<style>html,body{margin:0;height:100%;background:#f3f3f1}.host{position:fixed;inset:0}</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="host" id="host"></div>
|
||||
<script>
|
||||
// Sandboxed host for the LEGACY upg-neighbor IIFE (pre-bundler architecture). This page runs
|
||||
// inside an IFRAME so the old engine and its dependencies cannot collide with the modern
|
||||
// bundles -- the isolation pattern the roundup mandates ("add without breaking doxa-maps").
|
||||
var q = new URLSearchParams(location.search);
|
||||
var el = (q.get('el') || 'send-map').replace(/[^a-z0-9-]/g, '');
|
||||
var tk = q.get('tk') || '';
|
||||
// Token globals the legacy build may read.
|
||||
window.MAPBOX_TOKEN = tk; window.MAP_TOKEN = tk; window.UPG_TOKEN = tk;
|
||||
// The legacy code fetches relative "/api/people-groups/..." which only resolved on its old
|
||||
// origin. Shim fetch so those calls reach the live API from ANY host (static tree, iframe).
|
||||
var API = 'https://pray.doxa.life';
|
||||
// The cockpit profile fails closed without a configured API base and names this global in
|
||||
// its own error banner (measured: "No API base configured (apiBase / window.MAP_APP_API_URL
|
||||
// / VITE_API_BASE_URL) -- failing closed").
|
||||
window.MAP_APP_API_URL = API;
|
||||
var origFetch = window.fetch.bind(window);
|
||||
window.fetch = function (input, init) {
|
||||
try {
|
||||
var url = typeof input === 'string' ? input : (input && input.url) || '';
|
||||
if (url.indexOf('/api/') === 0) return origFetch(API + url, init);
|
||||
} catch (e) { /* fall through */ }
|
||||
return origFetch(input, init);
|
||||
};
|
||||
// ── KEYLESS SHIM ──────────────────────────────────────────────────────────
|
||||
// The legacy bundle expects a mapboxgl GLOBAL and requests mapbox://styles/mapbox/light-v11.
|
||||
// MapLibre is API-compatible with the mapbox-gl v1 surface the bundle uses, and OpenFreeMap
|
||||
// Positron is the keyless twin of light-v11 -- so the shim below makes every legacy map run
|
||||
// WITHOUT a Mapbox token: load our self-hosted MapLibre, alias it as mapboxgl, and rewrite
|
||||
// any mapbox:// style to the keyless URL inside a patched Map constructor.
|
||||
var KEYLESS_STYLE = 'https://tiles.openfreemap.org/styles/positron';
|
||||
var lib = document.createElement('link'); lib.rel='stylesheet'; lib.href='./maplibre-gl.css';
|
||||
document.head.appendChild(lib);
|
||||
var ml = document.createElement('script');
|
||||
ml.src = './maplibre-gl.js';
|
||||
ml.onload = function () {
|
||||
var Real = window.maplibregl.Map;
|
||||
function PatchedMap (opts) {
|
||||
if (opts && typeof opts.style === 'string' && opts.style.indexOf('mapbox://') === 0) opts.style = KEYLESS_STYLE;
|
||||
return new Real(opts);
|
||||
}
|
||||
PatchedMap.prototype = Real.prototype;
|
||||
window.mapboxgl = Object.assign({}, window.maplibregl, { Map: PatchedMap, accessToken: '' });
|
||||
loadLegacy();
|
||||
};
|
||||
ml.onerror = function () { loadLegacy(); };
|
||||
document.head.appendChild(ml);
|
||||
|
||||
function loadLegacy () {
|
||||
var s = document.createElement('script');
|
||||
s.src = './upg-neighbor.iife.js';
|
||||
s.onload = function () {
|
||||
var node = document.createElement(el);
|
||||
node.style.cssText = 'display:block;width:100%;height:100%';
|
||||
// The legacy elements use the SAME profile-config attribute contract as the modern
|
||||
// bundles (measured: without it the element renders its own usage banner).
|
||||
node.setAttribute('profile-config', JSON.stringify({ profile: el, tk: tk }));
|
||||
document.getElementById('host').appendChild(node);
|
||||
};
|
||||
s.onerror = function () { document.body.innerHTML = '<p style="font:14px system-ui;padding:20px">legacy bundle failed to load</p>'; };
|
||||
document.head.appendChild(s);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
1
public/assets/legacy/upg-neighbor/maplibre-gl.css
vendored
Normal file
1
public/assets/legacy/upg-neighbor/maplibre-gl.css
vendored
Normal file
File diff suppressed because one or more lines are too long
59
public/assets/legacy/upg-neighbor/maplibre-gl.js
vendored
Normal file
59
public/assets/legacy/upg-neighbor/maplibre-gl.js
vendored
Normal file
File diff suppressed because one or more lines are too long
548
public/assets/legacy/upg-neighbor/upg-neighbor.iife.js
vendored
Normal file
548
public/assets/legacy/upg-neighbor/upg-neighbor.iife.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
||||
<script src="../gospel-resources.js" integrity="sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ" 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 <gospel-resources-map> custom element. -->
|
||||
<script src="../gospel-resources.js" integrity="sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ" 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 <gospel-resources-map> custom element. -->
|
||||
<script src="../gospel-resources.js" integrity="sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
|
||||
<script src="../gospel-resources.js" integrity="sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ" 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 <gospel-resources-map> custom element. -->
|
||||
<script src="../gospel-resources.js" integrity="sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ" 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
12
public/doxa-maps/manifest.json
generated
12
public/doxa-maps/manifest.json
generated
|
|
@ -579,7 +579,7 @@
|
|||
"bundle": "gospel-resources",
|
||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"output": "doxa-maps/gospel-resources/gospel-resources.js",
|
||||
"integrity": "sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg",
|
||||
"integrity": "sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ",
|
||||
"elements": [
|
||||
"gospel-resources-map"
|
||||
],
|
||||
|
|
@ -599,7 +599,7 @@
|
|||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -613,7 +613,7 @@
|
|||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -627,7 +627,7 @@
|
|||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./gospel-resources/gospel-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -641,7 +641,7 @@
|
|||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -655,7 +655,7 @@
|
|||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-si6xYD0jJTVi8u30O2GlmdcZB0yIVineJsCDRS7yYHQQOsRnF4mzSredX71y9dFg\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-pWaJ1mO+3WhT6X+j0slZ7o2RH3eJoSsARtAtM0pa1QG9NL1gRn5m28VKT0gRq+SZ\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue