Update from source 9348d491
This commit is contained in:
parent
23cdcfe7e2
commit
32694e6d04
18 changed files with 151 additions and 79 deletions
|
|
@ -7,6 +7,14 @@
|
|||
* /api/<name>/ routes, and stops it when the dev server stops. A backend that isn't built is skipped
|
||||
* with a hint: plugins without a backend never notice this file.
|
||||
*
|
||||
* ★ ONE BACKEND PER `bun run dev`, SURVIVING VITE RESTARTS. Vite restarts itself whenever vite.config.js
|
||||
* or anything it imports changes, and re-runs configureServer. Stopping the backend on every restart and
|
||||
* starting a new one at once raced the old process for its port: the new one died with "address already
|
||||
* in use" and Rudder showed "engine offline" until `bun run dev` was restarted by hand (measured
|
||||
* 2026-09-27, twice in one session). Each backend now lives in a process-wide registry (globalThis — the
|
||||
* config module itself is re-imported on a restart): a restart REUSES the running backend, it is stopped
|
||||
* only when the dev process exits, and it is restarted (up to 5 times) if it crashes.
|
||||
*
|
||||
* DEV ONLY (`apply: 'serve'`). A production build never starts or bundles a backend.
|
||||
*/
|
||||
import { spawn } from 'node:child_process'
|
||||
|
|
@ -30,9 +38,40 @@ export function devBackendProxy() {
|
|||
return Object.fromEntries(DEV_BACKENDS.map((b) => [b.route, { target: `http://127.0.0.1:${b.port}`, changeOrigin: false }]))
|
||||
}
|
||||
|
||||
const REG = (globalThis.__dxDevBackends ||= { procs: new Map(), exitHooked: false, stopping: false })
|
||||
const isAlive = (name) => { const e = REG.procs.get(name); return !!e && e.child.exitCode === null && e.child.signalCode === null }
|
||||
|
||||
function stopAll() {
|
||||
REG.stopping = true
|
||||
for (const { child } of REG.procs.values()) { try { child.kill('SIGTERM') } catch {} }
|
||||
}
|
||||
|
||||
function start(root, b, logger, restarts = 0) {
|
||||
const tag = `[${b.name}]`
|
||||
const child = spawn(resolve(root, b.bin), [], { cwd: root, env: { ...process.env, ...b.env }, stdio: ['ignore', 'pipe', 'pipe'] })
|
||||
const entry = { child, restarts, logger }
|
||||
REG.procs.set(b.name, entry)
|
||||
const out = (d) => String(d).trim().split('\n').forEach((l) => l && entry.logger.info(`${tag} ${l}`))
|
||||
child.stdout.on('data', out)
|
||||
child.stderr.on('data', out)
|
||||
child.on('exit', (code) => {
|
||||
if (REG.procs.get(b.name) !== entry) return
|
||||
REG.procs.delete(b.name)
|
||||
if (REG.stopping) return
|
||||
entry.logger.warn(`${tag} exited (${code})`)
|
||||
// Crashed on its own: restart it, after its port has had a moment to free up.
|
||||
if (entry.restarts < 5) {
|
||||
setTimeout(() => {
|
||||
if (REG.stopping || REG.procs.has(b.name)) return
|
||||
entry.logger.warn(`${tag} restarting (${entry.restarts + 1}/5)`)
|
||||
start(root, b, entry.logger, entry.restarts + 1)
|
||||
}, 2000)
|
||||
}
|
||||
})
|
||||
logger.info(`${tag} started → ${b.route} on 127.0.0.1:${b.port}`)
|
||||
}
|
||||
|
||||
export function backendDevPlugin(root) {
|
||||
const children = []
|
||||
const alive = new Set() // backends whose process is running right now
|
||||
return {
|
||||
name: 'dx-backend-dev',
|
||||
apply: 'serve',
|
||||
|
|
@ -44,7 +83,7 @@ export function backendDevPlugin(root) {
|
|||
// list. Registered here, so it runs before vite's proxy.
|
||||
for (const b of DEV_BACKENDS) {
|
||||
server.middlewares.use(b.route, (req, res, next) => {
|
||||
if (alive.has(b.name)) return next()
|
||||
if (isAlive(b.name)) return next()
|
||||
if ((req.url || '').startsWith('/events')) {
|
||||
res.writeHead(200, { 'Content-Type': 'text/event-stream', 'Cache-Control': 'no-cache', Connection: 'keep-alive' })
|
||||
res.write(`data: ${JSON.stringify({ type: 'status', status: { engine: 'offline', error: 'The desktop engine is not running.' } })}\n\n`)
|
||||
|
|
@ -54,27 +93,25 @@ export function backendDevPlugin(root) {
|
|||
res.end('[]')
|
||||
})
|
||||
}
|
||||
const logger = server.config.logger
|
||||
if (!REG.exitHooked) {
|
||||
REG.exitHooked = true
|
||||
process.once('exit', stopAll)
|
||||
process.once('SIGINT', () => { stopAll(); process.exit(0) })
|
||||
process.once('SIGTERM', () => { stopAll(); process.exit(0) })
|
||||
}
|
||||
for (const b of DEV_BACKENDS) {
|
||||
const bin = resolve(root, b.bin)
|
||||
if (!existsSync(bin)) {
|
||||
server.config.logger.warn(`[backend] ${b.name} not built — its plugin will show "engine offline". Build: ${b.build}`)
|
||||
if (isAlive(b.name)) {
|
||||
REG.procs.get(b.name).logger = logger // log through the restarted server
|
||||
logger.info(`[${b.name}] still running → ${b.route} (kept across the dev-server restart)`)
|
||||
continue
|
||||
}
|
||||
const child = spawn(bin, [], { cwd: root, env: { ...process.env, ...b.env }, stdio: ['ignore', 'pipe', 'pipe'] })
|
||||
const tag = `[${b.name}]`
|
||||
const out = (d) => String(d).trim().split('\n').forEach((l) => l && server.config.logger.info(`${tag} ${l}`))
|
||||
child.stdout.on('data', out)
|
||||
child.stderr.on('data', out)
|
||||
child.on('exit', (code) => { alive.delete(b.name); server.config.logger.warn(`${tag} exited (${code})`) })
|
||||
children.push(child)
|
||||
alive.add(b.name)
|
||||
server.config.logger.info(`${tag} started → ${b.route} on 127.0.0.1:${b.port}`)
|
||||
if (!existsSync(resolve(root, b.bin))) {
|
||||
logger.warn(`[backend] ${b.name} not built — its plugin will show "engine offline". Build: ${b.build}`)
|
||||
continue
|
||||
}
|
||||
start(root, b, logger)
|
||||
}
|
||||
const stop = () => children.forEach((c) => { try { c.kill('SIGTERM') } catch {} })
|
||||
server.httpServer?.on('close', stop)
|
||||
process.once('exit', stop)
|
||||
process.once('SIGINT', () => { stop(); process.exit(0) })
|
||||
process.once('SIGTERM', () => { stop(); process.exit(0) })
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -365,8 +365,14 @@ const cardShard = (slug) => {
|
|||
const sxScope = (sx) => {
|
||||
if (!sx) return ''
|
||||
const n = Number(sx.parts) || 0
|
||||
const name = n === 66 ? tOr('gospel.res.fullBible', 'full Bible')
|
||||
: n === 27 ? tOr('gospel.res.newTestament', 'New Testament')
|
||||
/* ⚠ THE WORDS ALREADY EXISTED, TRANSLATED, and I asked for new keys without looking. rega found
|
||||
gospel.charts.newTestament and gospel.charts.fullBible in all 11 locales — used by the charts
|
||||
leaf — while my gospel.res.* existed nowhere, so every locale including Arabic fell back to my
|
||||
English defaults, and even en read "full Bible" against the catalogue's "Full Bible". Two keys
|
||||
for one word is the drift I keep fixing in other people's code; these are the same words, so
|
||||
they are the same keys. Only the part count needed a new one. */
|
||||
const name = n === 66 ? t('gospel.charts.fullBible')
|
||||
: n === 27 ? t('gospel.charts.newTestament')
|
||||
: n ? tOr('gospel.res.nParts', '{n} parts', { n: fmt(n) })
|
||||
: ''
|
||||
return name ? `${name} — ${sx.src}` : sx.src
|
||||
|
|
|
|||
|
|
@ -1073,7 +1073,7 @@ export default defineComponent({
|
|||
const h = document.createElement('div')
|
||||
h.setAttribute('data-studio-widgets', corner)
|
||||
const [v, x] = corner.split('-')
|
||||
h.style.cssText = `position:fixed;${v}:12px;${x}:12px;z-index:2147483647;display:flex;flex-direction:column;align-items:${x === 'right' ? 'flex-end' : 'flex-start'};gap:8px;`
|
||||
h.style.cssText = `position:fixed;${v}:max(12px,env(safe-area-inset-${v}));${x}:max(12px,env(safe-area-inset-${x}));z-index:2147483647;display:flex;flex-direction:column;align-items:${x === 'right' ? 'flex-end' : 'flex-start'};gap:8px;`
|
||||
document.body.appendChild(h)
|
||||
W.hosts[corner] = h
|
||||
return h
|
||||
|
|
@ -1089,7 +1089,7 @@ export default defineComponent({
|
|||
box.style.cssText = 'display:flex;flex-direction:column;align-items:inherit;gap:6px;'
|
||||
const panel = document.createElement('div')
|
||||
panel.setAttribute('data-widget-panel', '')
|
||||
panel.style.cssText = 'display:none;width:min(380px,calc(100vw - 24px));height:min(520px,calc(100vh - 80px));position:relative;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.25);overflow:hidden;'
|
||||
panel.style.cssText = 'display:none;width:min(380px,calc(100vw - 24px));height:min(520px,calc(100vh - 80px));height:min(520px,calc(100dvh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));position:relative;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.25);overflow:hidden;'
|
||||
const btn = document.createElement('button')
|
||||
btn.type = 'button'
|
||||
// A catalogue label per widget ("widget:<row key>"), not the row key (rega / repo: the button read
|
||||
|
|
@ -1124,7 +1124,21 @@ export default defineComponent({
|
|||
const el = document.createElement(row.tag)
|
||||
el.setAttribute('profile-config', JSON.stringify(this.paneConfig(row, this.locale)))
|
||||
if (this.base) el.setAttribute('tree-base', this.base.replace(/\/+$/, ''))
|
||||
el.style.cssText = 'display:block;position:absolute;inset:0;width:100%;height:100%;'
|
||||
// The panel is a fixed size; on a phone the widget's content is taller than it, so the element scrolls
|
||||
// inside the panel rather than being clipped by it.
|
||||
el.style.cssText = 'display:block;position:absolute;inset:0;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;'
|
||||
// LIVE MIC, VISIBLE WHEN COLLAPSED: a widget that emits `recording` (Rudder does) turns its corner
|
||||
// button red with a dot while it listens, so closing the panel never hides that the mic is on.
|
||||
el.addEventListener('recording', (e) => {
|
||||
const on = !!(Array.isArray(e.detail) ? e.detail[0] : e.detail)
|
||||
const b = box.querySelector(':scope > button')
|
||||
if (!b) return
|
||||
if (!b.dataset.label) b.dataset.label = b.textContent
|
||||
b.textContent = on ? '● ' + b.dataset.label : b.dataset.label
|
||||
b.style.background = on ? '#7f1d1d' : '#0d1117'
|
||||
b.style.borderColor = on ? '#ef4444' : '#30363d'
|
||||
b.setAttribute('data-listening', on ? 'true' : 'false')
|
||||
})
|
||||
W.els[row.key] = el
|
||||
panel.appendChild(el)
|
||||
}).catch((e) => { panel.textContent = (e && e.message) || String(e) })
|
||||
|
|
|
|||
|
|
@ -12,11 +12,14 @@
|
|||
* Everything is agent-interfaceable (the old Rudder's prime directive): the 🐞 panel copies the
|
||||
* engine log + status with a header telling an agent what to do with it.
|
||||
*/
|
||||
import { computed, onBeforeUnmount, onMounted, ref, nextTick } from 'vue'
|
||||
import { computed, onBeforeUnmount, onMounted, ref, nextTick, watch } from 'vue'
|
||||
|
||||
defineOptions({ inheritAttrs: false })
|
||||
|
||||
const props = defineProps({ profileConfig: { type: String, default: '' } })
|
||||
// `recording` (true/false) tells a host that Rudder started or stopped listening — the Plugin Studio's
|
||||
// corner button turns red with it, so a collapsed corner still shows the mic is live.
|
||||
const emit = defineEmits(['recording'])
|
||||
|
||||
const cfg = computed(() => {
|
||||
try { return props.profileConfig ? JSON.parse(props.profileConfig) : {} } catch { return {} }
|
||||
|
|
@ -449,6 +452,8 @@ onBeforeUnmount(() => {
|
|||
window.removeEventListener('keydown', onKey)
|
||||
})
|
||||
|
||||
watch(recording, (v) => emit('recording', v))
|
||||
|
||||
const statusText = computed(() => ({
|
||||
connecting: 'Connecting…',
|
||||
starting: 'Loading speech model… (about 20 s the first time)',
|
||||
|
|
@ -585,7 +590,7 @@ const statusText = computed(() => ({
|
|||
.rudder {
|
||||
--bg: #0b0f14; --panel: #111823; --line: #1f2937; --text: #e5e7eb; --muted: #9ca3af;
|
||||
--accent: #38bdf8; --rec: #ef4444; --ok: #22c55e; --warn: #f59e0b;
|
||||
box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; min-height: 480px; height: 100%;
|
||||
box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; min-height: max(100%, 480px);
|
||||
padding: 18px; background: var(--bg); color: var(--text);
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; font-size: 15px;
|
||||
}
|
||||
|
|
@ -653,4 +658,14 @@ code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1
|
|||
.debug dl { display: grid; grid-template-columns: 90px 1fr; gap: 6px 10px; margin: 0 0 10px; }
|
||||
.debug dt { color: var(--muted); }
|
||||
.debug dd { margin: 0; overflow-wrap: anywhere; }
|
||||
/* A phone-sized panel: less padding, and a shorter draft so it stays in view below the controls. */
|
||||
@media (max-width: 480px) {
|
||||
.rudder { min-height: 100%; padding: 12px; gap: 10px; }
|
||||
.compose { min-height: 200px; }
|
||||
.draft { min-height: 180px; }
|
||||
/* Notices (engine offline, mic muted, …) sit below the draft here, so the draft stays in view. */
|
||||
.notice, .hint { order: 1; }
|
||||
.bottom { order: 2; }
|
||||
.debug { order: 3; }
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -723,7 +723,7 @@
|
|||
"bundle": "gospel-resources",
|
||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
||||
"integrity": "sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5",
|
||||
"integrity": "sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ",
|
||||
"elements": [
|
||||
"gospel-resources-map"
|
||||
],
|
||||
|
|
@ -745,7 +745,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -760,7 +760,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -775,7 +775,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": "<!-- 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<!-- Mapbox engine, fetched early. 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -790,7 +790,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -805,7 +805,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": "<!-- 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<!-- Mapbox engine, fetched early. 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -938,7 +938,7 @@
|
|||
"bundle": "plugin-studio",
|
||||
"scriptUrl": "./plugin-studio/plugin-studio.js",
|
||||
"output": "dx-maps/plugin-studio/plugin-studio.js",
|
||||
"integrity": "sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT",
|
||||
"integrity": "sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF",
|
||||
"elements": [
|
||||
"plugin-studio"
|
||||
],
|
||||
|
|
@ -968,7 +968,7 @@
|
|||
"scriptUrl": "./plugin-studio/plugin-studio.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./plugin-studio/plugin-studio/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=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -1185,7 +1185,7 @@
|
|||
"bundle": "rudder-voice",
|
||||
"scriptUrl": "./rudder-voice/rudder-voice.js",
|
||||
"output": "dx-maps/rudder-voice/rudder-voice.js",
|
||||
"integrity": "sha384-Pb1pQJqoB3wMTum8vw0uUrm7e74j90ytj1hNdIl/1HbRlfy1YoT0hf6ggWQ3qDNO",
|
||||
"integrity": "sha384-k35f+7ZzzkEl0s5QiO+EB8OksRe1MBgN2MSqPEw/AYNkencojRBIOV8hhIiyYI2z",
|
||||
"elements": [
|
||||
"rudder-voice"
|
||||
],
|
||||
|
|
@ -1206,7 +1206,7 @@
|
|||
"scriptUrl": "./rudder-voice/rudder-voice.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./rudder-voice/rudder-voice/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=\"./rudder-voice/rudder-voice.js\" integrity=\"sha384-Pb1pQJqoB3wMTum8vw0uUrm7e74j90ytj1hNdIl/1HbRlfy1YoT0hf6ggWQ3qDNO\" crossorigin=\"anonymous\"></script>\n<rudder-voice profile-config='{\"profile\":\"rudder-voice\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></rudder-voice>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./rudder-voice/rudder-voice.js\" integrity=\"sha384-k35f+7ZzzkEl0s5QiO+EB8OksRe1MBgN2MSqPEw/AYNkencojRBIOV8hhIiyYI2z\" crossorigin=\"anonymous\"></script>\n<rudder-voice profile-config='{\"profile\":\"rudder-voice\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></rudder-voice>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -32,7 +32,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -47,7 +47,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -32,7 +32,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -36,7 +36,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -19,6 +19,6 @@
|
|||
</head>
|
||||
<body>
|
||||
<plugin-studio tree-base="."></plugin-studio>
|
||||
<script src="./plugin-studio/plugin-studio.js" integrity="sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT" crossorigin="anonymous"></script>
|
||||
<script src="./plugin-studio/plugin-studio.js" integrity="sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -723,7 +723,7 @@
|
|||
"bundle": "gospel-resources",
|
||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"output": "dx-maps/gospel-resources/gospel-resources.js",
|
||||
"integrity": "sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5",
|
||||
"integrity": "sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ",
|
||||
"elements": [
|
||||
"gospel-resources-map"
|
||||
],
|
||||
|
|
@ -745,7 +745,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -760,7 +760,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -775,7 +775,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": "<!-- 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<!-- Mapbox engine, fetched early. 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -790,7 +790,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-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" 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-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -805,7 +805,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": "<!-- 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4vTYBz9CWcW4INkXPQ65rGv/si06Nqs6pfZ5W6BefzaMsSEGU7UJOUAHWYHt8Kl5\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
|
||||
"script": "<!-- Mapbox engine, fetched early. 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=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-YTtLUyewI45Vkl3zYJG3cbCdkmo0WeCYZOWNSwF+2Ho7bA9UoxUzpVM22AV0ebTJ\" 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>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -938,7 +938,7 @@
|
|||
"bundle": "plugin-studio",
|
||||
"scriptUrl": "./plugin-studio/plugin-studio.js",
|
||||
"output": "dx-maps/plugin-studio/plugin-studio.js",
|
||||
"integrity": "sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT",
|
||||
"integrity": "sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF",
|
||||
"elements": [
|
||||
"plugin-studio"
|
||||
],
|
||||
|
|
@ -968,7 +968,7 @@
|
|||
"scriptUrl": "./plugin-studio/plugin-studio.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./plugin-studio/plugin-studio/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=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF\" crossorigin=\"anonymous\"></script>\n<plugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></plugin-studio>"
|
||||
},
|
||||
"instances": [
|
||||
{
|
||||
|
|
@ -1185,7 +1185,7 @@
|
|||
"bundle": "rudder-voice",
|
||||
"scriptUrl": "./rudder-voice/rudder-voice.js",
|
||||
"output": "dx-maps/rudder-voice/rudder-voice.js",
|
||||
"integrity": "sha384-Pb1pQJqoB3wMTum8vw0uUrm7e74j90ytj1hNdIl/1HbRlfy1YoT0hf6ggWQ3qDNO",
|
||||
"integrity": "sha384-k35f+7ZzzkEl0s5QiO+EB8OksRe1MBgN2MSqPEw/AYNkencojRBIOV8hhIiyYI2z",
|
||||
"elements": [
|
||||
"rudder-voice"
|
||||
],
|
||||
|
|
@ -1206,7 +1206,7 @@
|
|||
"scriptUrl": "./rudder-voice/rudder-voice.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./rudder-voice/rudder-voice/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=\"./rudder-voice/rudder-voice.js\" integrity=\"sha384-Pb1pQJqoB3wMTum8vw0uUrm7e74j90ytj1hNdIl/1HbRlfy1YoT0hf6ggWQ3qDNO\" crossorigin=\"anonymous\"></script>\n<rudder-voice profile-config='{\"profile\":\"rudder-voice\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></rudder-voice>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./rudder-voice/rudder-voice.js\" integrity=\"sha384-k35f+7ZzzkEl0s5QiO+EB8OksRe1MBgN2MSqPEw/AYNkencojRBIOV8hhIiyYI2z\" crossorigin=\"anonymous\"></script>\n<rudder-voice profile-config='{\"profile\":\"rudder-voice\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></rudder-voice>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <plugin-studio> custom element. -->
|
||||
<script src="../plugin-studio.js" integrity="sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT" crossorigin="anonymous"></script>
|
||||
<script src="../plugin-studio.js" integrity="sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <plugin-studio> custom element. -->
|
||||
<script src="../../plugin-studio.js" integrity="sha384-kMfLBZoyoNeBFEHEhmIVfueffC02EyscRAapROvxTG0Xhu5cGFRnDsCsaI5XmqyT" crossorigin="anonymous"></script>
|
||||
<script src="../../plugin-studio.js" integrity="sha384-ZJxq+M/pz1pOuZC6GxyGkrI4ngDWNQ31VirCuC3qnJobBzrctQzdcP7DzllrqqJF" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <rudder-voice> custom element. -->
|
||||
<script src="../rudder-voice.js" integrity="sha384-Pb1pQJqoB3wMTum8vw0uUrm7e74j90ytj1hNdIl/1HbRlfy1YoT0hf6ggWQ3qDNO" crossorigin="anonymous"></script>
|
||||
<script src="../rudder-voice.js" integrity="sha384-k35f+7ZzzkEl0s5QiO+EB8OksRe1MBgN2MSqPEw/AYNkencojRBIOV8hhIiyYI2z" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
Loading…
Reference in a new issue