Commit graph

21 commits

Author SHA1 Message Date
corsacca
eae6143be1
Replace country pages with region dashboards (#23)
* replace country pages with region dashboards

- move /countries to /regions, with 301 redirects from the old URLs in
  every locale
- add a region dashboard: a map of the region's countries with pins
  coloured by prayer coverage, headline figures, and prayer, adoption and
  engagement progress against the DOXA goals, plus a per-country table
- roll up progress stats per country and region in the shared summary
  and serve them from /api/regions
- frame region maps with antimeridian-aware bounds
- add Regions to the hamburger menu and translate the new strings in all
  eight locales

* put each region on the regions index in a card with a header band

The region name links to its dashboard with the site's chevron icon, and
the people-group and country counts sit centred beside it on a brand-green
header; the country list is the padded white card body.
2026-09-07 11:49:24 +01:00
corsacca
ea5406c0e9 add per-country pages with dedicated highlight map
add /countries index grouped by WAGF region and /countries/[country] pages
derive countries from prayer API (slug, count, map center/zoom) via config/countries-meta and /api/countries
prerender country routes for all locales via modules/country-routes
add CountryMap component: highlight focus country, brand-green in-country pins, muted border pins, popups
show bold green note above the map stating people-group count
lock UupgsList to a country and link card country names to country pages
add i18n keys for the new strings
2026-06-15 12:09:44 +01:00
corsacca
314a1b9eee support unlisted vimeo and fix video display. 2026-05-22 10:15:30 +01:00
corsacca
01cd6ba4f4 support vimeo video embeds alongside youtube in cms editor
add framework-agnostic vimeo tiptap node (id-only src, renders player iframe)
register vimeo in shared extension set for editor and server renderer
replace youtube prompt with generic insert-video modal (detects platform)
allowlist vimeo in validator with digits-only src check
track vimeo as a lossy node for markdown round-trip detection
2026-05-21 14:31:27 +01:00
corsacca
6f918a9d85
Let categories have child categories for nested pages. (#6)
* Let categories have child categories for nested pages.

* fixes
2026-05-21 06:00:54 -05:00
corsacca
a8998bbed8 build tweaks. 2026-05-20 13:06:54 +01:00
corsacca
67e5d29a30 Don't throw errors when saving CMS pages. 2026-05-07 13:35:26 +01:00
corsacca
fb5c3bf486 mcp security 2026-04-29 15:07:30 +01:00
corsacca
127d89d084 Implement CMS MCP 2026-04-29 13:06:54 +01:00
corsacca
c85389f497 Add settings table and setting to disable registration 2026-04-28 15:17:26 +01:00
corsacca
54aaef6bae
User invitation (#3)
* Implement user invitation

* fix /admin styles clash on dev

* Fix user invite issues
2026-04-28 06:26:59 -05:00
corsacca
847258f9ae CMS page translation 2026-04-27 13:33:31 +01:00
corsacca
3355a926a2 Cache fixes 2026-04-23 18:16:37 +01:00
corsacca
4114e21042 Better CMS page routing and Caching. 2026-04-23 14:05:40 +01:00
corsacca
2d4e47af33 Central tiptap block definitions 2026-04-23 11:05:05 +01:00
corsacca
3dd17ef692 switch to public s3 for images in CMS 2026-04-23 10:56:15 +01:00
corsacca
a3919e0764 phase 7 2026-04-22 08:19:38 +01:00
corsacca
b2c7b22aa1 phase 6 2026-04-21 15:39:53 +01:00
corsacca
b2975650ec phase 5 2026-04-21 14:41:43 +01:00
corsacca
dd5255ba69 phase 1 2026-04-21 12:35:27 +01:00
corsacca
6f5313f990 init 2026-04-21 12:12:54 +01:00