Merge branch 'main' of https://git.nuxtbase.app/doxa-life/doxa-maps into bundler-1/work
Some checks are pending
build-gate / build (push) Waiting to run
# Conflicts: # public/doxa-maps/index.html
|
|
@ -99,11 +99,12 @@ One `<iframe>` tag, no build step. Copy the `embed.iframe` snippet from `manifes
|
|||
|
||||

|
||||
|
||||
### 2. Mobile app — UPG-100 on a phone 🛠️ in progress
|
||||
### 2. Mobile app — UPG-100 on a phone ✅ built
|
||||
|
||||
The UPG-100 list, shipped on its own as a Capacitor app. It is being finished for phones now;
|
||||
its screenshot lands here when it is ready. `bun run check:mobile` · `bun run phone` (needs
|
||||
Android SDK + JDK 17)
|
||||
The UPG-100 prayer lists and posters, shipped on their own as a Capacitor app: one poster per row,
|
||||
print options that wrap to fit. `bun run check:mobile` · `bun run phone` (needs Android SDK + JDK 17)
|
||||
|
||||
<p align="center"><img src="documentation/readme-images/deploy2-mobile-upg100.png" alt="Method 2 — the UPG-100 list at phone size" width="320"></p>
|
||||
|
||||
### 3. JavaScript embed — the Research Gallery on dx-life ✅ production
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
BIN
documentation/readme-images/deploy2-mobile-upg100.png
Normal file
|
After Width: | Height: | Size: 892 KiB |
|
|
@ -21,15 +21,15 @@
|
|||
},
|
||||
"cap4-upg100-list": {
|
||||
"bundle": "my-upg-100-list",
|
||||
"sha256": "ff98986714934370a76742e3aa492a15ce67b959888f03092a453595103313d2"
|
||||
"sha256": "04e217ca6851d9aec3f9a9331c5105f1f63c60c76c8bc268b9f6c2ea26cf614f"
|
||||
},
|
||||
"cap4-upg100-mfe": {
|
||||
"bundle": "my-upg-100-list",
|
||||
"sha256": "ff98986714934370a76742e3aa492a15ce67b959888f03092a453595103313d2"
|
||||
"sha256": "04e217ca6851d9aec3f9a9331c5105f1f63c60c76c8bc268b9f6c2ea26cf614f"
|
||||
},
|
||||
"cap4-upg100-poster-wall": {
|
||||
"bundle": "my-upg-100-list",
|
||||
"sha256": "ff98986714934370a76742e3aa492a15ce67b959888f03092a453595103313d2"
|
||||
"sha256": "04e217ca6851d9aec3f9a9331c5105f1f63c60c76c8bc268b9f6c2ea26cf614f"
|
||||
},
|
||||
"cap5-doxa-maps-spa": {
|
||||
"bundle": "doxa-maps-spa",
|
||||
|
|
@ -38,5 +38,9 @@
|
|||
"cap5-plugin-studio": {
|
||||
"bundle": "plugin-studio",
|
||||
"sha256": "c3d32d94d2df407fc35cea91faf0d46670abf52a63d37000486760361a588a5c"
|
||||
},
|
||||
"deploy2-mobile-upg100": {
|
||||
"bundle": "my-upg-100-list",
|
||||
"sha256": "04e217ca6851d9aec3f9a9331c5105f1f63c60c76c8bc268b9f6c2ea26cf614f"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,9 +103,15 @@ async function measure(width) {
|
|||
}
|
||||
const ctrls = all.filter((e) => /\\b(pbtn|pstock)\\b/.test((e.className||'').toString())).filter(vis)
|
||||
const tiny = ctrls.filter((e) => { const b = e.getBoundingClientRect(); return b.width < 18 || b.height < 10 })
|
||||
// FITS is not READABLE, and this gate asserted only the weaker one. A control 40px wide passes
|
||||
// every size check while showing five characters of a 76px label — measured, 81 of 108 controls
|
||||
// clipped, with Prayer List and Poster Map both rendering as Pra... A row made to fit by hiding
|
||||
// what its buttons SAY has not been fixed. scrollWidth > clientWidth is the browser telling us
|
||||
// the text did not fit its box.
|
||||
const clipped = ctrls.filter((e) => e.scrollWidth > e.clientWidth + 1)
|
||||
return { cards: cards.length, rows: cards.filter((c) => c.querySelector('.pfs')).length,
|
||||
overflowing, worst, intrusions, coveringPreview, worstY,
|
||||
previewsPainted, previewsBroken, noPreview,
|
||||
previewsPainted, previewsBroken, noPreview, clipped: clipped.length,
|
||||
controls: ctrls.length, tiny: tiny.length }
|
||||
})()`)
|
||||
await page.close()
|
||||
|
|
@ -128,7 +134,7 @@ for (const r of results) {
|
|||
+ ` · over-preview ${r.coveringPreview}${r.worstY ? ` (${r.worstY}px)` : ''}`
|
||||
+ ` · previews ${r.previewsPainted} painted`
|
||||
+ `${r.previewsBroken ? `/${r.previewsBroken} BROKEN` : ''}${r.noPreview ? `/${r.noPreview} none` : ''}`
|
||||
+ ` · ${r.controls} control(s), ${r.tiny} too small`)
|
||||
+ ` · ${r.controls} control(s), ${r.tiny} too small, ${r.clipped} clipped`)
|
||||
}
|
||||
|
||||
const fails = []
|
||||
|
|
@ -144,6 +150,13 @@ for (const r of results) {
|
|||
fails.push(`${at}: ${r.tiny} print control(s) shrank below a usable size — fitting the row by `
|
||||
+ 'crushing the buttons is not a fix')
|
||||
}
|
||||
// AND THE LABELS MUST BE READABLE. Same failure in a subtler form: the control keeps a usable
|
||||
// BOX while its text is ellipsised away, so a reader cannot tell Prayer List from Poster Map.
|
||||
if (r.clipped) {
|
||||
fails.push(`${at}: ${r.clipped} of ${r.controls} print control(s) have CLIPPED labels `
|
||||
+ '(scrollWidth exceeds clientWidth) — the button is big enough to press and no longer says '
|
||||
+ 'what it does')
|
||||
}
|
||||
// The row belongs BELOW the preview. Driver-reported 2026-09-24: "the download print options are
|
||||
// not showing up under the blue outline, they are overlapping where the blue outline would be".
|
||||
// THE PREVIEW MUST ACTUALLY BE THERE. A card with no image passes every geometry assertion
|
||||
|
|
|
|||
|
|
@ -352,13 +352,12 @@ virtualPages.set('/__readme-iframe-host.html', `<!doctype html>
|
|||
await shot('deploy1-iframe', '/__readme-iframe-host.html',
|
||||
{ vp: { width: 1000, height: 700 }, wait: 11000, countFrames: true, mapboxReferer: false })
|
||||
|
||||
// ---- DEPLOY2: mobile — deliberately NOT shot yet ----
|
||||
// The mobile example is UPG-100 (ruled 2026-09-24). Simple Research was retired as the example:
|
||||
// it was never built for phones (legend, a bottom button cut off by the page edge, unreadable
|
||||
// prompt). Once its phone layout is finished, add a shot named deploy2-mobile-upg100 of
|
||||
// /doxa-maps/my-upg-100-list/upg-100-mfe/index.html at vp 390x844, dsf 3, and embed it in
|
||||
// README.md under method 2. (Not written as code here: check:shots parses shot calls, even in
|
||||
// comments, and would demand a PNG that does not exist yet.)
|
||||
// ---- DEPLOY2: mobile — the UPG-100 list as the phone app ----
|
||||
// The mobile example is UPG-100 (ruled 2026-09-24; Simple Research was retired as the example because
|
||||
// it was never built for phones). Shot once its owner marked the phone layout ready at 88a566f:
|
||||
// posters one per row, the legend a bottom sheet flush with the map, print options wrapping.
|
||||
await shot('deploy2-mobile-upg100', '/doxa-maps/my-upg-100-list/upg-100-mfe/index.html',
|
||||
{ vp: { width: 390, height: 844 }, wait: 10000, dsf: 3 })
|
||||
|
||||
// ---- DEPLOY3: JS embed — the Research Gallery on a real host site ----
|
||||
// The whole cap-5 gallery JS-embedded on dx-life's research page (a <script src> plus one element,
|
||||
|
|
|
|||
|
|
@ -607,7 +607,10 @@ useShadowStyles(`
|
|||
pointer-events: auto;
|
||||
}
|
||||
.stl-panel.closed { transform: translateX(-100%); opacity: 0; pointer-events: none; }
|
||||
.stl-panel.fit-content { max-height: calc(100% - 72px); }
|
||||
/* Derived from --stl-top for the same reason as the base rule above: a fixed 72px here overflowed
|
||||
whenever the profile's real offset was larger (UPG-100 sets 58px + a 12px bottom margin = 70px of
|
||||
required clearance, against 72px only by luck; at --stl-top:8px it wasted 64px of panel height). */
|
||||
.stl-panel.fit-content { max-height: calc(100% - var(--stl-top, 60px) - 12px); }
|
||||
.stl-titlebar {
|
||||
display: flex; align-items: center; gap: 6px;
|
||||
padding: 8px 12px; flex-shrink: 0;
|
||||
|
|
@ -923,7 +926,21 @@ useShadowStyles(`
|
|||
.stl-reopen-caret { color: #6e7681; flex-shrink: 0; }
|
||||
.stl-reopen:hover .stl-reopen-caret { color: #c9d1d9; }
|
||||
@media (max-width: 640px) {
|
||||
.stl-panel { width: 92vw; max-width: 380px; top: 64px; max-height: calc(100vh - 72px); }
|
||||
/* ⚠ TWO BUGS LIVED IN THIS ONE LINE, and both are the same mistake: a number that has to agree
|
||||
with another number, written out twice.
|
||||
|
||||
1. THE CAP MEASURED THE WRONG BOX. calc(100vh - 72px) sizes the panel against the VIEWPORT,
|
||||
while the panel is positioned inside the MAP (position:absolute within .upg-map{inset:0}).
|
||||
Those agree only when the map fills the screen — true of every standalone leaf, false the
|
||||
moment a host puts a header above the map or content below it, which is how the element is
|
||||
actually embedded. 100% is the map's own box, the same reference the desktop rule uses.
|
||||
2. THE OFFSET AND THE CAP DISAGREED. top:64px with max-height:calc(... - 72px) subtracts a
|
||||
constant that has nothing to do with the offset above it. --stl-top makes one value drive
|
||||
both, so they cannot drift apart again.
|
||||
|
||||
MEASURED 2026-09-24 at 390px in a 420px-tall host: the panel ran 38px past the bottom of the
|
||||
map. Driver: "the upg 100 list legend on the map is overflowing beyond the height of the map." */
|
||||
.stl-panel { width: 92vw; max-width: 380px; --stl-top: 64px; }
|
||||
.stl-reopen { top: 64px; }
|
||||
}
|
||||
.stl-panel[data-theme="light"] .stl-inner {
|
||||
|
|
|
|||
|
|
@ -458,7 +458,11 @@ useShadowStyles(
|
|||
// GAP must clear the OVERHANGING TAPES, not just the card boxes: the header tape
|
||||
// sits at top:-11px and the footer fieldset at bottom:-14px, so a 26px row gap
|
||||
// left ~1px of real air and the wall read as one dense block.
|
||||
'.grid{display:grid;gap:64px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));' +
|
||||
// ⚠ THE ROW GAP MUST CLEAR THE PRINT ROW. .pfs hangs BELOW its card (top:100%, margin-top:-14px),
|
||||
// so the vertical gap is what keeps it off the next card. 64px was tuned when that row was one
|
||||
// line at 35px; wrapping it to two lines takes 78px and needs 78-14=64 — exactly the gap, with
|
||||
// nothing spare, which showed up as 5 rows intruding into the card below. 88px leaves real room.
|
||||
'.grid{display:grid;gap:88px 30px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));' +
|
||||
'max-width:1180px;margin:0 auto}' +
|
||||
// The per-row control. Sits above its own grid, right-aligned so it reads as a setting for the
|
||||
// block below rather than as content, and inherits the wall's type so it does not announce
|
||||
|
|
@ -499,24 +503,33 @@ useShadowStyles(
|
|||
// the card's outline. Horizontal overflow traded for vertical. min-width:0 alone lets the
|
||||
// controls compress on ONE line, which is what the row was always meant to be.
|
||||
// The gate that passed this only measured horizontal edges; it now measures the row's top too.
|
||||
'.pfs{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);' +
|
||||
// ⚠ ANCHORED AT THE TOP, NOT THE BOTTOM. This was bottom:-14px, so any growth pushed the row
|
||||
// UPWARD over the preview — which is exactly how wrapping it turned a sideways overflow into
|
||||
// a vertical one the driver saw. Anchoring at top:100% pins it just under the card, so the
|
||||
// second line grows DOWN into empty space. MEASURED: 92px between the preview's bottom and
|
||||
// the next card, of which the single-line row used 35 — 51px spare.
|
||||
'.pfs{position:absolute;top:100%;margin-top:-14px;left:50%;transform:translateX(-50%);' +
|
||||
// ⚠ min-width:0 ON THE FIELDSET ITSELF. A <fieldset> gets `min-width:min-content` from the
|
||||
// UA stylesheet, which OVERRIDES width and max-width — measured: computed width 431px
|
||||
// inside a 212px card while the rule said 82%. That is the real reason `width:82%` read as
|
||||
// correct in source for so long and the row still burst the card.
|
||||
'width:82%;max-width:82%;min-width:0;box-sizing:border-box;margin:0;padding:0 4px 3px;' +
|
||||
'border:1px solid rgba(0,0,0,.14);' +
|
||||
'border-radius:2px;background:#fff;display:flex;flex-wrap:nowrap;gap:2px;justify-content:center;' +
|
||||
'border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:2px;justify-content:center;' +
|
||||
'box-shadow:0 1px 4px rgba(0,0,0,.10)}' +
|
||||
// Let every control shrink inside the row rather than push it open. overflow:hidden +
|
||||
// text-overflow keeps a squeezed label readable instead of spilling.
|
||||
'.pfs > .pbtn,.pfs > .pstock{min-width:0;max-width:100%;overflow:hidden;' +
|
||||
'text-overflow:ellipsis;white-space:nowrap}' +
|
||||
// ⚠ NO ELLIPSIS CRUSH. min-width:0 alone let three 76-79px labels share 172px — 40px each,
|
||||
// about five characters, so 'Prayer List' and 'Poster Map' both read 'Pra…'. MEASURED: 81
|
||||
// of 108 controls clipped. Fitting a row by hiding what its buttons say is not fitting it.
|
||||
// flex-basis:auto + wrap lets each control take the width its LABEL needs and flow to a
|
||||
// second line, which there is room for now that the row grows downward.
|
||||
'.pfs > .pbtn{flex:0 1 auto;min-width:0;white-space:nowrap}' +
|
||||
// ⚠ THE <select> IS THE ONE THAT WILL NOT SHRINK. Measured: with min-width:0 applied to
|
||||
// every child, .pstock still rendered 188px inside a 198px row because a <select> sizes to
|
||||
// its WIDEST OPTION and `flex:0 1 auto` keeps that as its basis. flex-basis:0 makes it share
|
||||
// the row like the buttons do; a cap keeps it from dominating the three text controls.
|
||||
'.pfs > .pstock{flex:1 1 0;max-width:38%}' +
|
||||
'.pfs > .pstock{flex:0 1 auto;min-width:0;max-width:100%}' +
|
||||
'.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}' +
|
||||
'.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;' +
|
||||
'letter-spacing:.6px;font-weight:700;color:#8a93a0}' +
|
||||
|
|
|
|||
|
|
@ -515,8 +515,21 @@ useShadowStyles(
|
|||
// Driver kept reporting. One host cannot be fixed by breaking the other, so the offset is
|
||||
// conditional on the pill EXISTING: default raised to 8px (matching .stl-panel's own left
|
||||
// inset), pushed down only when a rendered geocoder is actually in the tree.
|
||||
'.stl-panel{top:8px!important}' +
|
||||
'.upg-root:has(.mapboxgl-ctrl-geocoder) .stl-panel{top:58px!important}' +
|
||||
// ★ SET --stl-top, DO NOT SET top DIRECTLY. The library caps the panel at
|
||||
// calc(100% - var(--stl-top, 60px) - 12px) (SemanticTreeLegend.vue:605), so the offset and the
|
||||
// height cap MUST come from one value. Overriding top alone moved the panel down while the cap
|
||||
// kept subtracting the OLD offset, and the two silently disagreed.
|
||||
// MEASURED 2026-09-24, upg-100-list hosted in a 420px-tall frame at 390px wide: top resolved to
|
||||
// 58px while max-height resolved to calc(100% - 20px), so the panel ran to 458px in a 420px map
|
||||
// and HUNG 38px PAST THE BOTTOM OF THE MAP — exactly 58 - 20. Same 38px at a 560px frame, because
|
||||
// the error is the offset mismatch, not the map's size. Driver 2026-09-24: "the upg 100 list
|
||||
// legend on the map is overflowing beyond the height of the map".
|
||||
// ⚠ WHY THIS IS INVISIBLE ON EVERY PUBLISHED LEAF: a standalone leaf gives the map the FULL
|
||||
// viewport, and a panel that overflows a full-height map is still inside the screen. It only
|
||||
// shows when a host makes the map SHORTER than the viewport, which is how the element is really
|
||||
// embedded. Verify in a constrained host, never on the bare leaf.
|
||||
'.stl-panel{--stl-top:8px!important}' +
|
||||
'.upg-root:has(.mapboxgl-ctrl-geocoder) .stl-panel{--stl-top:58px!important}' +
|
||||
// Geocoder suggestion metadata layout (clone — bold field labels for PG rows).
|
||||
'.dg-main{font:13px/1.3 ui-monospace,monospace}' +
|
||||
'.dg-meta{margin-top:2px;font-size:11px;color:#475569;display:flex;flex-wrap:wrap;gap:8px}' +
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <country-posters-map> custom element. -->
|
||||
<script src="../country-posters.js" integrity="sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j" crossorigin="anonymous"></script>
|
||||
<script src="../country-posters.js" integrity="sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <country-posters-map> custom element. -->
|
||||
<script src="../country-posters.js" integrity="sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j" crossorigin="anonymous"></script>
|
||||
<script src="../country-posters.js" integrity="sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <country-posters-map> custom element. -->
|
||||
<script src="../country-posters.js" integrity="sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j" crossorigin="anonymous"></script>
|
||||
<script src="../country-posters.js" integrity="sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
2
public/doxa-maps/index.html
generated
24
public/doxa-maps/manifest.json
generated
|
|
@ -158,7 +158,7 @@
|
|||
"bundle": "country-posters",
|
||||
"scriptUrl": "./country-posters/country-posters.js",
|
||||
"output": "doxa-maps/country-posters/country-posters.js",
|
||||
"integrity": "sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j",
|
||||
"integrity": "sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH",
|
||||
"elements": [
|
||||
"country-posters-map"
|
||||
],
|
||||
|
|
@ -178,7 +178,7 @@
|
|||
"scriptUrl": "./country-posters/country-posters.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
"scriptUrl": "./country-posters/country-posters.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -206,7 +206,7 @@
|
|||
"scriptUrl": "./country-posters/country-posters.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-CONItvVegTgNTDURbgn8e3HcQ6rHwPbFja2DEuSlzX3ZHh5S0vNc8VnnV0QSAT4j\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./country-posters/country-posters.js\" integrity=\"sha384-8fQR1xHoPidgeI7VU/Z82bxA303lsM/UZXfsgRu8MZG/Z5ASzgiel/am7dHiO2kH\" crossorigin=\"anonymous\"></script>\n<country-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></country-posters-map>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -681,7 +681,7 @@
|
|||
"bundle": "my-upg-100-list",
|
||||
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
|
||||
"output": "doxa-maps/my-upg-100-list/my-upg-100-list.js",
|
||||
"integrity": "sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7",
|
||||
"integrity": "sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI",
|
||||
"elements": [
|
||||
"my-upg-100-list-map"
|
||||
],
|
||||
|
|
@ -701,7 +701,7 @@
|
|||
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -715,7 +715,7 @@
|
|||
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -729,7 +729,7 @@
|
|||
"scriptUrl": "./my-upg-100-list/my-upg-100-list.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI\" crossorigin=\"anonymous\"></script>\n<my-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></my-upg-100-list-map>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -879,7 +879,7 @@
|
|||
"bundle": "regions-dashboard",
|
||||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"output": "doxa-maps/regions-dashboard/regions-dashboard.js",
|
||||
"integrity": "sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B",
|
||||
"integrity": "sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP",
|
||||
"elements": [
|
||||
"regions-dashboard"
|
||||
],
|
||||
|
|
@ -899,7 +899,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -913,7 +913,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -927,7 +927,7 @@
|
|||
"scriptUrl": "./regions-dashboard/regions-dashboard.js",
|
||||
"embed": {
|
||||
"iframe": "<iframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP\" crossorigin=\"anonymous\"></script>\n<regions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></regions-dashboard>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
90
public/doxa-maps/my-upg-100-list/my-upg-100-list.js
generated
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7" crossorigin="anonymous"></script>
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7" crossorigin="anonymous"></script>
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <my-upg-100-list-map> custom element. -->
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-4QjITklNF8dldIMyzCtJ89iM0orN98L0CNHUbBo04Vtis/xxe1qkkEFQkCF/04i7" crossorigin="anonymous"></script>
|
||||
<script src="../my-upg-100-list.js" integrity="sha384-hBqkpEcVb+g3Pbin8O8dlRGJGUTfOGUoU5zCCQhr7wwWkDafVraBZCQfBItxRKcI" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
|
||||
<!-- Bundle IIFE — registers the <regions-dashboard> custom element. -->
|
||||
<script src="../regions-dashboard.js" integrity="sha384-f0saWo0w/M5QsdVssuZErE234tQH8CRxHpAaHtQ8oSVaHGV2e3O9HCOUfP4SKg4B" crossorigin="anonymous"></script>
|
||||
<script src="../regions-dashboard.js" integrity="sha384-Jvx1V3YrtL3L0p6eqByA/1hw4IWz6NpLp7Uza6fbl3HZCVa7JiAR5WMFvYsN6tPP" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||