diff --git a/DX-MAPS-GALLERY.md b/DX-MAPS-GALLERY.md index 45b1660b..5c05f3b2 100644 --- a/DX-MAPS-GALLERY.md +++ b/DX-MAPS-GALLERY.md @@ -1,17 +1,21 @@ -# Research Gallery on /research, and every map served from /dx-maps/ +# Deep Research (the Research Gallery) on a hidden page, and every map served from /dx-maps/ -This branch replaces the Research page with the **Research Gallery**: the research maps, dashboards -and lists in one app, filling the page below the site header, on desktop and phone. Every other map -on the site now loads from the same build tree. +This branch adds the **Deep Research** page, `/deep-research`: the Research Gallery (the research +maps, dashboards and lists in one app), filling the page below the site header, on desktop and +phone. The page is **hidden**: it is in no menu, and robots are told not to index it; it is reached +by its address. The Research page is DX Life's own again, with the production simple map. Every map +on the site loads from the same build tree. ## What changed | | | |---|---| -| `public/dx-maps/` | **The dx-maps output folder, dropped in** (doxa-maps `main` 11129455e, `public/dx-maps/`, copied unchanged). Every map on this site loads from it, same-origin. | -| `app/pages/research/index.vue` | **The Research Gallery.** The page loads one script (`/dx-maps/doxa-maps-spa/doxa-maps-spa.js`) and adds one element (``), sized to the viewport below the header; its `tree-base` is built at runtime from the page's own origin. The previous content (the "By Region" link, the single research map and the UUPG list) is **kept but switched off**: set `SHOW_LEGACY_RESEARCH = true` in the page to bring it back. | +| `public/dx-maps/` | **The dx-maps output folder, dropped in** (doxa-maps `development` 1bbc5ff87, `public/dx-maps/`, copied unchanged). Every map on this site loads from it, same-origin. | +| `app/pages/deep-research/index.vue` | **Deep Research: the Research Gallery.** The page loads one script (`/dx-maps/doxa-maps-spa/doxa-maps-spa.js`) and adds one element (``), sized to the viewport below the header; its `tree-base` is built at runtime from the page's own origin. It gives the gallery `profile-config` `{"experimental": false}`, so the gallery's Experimental folder is hidden (galleries built before that flag ignore it). Hidden: in no menu, `robots: noindex`. | +| `app/pages/research/index.vue` | **The Research page, DX Life's own:** the heading, the "By Region" link and the UUPG list, with the production simple map (`doxa-simple-map`) carrying the Engagement, Prayer and Adoption tabs, the same map the home, pray and adopt pages each show one tab of. | +| `app/pages/regions/index.vue`, `app/utils/nav.ts`, `nuxt.config.ts` | `/regions` is DX Life's own index again, with its menu item, and `/countries` goes to it (`USE_LEGACY_REGIONS_PAGE` and `LEGACY_REGIONS_PAGE` on). Set both off to send `/regions` to a gallery tab instead. | | `app/composables/useDoxaMap.ts` | The home (engagement), pray (prayer) and adopt (adoption) maps now load `/dx-maps/doxa-simple-map/doxa-simple-map.js`; the research-map key loads `/dx-maps/doxa-research-map/doxa-research-map.js`. Mapbox GL moves from v3.3.0 to v3.24.0, the version the dx-maps bundles are built and tested with. | -| `app/components/DoxaMapSlot.vue` | With no Mapbox token configured, it asks the map for the keyless MapLibre engine (see **Map engine**). With a token, the config passes through unchanged. | +| `app/components/DoxaMapSlot.vue` | With no Mapbox token configured, it asks the map for the keyless MapLibre engine (see **Map engine**). With a token, the config passes through unchanged. The map fills the slot's box, not the viewport (`--profile-min-h: 0`), so the slot never cuts off the map's attribution and bottom controls. | | `public/embed/map/index.html`, `public/research/doxa-research-map.html` | The same: bundles from `/dx-maps/`, Mapbox GL v3.24.0. | | `public/js/doxa-simple-map.js`, `public/js/doxa-research-map.js` | **Kept, unused.** No page loads them any more (every map loads from `/dx-maps/`), but they stay in place so nothing DX-life relied on is deleted. | @@ -28,9 +32,9 @@ before. If it is not set (for example, a fresh laptop with no `.env`), every map gallery and the home, pray and adopt maps) uses the keyless MapLibre engine (OpenFreeMap tiles) instead of refusing to start. So the whole site's maps work with no secrets at all. -**Footer.** The gallery is a full-page app: it fills exactly the space between the header and the -bottom of the screen. The site footer is kept, directly below it, where a scroll reaches it. So the -app is never squeezed, and the footer's links stay on the page. +**One scrollbar.** The gallery is a full-page app: it fills exactly the space between the header and +the bottom of the screen. The Deep Research page has no footer and does not scroll itself, so the +only scrollbar is the gallery's own. **Phone.** The gallery opens straight on a map (Simple Research). Its list of views sits behind the ☰ button. Big Picture is marked **Desktop only** there (it needs a wide screen); every other view @@ -43,18 +47,19 @@ bun install bun run dev ``` -Then open (Nuxt prints the port if 3000 is taken). No database +Then open (Nuxt prints the port if 3000 is taken). No database or `.env` is needed for this page. Without `DATABASE_URL`, the dev server only logs "skipping migrations". -- Arabic: -- Open a specific view: `/research/?tab=prayer-map` (also `research-map-plus-grid`, +- Arabic: +- Open a specific view: `/deep-research/?tab=prayer-map` (also `research-map-plus-grid`, `regions-dashboard`, `upg-100`, and so on). +- The Research page with the simple map: - Share and embed links in the maps point at this site's own `/dx-maps/` pages. - To run it against a **local** dx-maps, and to try all three ways a site can take the gallery (drop-in, CDN, subdomain) with the exact ports and settings: [documentation/LAPTOP-6WAY.md](documentation/LAPTOP-6WAY.md). -## Deployment method: the dx-maps output folder dropped in (this branch, research-gallery-drop-in) +## Deployment method: the dx-maps output folder dropped in (this branch, mobilization-maps, from research-gallery-drop-in) Identical to research-gallery-js (maps from the CDN), except that the dx-maps **output folder is dropped into `public/dx-maps/`** and every map loads **same-origin** from it: `NUXT_PUBLIC_DX_MAPS_BASE` defaults to empty, which means this