Commit graph

185 commits

Author SHA1 Message Date
swift-river542
99873d85d9 Maps drop-in moves to /embed/doxa-maps-build; old /js links redirect
- The generated maps output now lives under public/embed/ next to the embed page;
  the site's map slots, the full-page maps view and the embed page point there
- /js/doxa-maps-build/** and the older /js/doxa-maps/** answer 301 to the new location,
  so links already shared keep working
- Frame policy follows the new path
2026-09-16 19:05:50 -05:00
swift-river542
d8dbf6f358 Maps drop-in: UPG-100 bundle without the data file's bookkeeping fields 2026-09-16 18:30:28 -05:00
swift-river542
e0655ea0e0 Maps drop-in is three entries: index.html, assets/, doxa-maps/
- index.html is the generated maps page (lists every bundle, mounts the chosen one, Open page /
  Copy embed); the hand-written shell files, the legacy external/ builds and _headers are gone
- Bundles ship without CSS comments (about 5% smaller)
- Share pages: comment wording tidied
2026-09-16 18:25:32 -05:00
swift-river542
1d3b8a50b3 Maps drop-in: legend table columns no longer overlap (UUPGs / Population sized for the larger desktop type) 2026-09-16 17:34:29 -05:00
swift-river542
4bd9f25194 Research page: remove the “See all our research maps” link under the map 2026-09-16 17:14:37 -05:00
swift-river542
9071f04d3c Maps drop-in: prayer legend progress bar, larger desktop legend text, smoother mobile sheet
- Prayer legend header is now "Progress" with a hoverable has/needs/full bar (658 of 2,107 · 31%)
- Desktop legend type scale increased across every map's legend
- Mobile legend/detail sheet: no transition while dragging, 44px grab zone, one geometry source; map
  attribution and controls slide up with the sheet so nothing overlaps
- No basemap flash on load; blue provider badge removed (default Mapbox attribution stays)
2026-09-16 16:42:29 -05:00
swift-river542
b4329c007b One global research-map-link rule for the “→ more maps” invitation under every map; research page uses it too 2026-09-16 16:24:32 -05:00
swift-river542
06537ae4b7 Research page: “See all our research maps, there’s more! →” sits under the map’s bottom-right corner 2026-09-16 16:22:38 -05:00
swift-river542
dc9189b86c “Explore our research maps →” links use the body text size, matching “By Region →” 2026-09-16 16:13:06 -05:00
swift-river542
736733d784 Map slot: own compositor layer so the rounded clip applies from the first frame 2026-09-16 16:07:54 -05:00
swift-river542
5f280da46e Mobile map slots: 9:16 instead of 1:2 — shorter than before, still one screen tall 2026-09-16 16:05:40 -05:00
swift-river542
bedb90fb71 Map slots clip their rounded corners at paint time so the map never shows square corners while loading 2026-09-16 15:50:28 -05:00
swift-river542
3c9735974c People-group page: map card corners stay rounded while the map iframe loads (clip-path + radius on the frame) 2026-09-16 15:44:54 -05:00
swift-river542
e5c8185623 Refresh the doxa-maps drop-in: basemap is dark from the first frame on the simple and research maps 2026-09-16 15:11:40 -05:00
swift-river542
d7c5a2ec05 Refresh the doxa-maps drop-in: single Mapbox badge on the research map, smoother maps (no per-frame reactive overhead, throttled prayer glow) 2026-09-16 14:40:33 -05:00
swift-river542
71c7d0a030 Token alias: explain the fallback role in product terms 2026-09-16 13:22:52 -05:00
swift-river542
8b9e51c188 Keep the doxa-maps drop-in frameable: route rule sends frame-ancestors * for its bundles and leaf pages 2026-09-16 13:10:44 -05:00
swift-river542
1021fe0018 Drop-in carries only bundles, leaf pages and the data they fetch — staging/preview pages removed from the public folder 2026-09-16 13:03:12 -05:00
swift-river542
15b2900bc3 Remove the README from the public doxa-maps drop-in — docs do not ship in the served folder 2026-09-16 12:43:00 -05:00
swift-river542
4e17521eb2 Refresh the doxa-maps drop-in: all-people-groups bundle joins the tree 2026-09-16 12:13:33 -05:00
swift-river542
aee7c01115 Home page map slot uses the prayer page's rounded-md so its corners match the map 2026-09-16 11:55:17 -05:00
swift-river542
c9ca2da642 Make map share links host-agnostic, add CORS to the token endpoint, align Mapbox GL to v3.24.0
- The Share button now derives embed URLs from where the bundle is actually hosted
  (profile-config.shareUrl -> embedBaseUrl -> window.MAP_EMBED_BASE_URL -> the bundle's own
  script URL), so generated links work on localhost, on doxa.life and on any CDN
- Generated map pages try token endpoints in order (override -> https://doxa.life/api/maps/token
  -> same-origin /api/maps/token) instead of failing on a single URL
- GET /api/maps/token sends Access-Control-Allow-Origin: * so map pages hosted on another
  origin can fetch a token
- useDoxaMap loads mapbox-gl v3.24.0 to match the bundles
- Refresh the doxa-maps drop-in: upg-100 combined map+lists page, share toolbar on every map,
  shared legend radius token
2026-09-16 11:45:59 -05:00
swift-river542
3040d3286c Fix leaf-map Mapbox token endpoint (.json alias) + add README maps/token docs
The drop-in leaf maps' token ladder requests /api/maps/token.json (rung 5),
but the endpoint is /api/maps/token — the .json path 404'd, so the
engagement/prayer/adoption maps failed to fetch their Mapbox token. Add a
server route alias that re-exports the token handler so the .json path
resolves (GET /api/maps/token.json -> 200).

Add README with a 'Maps & map tokens' section: MapLibre needs no token,
Mapbox needs a public (pk) token, and how/where the token is served via
GET /api/maps/token (NUXT_PUBLIC_MAPBOX_TOKEN / NUXT_MAPBOX_KEY).
2026-09-16 07:35:59 +00:00
doxa-maps
b8dd843b25 Re-sync doxa-maps-build: the All People Groups map joins the SPA 2026-09-16 07:34:10 +00:00
doxa-maps
65d1997bd4 Merge latest GitHub master (embed page #24, card guards, SendGrid) + wire embed page to the drop-in
The team's /embed/map iframe page now loads its bundles from
/js/doxa-maps-build/doxa-maps/<bundle>/<bundle>.js (the old flat /js paths were
retired). Everything else from master merges clean.
2026-09-16 05:44:12 +00:00
doxa-maps
c1d21e86fa Merge remote-tracking branch 'github/master' into doxa-maps-build 2026-09-16 05:43:25 +00:00
doxa-maps
4d176ed40c Re-sync doxa-maps-build: research-map six-tab fix 2026-09-16 05:40:41 +00:00
doxa-maps
a1346924cf Legacy /js/doxa-maps/* paths 301 to the doxa-maps-build drop-in 2026-09-16 05:20:46 +00:00
doxa-maps
481b652be7 Clean public build: QA-free bundles, logo dedupe, red-dot hint, pray-glow, copy-embed staging 2026-09-16 05:13:46 +00:00
doxa-maps
a7035914b3 Bare pages get zero site chrome: feedback bubble opts out on layout:false pages 2026-09-16 05:01:05 +00:00
doxa-maps
b384a89c3e Remove field-access data from the public build (release governance)
The visas/field-access table is gone from assets/tables, the tables index, and
the key-cities data view. Public-good datasets (internet gaps, gospel resources,
people-group data) remain.
2026-09-16 04:34:34 +00:00
doxa-maps
ce5e7798f2 Re-sync doxa-maps-build: embed snippets carry utm_source placeholders 2026-09-16 04:24:32 +00:00
doxa-maps
14d762f9f1 /doxa-maps is a full page: layout:false (site header/footer overlapped the SPA) 2026-09-16 04:21:28 +00:00
doxa-maps
d0257609b6 Re-sync doxa-maps-build: embed-URL utm_source propagation + /doxa-maps forwards ?utm_source
Every embedded map now inherits ?utm_source= from its embed URL and stamps it on
people-group click-throughs (pray.doxa.life/<slug>?...&utm_source=<yours>) — the
question-mark traffic attribution the team asked for.
2026-09-16 04:04:37 +00:00
doxa-maps
946ccfd8f6 /doxa-maps uses the site's EXISTING /api/maps/token endpoint
doxa-life already ships the right token source (pk passthrough or 1-hour
sk-minted tk, built precisely for public/ embeds). The page fetches it once and
hands it to the shell via its native ?tk= rung — works in pk AND sk
configurations, zero new token surfaces.
2026-09-16 03:46:57 +00:00
doxa-maps
1b81162021 One token spot: the SPA page passes ?tk= — extra token endpoint removed
The shell's own ladder already accepts ?tk= (rung 2), so /doxa-maps passes the
same public.mapboxToken every map page on this site uses. The server route added
earlier duplicated the token surface for no benefit — deleted.
2026-09-16 03:44:32 +00:00
doxa-maps
3c41b741de /doxa-maps: the full maps SPA on the site + 'See all DOXA maps' pointer
- The drop-in now carries the bundler's app shell beside doxa-maps/ (index.html,
  nav, icons, pane-wrapper, external bundles, assets), so /js/doxa-maps-build/
  index.html IS the composed single-page app — every map, lazy-loaded.
- New page /doxa-maps frames it full-bleed (replaces the /maps easter egg).
- The research page gains the pointer: 'See all DOXA maps →' (mirrors the
  prayer→research pattern).
- server route serves the shell's ./api/maps/token.json from the site's own
  NUXT_PUBLIC_MAPBOX_TOKEN — no secret in the drop-in.
2026-09-16 03:27:10 +00:00
doxa-maps
9d33a08113 doxa-maps-build: the bundler's output ships in public/, embeddables retired
- public/js/doxa-maps-build/ carries every map as a self-contained embeddable
  web component (+ per-map pages, manifest with SRI) — the home/pray/adopt/
  research pages load their maps from it via useDoxaMap.
- embeddables/ is removed altogether; the drop-in replaces it.
- New unlisted page /maps: the map room — frames the drop-in's staging index,
  every map in one place, always as current as the build in this repo.
2026-09-16 03:24:15 +00:00
doxa-maps
9a66847005 Re-sync doxa-maps-build: maplibre-capable pages + provider-aware demo 2026-09-16 03:05:53 +00:00
doxa-maps
75c75cbe60 Re-sync doxa-maps-build: conversion coach-mark + refreshed SRI 2026-09-16 01:11:42 +00:00
doxa-maps
fc7dd878bb Re-sync doxa-maps-build: utm_source conversion links + refreshed SRI 2026-09-16 00:43:33 +00:00
doxa-maps
908a220550 One output folder under the js path: public/js/doxa-maps-build/
Consolidate to a single map output location: remove the stale flat
public/js/*.js bundles and move the drop-in to public/js/doxa-maps-build/. Rewired
useDoxaMap to /js/doxa-maps-build/doxa-maps/<bundle>/<bundle>.js and fixed page comments.
2026-09-15 23:14:06 +00:00
doxa-maps
e99b65ac16 Rename drop-in output folder: doxa-maps-cdn -> doxa-maps-build
'cdn' was a misnomer — the bundler's output is just static files that can be
served same-origin, enqueued directly into the app, OR via a CDN. 'doxa-maps-build'
names it for what it is: the built output of the doxa-maps bundler. Rewired
useDoxaMap.ts (/doxa-maps-build/doxa-maps/<bundle>/<bundle>.js) and the drop-in README.
2026-09-15 23:09:31 +00:00
doxa-maps
0fb726a4cb Wire doxa-life to load maps from the doxa-maps-cdn drop-in
useDoxaMap now loads the built bundles from /doxa-maps-cdn/doxa-maps/<bundle>/
<bundle>.js (the doxa-maps bundler output folder placed in public/), replacing
the old flat /js/*.js paths so the maps actually resolve on the live site.
2026-09-15 22:32:13 +00:00
doxa-maps
94c67f30c5 Scrub last '1040-maps' codename from a research page comment 2026-09-15 22:29:26 +00:00
doxa-maps
950e5c2d5d Remove legacy 1040-maps bundler; superseded by the doxa-maps repo
The old embeddables/micro-frontends/1040-maps bundler is replaced by the
standalone doxa-maps repo, whose built output is served from
public/doxa-maps-cdn/. The old bundler is preserved on the archive/1040-maps
branch. This also removes the internal '1040' term from the public repo.
2026-09-15 22:28:44 +00:00
doxa-maps
ad967b4024 cdn: drop doxa-maps build output into public/doxa-maps-cdn (drop-in embeddable maps)
Self-contained JAMstack bundler output (doxa-maps/ bundles + per-map index.html + manifest +
assets/). Every map embeddable via <script> or <iframe> from /doxa-maps-cdn/. key-cities excluded.
2026-09-15 15:49:22 +00:00
corsacca
ca2addcfac
add embeddable map page for iframes (#24)
- serves at /embed/map with tab, lang, map and utm_source query params
- fetches the mapbox token at load and points the bundle at the prayer api
- strips the bundle's source tag from prayer links and applies utm_source
2026-09-15 15:28:54 +01:00
corsacca
cea9583792 guard people group cards against missing region, rop1 and country fields 2026-09-15 14:57:16 +01:00
corsacca
4dfee08d13 replace mailgun with sendgrid for transactional email
- send through the sendgrid v3 json api via direct fetch with a
  manually cleared abort timeout; mailhog stays for development
- drop nodemailer-mailgun-transport and its types
- swap MAILGUN_* runtime config and env example for SENDGRID_API_KEY
  and optional SENDGRID_HOST
2026-09-15 11:16:44 +01:00