Merge main into go-int/work
This commit is contained in:
commit
a71007f133
22 changed files with 285 additions and 170 deletions
|
|
@ -20,6 +20,7 @@ import { useMapInstance } from '@map/composables/useMapInstance.js'
|
||||||
import { useMapData } from '@map/composables/useMapData.js'
|
import { useMapData } from '@map/composables/useMapData.js'
|
||||||
import { useMapLayers, PIN_STROKE_WIDTH_LIGHT, buildDarkRingWidth } from '@map/composables/useMapLayers.js'
|
import { useMapLayers, PIN_STROKE_WIDTH_LIGHT, buildDarkRingWidth } from '@map/composables/useMapLayers.js'
|
||||||
import { useMapTheme, THEME_TOGGLE, FIXED_BASEMAP } from '@map/composables/useMapTheme.js'
|
import { useMapTheme, THEME_TOGGLE, FIXED_BASEMAP } from '@map/composables/useMapTheme.js'
|
||||||
|
import { applyStylePaint } from '@map/styles/registry.js'
|
||||||
import { useSelectedPin } from '@map/composables/useSelectedPin.js'
|
import { useSelectedPin } from '@map/composables/useSelectedPin.js'
|
||||||
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
||||||
import { DataSourceManager } from '@map/utils/DataSourceManager.js'
|
import { DataSourceManager } from '@map/utils/DataSourceManager.js'
|
||||||
|
|
@ -622,6 +623,55 @@ const isDark = computed(() => uiStore.isDarkTheme)
|
||||||
const isDarkBasemap = computed(() =>
|
const isDarkBasemap = computed(() =>
|
||||||
THEME_TOGGLE ? uiStore.isDarkTheme : FIXED_BASEMAP.lightPreset === 'night')
|
THEME_TOGGLE ? uiStore.isDarkTheme : FIXED_BASEMAP.lightPreset === 'night')
|
||||||
watch(isDark, (dark) => { pplrInstance.theme.value = dark ? 'dark' : 'light' }, { immediate: true })
|
watch(isDark, (dark) => { pplrInstance.theme.value = dark ? 'dark' : 'light' }, { immediate: true })
|
||||||
|
|
||||||
|
// ─── The Prayer look without a key ────────────────────────────────────────────
|
||||||
|
// On Mapbox this map is Standard at lightPreset 'night': near-black navy sea, slate land, rose
|
||||||
|
// borders — the "dark green" the Driver called our most beautiful map. Without a token the engine
|
||||||
|
// is MapLibre and the basemap is OpenFreeMap `fiord`, which is slate-blue everywhere (sea #38435c,
|
||||||
|
// land #45516e: 13 units apart, and blue-grey borders). These colours are MEASURED from the Mapbox
|
||||||
|
// render, not chosen: rega's reference capture of this leaf at its own world view (main 4ca2dcf9,
|
||||||
|
// _qa-cycle/rega/prayer-look-ref-4ca2dcf9/): ocean #03112d / #020f2c, land #323f52, forest
|
||||||
|
// #2c3e3c / #32403a, a 1px country border #c95d74. Our pins and glow are the same on both engines.
|
||||||
|
// ⚠ fiord draws no forest below zoom 10 (landcover_wood minzoom), so the faint green cast Mapbox
|
||||||
|
// shows on the Amazon and Congo at world view cannot be reproduced by recolouring; it appears once
|
||||||
|
// a reader zooms in.
|
||||||
|
// Layer ids are fiord's; applyStylePaint skips any the loaded style lacks, so a wrong guess is a
|
||||||
|
// no-op, never a throw.
|
||||||
|
const KEYLESS_NIGHT_PAINT = [
|
||||||
|
{ layer: 'background', prop: 'background-color', value: '#323f52' },
|
||||||
|
{ layer: 'water', prop: 'fill-color', value: '#03112d' },
|
||||||
|
{ layer: 'waterway', prop: 'line-color', value: '#0b1a36' },
|
||||||
|
{ layer: 'landcover_ice_shelf', prop: 'fill-color', value: '#3b4a5e' },
|
||||||
|
{ layer: 'landuse_residential', prop: 'fill-color', value: '#3a475b' },
|
||||||
|
{ layer: 'park', prop: 'fill-color', value: '#2f403c' },
|
||||||
|
{ layer: 'landcover_wood', prop: 'fill-color', value: '#2c3e3c' },
|
||||||
|
{ layer: 'building', prop: 'fill-color', value: 'hsla(215,30%,15%,0.65)' },
|
||||||
|
{ layer: 'boundary_country_z0-4', prop: 'line-color', value: '#c95d74' },
|
||||||
|
{ layer: 'boundary_country_z5-', prop: 'line-color', value: '#c95d74' },
|
||||||
|
// Crisp and opaque: at 0.75 over fiord's blur the rose read as a faint mauve (#5b4659 against
|
||||||
|
// the reference #934f66, rega's side-by-side).
|
||||||
|
{ layer: 'boundary_country_z0-4', prop: 'line-opacity', value: 1 },
|
||||||
|
{ layer: 'boundary_country_z5-', prop: 'line-opacity', value: 1 },
|
||||||
|
{ layer: 'boundary_country_z0-4', prop: 'line-blur', value: 0 },
|
||||||
|
{ layer: 'boundary_country_z5-', prop: 'line-blur', value: 0 },
|
||||||
|
// Country names light over a dark halo, as on the reference (fiord's are grey-blue).
|
||||||
|
...['place_country_major', 'place_country_minor', 'place_country_other'].flatMap((layer) => [
|
||||||
|
{ layer, prop: 'text-color', value: '#dde1e7' },
|
||||||
|
{ layer, prop: 'text-halo-color', value: 'rgba(3,17,45,0.85)' },
|
||||||
|
]),
|
||||||
|
{ layer: 'boundary_state', prop: 'line-color', value: 'hsla(345,45%,60%,0.3)' },
|
||||||
|
]
|
||||||
|
// MapLibre only (it has no Standard config to set, the same test useMapTheme uses), and only on
|
||||||
|
// the DARK basemap: MapLibre's light style (liberty) shares ids like `water` and `background`.
|
||||||
|
function paintKeylessNight(m) {
|
||||||
|
if (!m || typeof m.setConfigProperty === 'function' || !isDarkBasemap.value) return
|
||||||
|
applyStylePaint(m, KEYLESS_NIGHT_PAINT)
|
||||||
|
// fiord writes country names in capitals; the reference is mixed case. Layout, not paint, so it
|
||||||
|
// is not in the list above; the same skip-if-absent rule applies.
|
||||||
|
for (const id of ['place_country_major', 'place_country_minor', 'place_country_other']) {
|
||||||
|
try { if (m.getLayer(id)) m.setLayoutProperty(id, 'text-transform', 'none') } catch (_) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
// SEAMLESS theme: the basemap lightPreset follows uiStore.theme reactively. NO setStyle
|
// SEAMLESS theme: the basemap lightPreset follows uiStore.theme reactively. NO setStyle
|
||||||
// reload → pins/glow never wiped, no flash, instant toggle.
|
// reload → pins/glow never wiped, no flash, instant toggle.
|
||||||
watch(() => uiStore.theme, () => mapTheme.applyTheme(map.value))
|
watch(() => uiStore.theme, () => mapTheme.applyTheme(map.value))
|
||||||
|
|
@ -1318,6 +1368,8 @@ onMounted(async () => {
|
||||||
mapError.value = t('simpleMap.initFailed')
|
mapError.value = t('simpleMap.initFailed')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// Every style (re)load, not once: a later setStyle would otherwise bring fiord's blue back.
|
||||||
|
map.value.on('style.load', () => paintKeylessNight(map.value))
|
||||||
|
|
||||||
// 3. After 'style.load': add layers, register, set ready.
|
// 3. After 'style.load': add layers, register, set ready.
|
||||||
// Using style.load (fires when style JSON + sprites are ready) instead of
|
// Using style.load (fires when style JSON + sprites are ready) instead of
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,9 @@ import { labelFont } from '@map/maps/label-font.js'
|
||||||
import { computed, inject, ref, shallowRef, markRaw, onMounted, onBeforeUnmount } from 'vue'
|
import { computed, inject, ref, shallowRef, markRaw, onMounted, onBeforeUnmount } from 'vue'
|
||||||
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
import { useShadowStyles } from '@map/composables/useShadowStyles.js'
|
||||||
import { addMapAttribution } from '@map/composables/useMapAttribution'
|
import { addMapAttribution } from '@map/composables/useMapAttribution'
|
||||||
import { ensureEngineScript, engineGlobal } from '@map/composables/useMapInstance.js'
|
import { ensureEngineScript, engineGlobal, ensureEngineCSS, engineStylesheetUrl } from '@map/composables/useMapInstance.js'
|
||||||
|
import { resolveMapProvider } from '@map/composables/useMapProvider.js'
|
||||||
|
import { resolveNamedStyle } from '@map/styles/registry.js'
|
||||||
import { installRtlTextPlugin } from '@map/maps/rtl-text.js'
|
import { installRtlTextPlugin } from '@map/maps/rtl-text.js'
|
||||||
import { resolveAssetsBase } from '@map/utils/embedBase.js'
|
import { resolveAssetsBase } from '@map/utils/embedBase.js'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
|
|
@ -47,6 +49,7 @@ try { t = useI18n().t } catch (_) { /* no i18n on this host */ }
|
||||||
|
|
||||||
const profileConfig = inject('profileConfig', ref(null))
|
const profileConfig = inject('profileConfig', ref(null))
|
||||||
const isDark = computed(() => profileConfig.value?.isDark === true)
|
const isDark = computed(() => profileConfig.value?.isDark === true)
|
||||||
|
let unmounted = false
|
||||||
// The token through the library's channel (documentation/reference-universal-props.md): the
|
// The token through the library's channel (documentation/reference-universal-props.md): the
|
||||||
// profile-config tk, then ProfileLoader's injected mapboxToken (which carries the page-wide shared
|
// profile-config tk, then ProfileLoader's injected mapboxToken (which carries the page-wide shared
|
||||||
// token, fed by window.MAP_TOKEN), then window.MAP_TOKEN. This read window.DOXA_TOKEN, which only a
|
// token, fed by window.MAP_TOKEN), then window.MAP_TOKEN. This read window.DOXA_TOKEN, which only a
|
||||||
|
|
@ -145,18 +148,32 @@ function paint(map) {
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
// Load the engine rather than assume the page did: leaf <head>s no longer preload mapbox-gl.js
|
// Load the engine rather than assume the page did: leaf <head>s no longer preload mapbox-gl.js
|
||||||
// (it leaked every visitor's IP to Mapbox under provider=maplibre). This map is Mapbox-only.
|
// (it leaked every visitor's IP to Mapbox under provider=maplibre). THE ENGINE THE PAGE ASKED FOR,
|
||||||
try { await ensureEngineScript('mapbox') } catch (_) {}
|
// OR NONE: no silent fallback to mapboxgl. Resolved by the library like every other map
|
||||||
const gl = engineGlobal('mapbox')
|
// (?provider=, profile-config, window.MAP_PROVIDER; 'auto' = Mapbox only when a token is at hand,
|
||||||
|
// including the one ProfileLoader injected). This map used to hard-construct Mapbox GL under
|
||||||
|
// provider=maplibre.
|
||||||
|
const kcProvider = resolveMapProvider(profileConfig, { token: mapboxToken.value })
|
||||||
|
try { await ensureEngineScript(kcProvider) } catch (_) {}
|
||||||
|
const gl = engineGlobal(kcProvider)
|
||||||
if (!gl || !mapEl.value) { err.value = t('keyCities.map.engineMissing'); return }
|
if (!gl || !mapEl.value) { err.value = t('keyCities.map.engineMissing'); return }
|
||||||
// RTL SHAPING before the map exists: a raw map is not covered by useMapInstance's install, and
|
// RTL SHAPING before the map exists: a raw map is not covered by useMapInstance's install, and
|
||||||
// the Mapbox basemap draws Middle-East places in Arabic/Persian/Hebrew script for every viewer.
|
// the Mapbox basemap draws Middle-East places in Arabic/Persian/Hebrew script for every viewer.
|
||||||
installRtlTextPlugin(gl)
|
installRtlTextPlugin(gl)
|
||||||
try {
|
try {
|
||||||
await load()
|
await load()
|
||||||
|
if (unmounted || !mapEl.value) return
|
||||||
|
// The engine's stylesheet must be INSIDE this shadow root; a document-level <link> never reaches
|
||||||
|
// it (Mapbox's "missing CSS declarations" canary).
|
||||||
|
const css = engineStylesheetUrl(kcProvider)
|
||||||
|
if (css) await ensureEngineCSS(mapEl.value, css)
|
||||||
|
if (unmounted || !mapEl.value) return
|
||||||
const map = new gl.Map({
|
const map = new gl.Map({
|
||||||
container: mapEl.value,
|
container: mapEl.value,
|
||||||
style: isDark.value ? 'mapbox://styles/mapbox/dark-v11' : 'mapbox://styles/mapbox/light-v11',
|
// Paired through the registry: 'ink' = mapbox dark-v11 / OpenFreeMap dark, 'paper' = light-v11 /
|
||||||
|
// positron, the same pair connectivity-map uses. The literal is the fallback if a name stops resolving.
|
||||||
|
style: resolveNamedStyle(isDark.value ? 'ink' : 'paper', kcProvider).style
|
||||||
|
|| (isDark.value ? 'mapbox://styles/mapbox/dark-v11' : 'mapbox://styles/mapbox/light-v11'),
|
||||||
accessToken: mapboxToken.value,
|
accessToken: mapboxToken.value,
|
||||||
center: [42, 18], zoom: 1.3, projection: 'mercator', attributionControl: false,
|
center: [42, 18], zoom: 1.3, projection: 'mercator', attributionControl: false,
|
||||||
})
|
})
|
||||||
|
|
@ -169,7 +186,7 @@ onMounted(async () => {
|
||||||
map.once('load', () => paint(map))
|
map.once('load', () => paint(map))
|
||||||
} catch (e) { err.value = String(e.message || e) }
|
} catch (e) { err.value = String(e.message || e) }
|
||||||
})
|
})
|
||||||
onBeforeUnmount(() => { try { mapRef.value?.remove() } catch (_) {} })
|
onBeforeUnmount(() => { unmounted = true; try { mapRef.value?.remove() } catch (_) {} })
|
||||||
|
|
||||||
const fmt = (n) => (Number(n) || 0).toLocaleString()
|
const fmt = (n) => (Number(n) || 0).toLocaleString()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,12 @@ async function streamCoverage() {
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
map.value.on('load', async () => {
|
map.value.on('load', async () => {
|
||||||
try {
|
try {
|
||||||
status.value = t('pplr.status.loadingCoverage')
|
status.value = t('pplr.status.loadingCoverage')
|
||||||
|
|
|
||||||
|
|
@ -429,6 +429,12 @@ function popupHtml(p) {
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
if (map.value) {
|
if (map.value) {
|
||||||
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
||||||
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ const { map, isMapReady, initializeMap, destroy } = useMapInstance({
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
map.value.on('load', async () => {
|
map.value.on('load', async () => {
|
||||||
try {
|
try {
|
||||||
status.value = t('pplr.status.addingPolygons')
|
status.value = t('pplr.status.addingPolygons')
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,12 @@ function popupHtml(p) {
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
if (map.value) {
|
if (map.value) {
|
||||||
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
||||||
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
||||||
|
|
|
||||||
|
|
@ -396,6 +396,12 @@ function popupHtml(p) {
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Navigation: zoom +/- (Mapbox built-in) + custom fullscreen toggle.
|
// Navigation: zoom +/- (Mapbox built-in) + custom fullscreen toggle.
|
||||||
// See FullscreenToggleControl in pplrMap.js for why we don't use
|
// See FullscreenToggleControl in pplrMap.js for why we don't use
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,12 @@ const { map, isMapReady, initializeMap, destroy } = useMapInstance({
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
map.value.on('load', async () => {
|
map.value.on('load', async () => {
|
||||||
try {
|
try {
|
||||||
status.value = t('pplr.status.loadingPgData')
|
status.value = t('pplr.status.loadingPgData')
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,12 @@ const DATA_SOURCES = [
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await initializeMap()
|
await initializeMap()
|
||||||
exposeMap(map.value)
|
exposeMap(map.value)
|
||||||
|
if (!map.value) {
|
||||||
|
// The map did not construct (e.g. provider=mapbox with no token; useMapInstance logs why). Say so
|
||||||
|
// and stop: everything below needs a map, and map.value.on() threw into the mounted hook.
|
||||||
|
status.value = t('messages.mapUnavailable')
|
||||||
|
return
|
||||||
|
}
|
||||||
if (map.value) {
|
if (map.value) {
|
||||||
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
map.value.addControl(new (glFor(map.value)).NavigationControl({ showCompass: false, visualizePitch: false }), 'bottom-right')
|
||||||
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
map.value.addControl(new FullscreenToggleControl(profileRoot.value), 'bottom-right')
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
* el.getPolygon(id)
|
* el.getPolygon(id)
|
||||||
* el.print(ids = null) // null = print current selection
|
* el.print(ids = null) // null = print current selection
|
||||||
* el.startDrawing() / el.stopDrawing()
|
* el.startDrawing() / el.stopDrawing()
|
||||||
|
* el.resolvedInstanceId // the id this element registered under (see 2.)
|
||||||
*
|
*
|
||||||
* 2. A discovery-friendly window global, keyed by instance so multiple embeds never
|
* 2. A discovery-friendly window global, keyed by instance so multiple embeds never
|
||||||
* collide — mirrors this repo's existing window.MAP_TOKEN / window.DOXA_SLOTS
|
* collide — mirrors this repo's existing window.MAP_TOKEN / window.DOXA_SLOTS
|
||||||
|
|
@ -537,7 +538,10 @@ defineExpose({
|
||||||
addPolygon, deletePolygon, selectPolygon, clearSelection,
|
addPolygon, deletePolygon, selectPolygon, clearSelection,
|
||||||
listPolygons, getPolygon, print, renderZoneMap,
|
listPolygons, getPolygon, print, renderZoneMap,
|
||||||
startDrawing, stopDrawing,
|
startDrawing, stopDrawing,
|
||||||
instanceId: INSTANCE_ID
|
// NOT `instanceId`: that name is already the element's PROP (the attribute a host sets, maybe
|
||||||
|
// empty), and exposing a second member under it made Vue warn "Exposed property 'instanceId'
|
||||||
|
// already exists on custom element". This is the RESOLVED id, the one the registry keys on.
|
||||||
|
resolvedInstanceId: INSTANCE_ID
|
||||||
})
|
})
|
||||||
|
|
||||||
// ─── window global registry (discovery-friendly, mirrors window.DOXA_SLOTS etc.) ──
|
// ─── window global registry (discovery-friendly, mirrors window.DOXA_SLOTS etc.) ──
|
||||||
|
|
|
||||||
|
|
@ -395,7 +395,7 @@
|
||||||
"bundle": "doxa-simple-map",
|
"bundle": "doxa-simple-map",
|
||||||
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
||||||
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
|
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
|
||||||
"integrity": "sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4",
|
"integrity": "sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb",
|
||||||
"elements": [
|
"elements": [
|
||||||
"doxa-map",
|
"doxa-map",
|
||||||
"doxa-simple-map"
|
"doxa-simple-map"
|
||||||
|
|
@ -412,7 +412,7 @@
|
||||||
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
||||||
"embed": {
|
"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>",
|
"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": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4\" 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": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb\" 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": [
|
"instances": [
|
||||||
{
|
{
|
||||||
|
|
@ -952,7 +952,7 @@
|
||||||
"bundle": "pplr-data-maps",
|
"bundle": "pplr-data-maps",
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
||||||
"integrity": "sha384-fqyrXAqslnCC8sOScI19p4IGV89NbHCrE+w1B1Gnfk/EmHLLbdlkii52FBGBSqmB",
|
"integrity": "sha384-XILPgGczCvQPn9iYllzzx0+qtadnKSbkG34iNORWiUqidAfdxnr0gkdmCUbLa29q",
|
||||||
"elements": [
|
"elements": [
|
||||||
"pplr-data-maps"
|
"pplr-data-maps"
|
||||||
],
|
],
|
||||||
|
|
@ -968,7 +968,7 @@
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-fqyrXAqslnCC8sOScI19p4IGV89NbHCrE+w1B1Gnfk/EmHLLbdlkii52FBGBSqmB\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-XILPgGczCvQPn9iYllzzx0+qtadnKSbkG34iNORWiUqidAfdxnr0gkdmCUbLa29q\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
||||||
},
|
},
|
||||||
"bundle": "pplr-data-maps"
|
"bundle": "pplr-data-maps"
|
||||||
}
|
}
|
||||||
|
|
@ -978,7 +978,7 @@
|
||||||
"bundle": "prayer-walk-planner",
|
"bundle": "prayer-walk-planner",
|
||||||
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js",
|
"output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"integrity": "sha384-N4Uk19xlK4SevPTwXX6f3eR60iavGxW5/FxONWgGO54gzhPcRoe1jOHAq6vJJuW1",
|
"integrity": "sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8",
|
||||||
"elements": [
|
"elements": [
|
||||||
"prayer-walk-planner"
|
"prayer-walk-planner"
|
||||||
],
|
],
|
||||||
|
|
@ -994,7 +994,7 @@
|
||||||
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-N4Uk19xlK4SevPTwXX6f3eR60iavGxW5/FxONWgGO54gzhPcRoe1jOHAq6vJJuW1\" crossorigin=\"anonymous\"></script>\n<prayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></prayer-walk-planner>"
|
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8\" crossorigin=\"anonymous\"></script>\n<prayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></prayer-walk-planner>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
||||||
<script src="../../doxa-simple-map.js" integrity="sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4" crossorigin="anonymous"></script>
|
<script src="../../doxa-simple-map.js" integrity="sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
||||||
<script src="../../doxa-simple-map.js" integrity="sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4" crossorigin="anonymous"></script>
|
<script src="../../doxa-simple-map.js" integrity="sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
||||||
<script src="../doxa-simple-map.js" integrity="sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4" crossorigin="anonymous"></script>
|
<script src="../doxa-simple-map.js" integrity="sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
<!-- Bundle IIFE — registers the <doxa-map> custom element. -->
|
||||||
<script src="../../doxa-simple-map.js" integrity="sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4" crossorigin="anonymous"></script>
|
<script src="../../doxa-simple-map.js" integrity="sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -395,7 +395,7 @@
|
||||||
"bundle": "doxa-simple-map",
|
"bundle": "doxa-simple-map",
|
||||||
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
||||||
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
|
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
|
||||||
"integrity": "sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4",
|
"integrity": "sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb",
|
||||||
"elements": [
|
"elements": [
|
||||||
"doxa-map",
|
"doxa-map",
|
||||||
"doxa-simple-map"
|
"doxa-simple-map"
|
||||||
|
|
@ -412,7 +412,7 @@
|
||||||
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
|
||||||
"embed": {
|
"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>",
|
"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": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-xVSokdr9nSgDxbGS14E41FI3aiDhfTfHQXbKler2QDU4LwWX3/un29Z6hVl5uuz4\" 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": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-1bCm1d/uuEd8+HZnBibKvHfXxsIpJntAtlM5PxyYT4bopU3mdy6fJKFR6HkcQOkb\" 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": [
|
"instances": [
|
||||||
{
|
{
|
||||||
|
|
@ -952,7 +952,7 @@
|
||||||
"bundle": "pplr-data-maps",
|
"bundle": "pplr-data-maps",
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
"output": "dx-maps/pplr-data-maps/pplr-data-maps.js",
|
||||||
"integrity": "sha384-fqyrXAqslnCC8sOScI19p4IGV89NbHCrE+w1B1Gnfk/EmHLLbdlkii52FBGBSqmB",
|
"integrity": "sha384-XILPgGczCvQPn9iYllzzx0+qtadnKSbkG34iNORWiUqidAfdxnr0gkdmCUbLa29q",
|
||||||
"elements": [
|
"elements": [
|
||||||
"pplr-data-maps"
|
"pplr-data-maps"
|
||||||
],
|
],
|
||||||
|
|
@ -968,7 +968,7 @@
|
||||||
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
"scriptUrl": "./pplr-data-maps/pplr-data-maps.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./pplr-data-maps/pplr-data-maps/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-fqyrXAqslnCC8sOScI19p4IGV89NbHCrE+w1B1Gnfk/EmHLLbdlkii52FBGBSqmB\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./pplr-data-maps/pplr-data-maps.js\" integrity=\"sha384-XILPgGczCvQPn9iYllzzx0+qtadnKSbkG34iNORWiUqidAfdxnr0gkdmCUbLa29q\" crossorigin=\"anonymous\"></script>\n<pplr-data-maps profile-config='{\"profile\":\"pplr-data-maps\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></pplr-data-maps>"
|
||||||
},
|
},
|
||||||
"bundle": "pplr-data-maps"
|
"bundle": "pplr-data-maps"
|
||||||
}
|
}
|
||||||
|
|
@ -978,7 +978,7 @@
|
||||||
"bundle": "prayer-walk-planner",
|
"bundle": "prayer-walk-planner",
|
||||||
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js",
|
"output": "dx-maps/prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"integrity": "sha384-N4Uk19xlK4SevPTwXX6f3eR60iavGxW5/FxONWgGO54gzhPcRoe1jOHAq6vJJuW1",
|
"integrity": "sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8",
|
||||||
"elements": [
|
"elements": [
|
||||||
"prayer-walk-planner"
|
"prayer-walk-planner"
|
||||||
],
|
],
|
||||||
|
|
@ -994,7 +994,7 @@
|
||||||
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
"scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js",
|
||||||
"embed": {
|
"embed": {
|
||||||
"iframe": "<iframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
"iframe": "<iframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||||
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-N4Uk19xlK4SevPTwXX6f3eR60iavGxW5/FxONWgGO54gzhPcRoe1jOHAq6vJJuW1\" crossorigin=\"anonymous\"></script>\n<prayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></prayer-walk-planner>"
|
"script": "<!-- Mapbox engine, fetched early. Keep it only with a real Mapbox token in \"tk\": without one (or with \"provider\":\"maplibre\") the map draws with MapLibre and this line must go -->\n<link rel=\"preload\" as=\"script\" href=\"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js\" integrity=\"sha384-tO0clamXONKwbiz7O6xJpUeyJbTSPugC+xM9clvfFvKTH3i8SmCawHGdf5quMWmZ\" crossorigin=\"anonymous\">\n<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8\" crossorigin=\"anonymous\"></script>\n<prayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></prayer-walk-planner>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <pplr-data-maps> custom element. -->
|
<!-- Bundle IIFE — registers the <pplr-data-maps> custom element. -->
|
||||||
<script src="../pplr-data-maps.js" integrity="sha384-fqyrXAqslnCC8sOScI19p4IGV89NbHCrE+w1B1Gnfk/EmHLLbdlkii52FBGBSqmB" crossorigin="anonymous"></script>
|
<script src="../pplr-data-maps.js" integrity="sha384-XILPgGczCvQPn9iYllzzx0+qtadnKSbkG34iNORWiUqidAfdxnr0gkdmCUbLa29q" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||||
<!-- Bundle IIFE — registers the <prayer-walk-planner> custom element. -->
|
<!-- Bundle IIFE — registers the <prayer-walk-planner> custom element. -->
|
||||||
<script src="../prayer-walk-planner.js" integrity="sha384-N4Uk19xlK4SevPTwXX6f3eR60iavGxW5/FxONWgGO54gzhPcRoe1jOHAq6vJJuW1" crossorigin="anonymous"></script>
|
<script src="../prayer-walk-planner.js" integrity="sha384-d4xWC7Zl40bB+KHdJb5BZgY1opVMKgf12f1uhyTXeArbFRA5NJ8nEkXKYdUWCQu8" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue