doxa-life + doxa-maps drop-in CDN (public/doxa-maps-cdn) — Forgejo working copy
Find a file
driver ffade36fb2 Maps: nothing from api.mapbox.com stands in front of a map; Mapbox is reachable through the provider setting
1. The page no longer loads Mapbox GL and the geocoder before the map bundle. They came from
   api.mapbox.com, in one try with the bundle, so a slow or blocked Mapbox CDN meant NO map at all,
   even with MapLibre, which needs nothing from Mapbox. Each dx-maps map loads its own engine, its CSS
   and its geocoder, once, when it is built (ensureEngineScript in dx-maps' useMapInstance.js, which
   reuses a loaded engine and never loads it twice). So the page now loads only the map bundle, in its
   own try; Mapbox is fetched only when Mapbox is the provider, by the map, after the bundle.
2. The provider is always passed explicitly: 'mapbox' when the site chose it
   (NUXT_PUBLIC_MAP_PROVIDER=mapbox with NUXT_PUBLIC_MAPBOX_TOKEN), otherwise 'maplibre'. A token
   alone never selects Mapbox in dx-maps, so before this, choosing Mapbox had no effect: the maps ran
   MapLibre carrying a token. Fixed in DoxaMapSlot (home, pray, adopt, research, country) and on
   /deep-research.

Lineage: the provider handling (app/utils/mapProvider.ts and DoxaMapSlot's use of it) is NOT
production's code; it came with the drop-in lineage (b045200, an ancestor of 9860e78). DX Life
production (github master fc4d622) has no provider setting. The script chain in useDoxaMap is
production's pattern, which production needs for its own /js bundles; this branch loads dx-maps
bundles, which carry their own engine loader. With the default settings (MapLibre), home, pray and
adopt render the same map as before; they only stop downloading the unused Mapbox scripts and CSS.
The token handling matches production: the public token, passed only in Mapbox mode.
2026-09-29 19:19:26 +00:00
.claude/skills replace the CMS definitions page with the terminology page 2026-09-23 13:14:08 +01:00
app Maps: nothing from api.mapbox.com stands in front of a map; Mapbox is reachable through the provider setting 2026-09-29 19:19:26 +00:00
config finish ro translation 2026-09-18 20:32:35 +01:00
documentation LAPTOP-6WAY: two routes, drop-in (this branch, no Docker) and subdomain (the container) 2026-09-29 03:35:51 +00:00
embeddables feat: sync arabic translation 2026-09-25 11:34:14 +01:00
i18n/locales feat: sync arabic translation 2026-09-25 11:34:14 +01:00
migrations Let categories have child categories for nested pages. (#6) 2026-05-21 06:00:54 -05:00
modules Regions is a view of the Research Gallery: the /regions index redirects there (every language); menu item off; detail pages kept 2026-09-28 20:46:49 +00:00
public Drop-in: public/dx-maps from dx-maps development 1bbc5ff87, snippets absolute for this site 2026-09-29 03:01:14 +00:00
server feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
.blueprints.json init 2026-04-21 12:12:54 +01:00
.editorconfig init 2026-04-21 12:12:54 +01:00
.env.example Maps default to MapLibre (keyless); Mapbox by NUXT_PUBLIC_MAP_PROVIDER=mapbox with a token 2026-09-28 17:11:57 +00:00
.gitignore read the glossary from pray.doxa.life instead of a vendored file 2026-09-18 10:06:13 +01:00
.mcp.json Implement CMS MCP 2026-04-29 13:06:54 +01:00
bun.lock feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
DX-MAPS-GALLERY.md DX-MAPS-GALLERY.md: the gallery is the hidden Deep Research page; the Research page has the simple map 2026-09-29 18:56:54 +00:00
eslint.config.mjs phase 1 2026-04-21 12:35:27 +01:00
i18n.config.ts phase 2 2026-04-21 13:27:38 +01:00
nuxt.config.ts Deep Research page: the Research Gallery on a hidden page; the Research page shows the simple map 2026-09-29 18:42:38 +00:00
package.json feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
tsconfig.json init 2026-04-21 12:12:54 +01:00