Skip to content

Show the merged chapter calendars on the communities page - #1142

Open
jacquesallen wants to merge 3 commits into
PauseAI:mainfrom
jacquesallen:communities-merged-events
Open

jacquesallen wants to merge 3 commits into
PauseAI:mainfrom
jacquesallen:communities-merged-events

Conversation

@jacquesallen

@jacquesallen jacquesallen commented Sep 18, 2026 •

Copy link
Copy Markdown

The problem

The Events section on /communities is a hardcoded iframe of the global calendar (cal-E1qhLPs5IvlQr8S), so national chapter events never appear in it. Meanwhile /api/calendar already merges the global calendar with every national chapter calendar in national-chapters.json, and that merged feed is used only to place pins on the map.

The result is that chapter events are fetched and then shown nowhere except as map markers. Fetching the live endpoint right now returns 36 events across the UK, Australian, German, French, Dutch and other chapters, none of which a visitor can see in the Events list.

This is the second half of a discovery problem: someone searching for PauseAI events lands here, sees the global calendar, and is sent on to a chapter page. (I have a companion PR on the UK chapter site adding per-city feeds there.)

The change

A new src/lib/components/UpcomingEvents.svelte renders the merged feed, one row per event with its date and a link to Luma. It fetches /api/calendar itself, in the same shape as the existing NearbyEvent.svelte.

The communities page then only swaps the iframe for <UpcomingEvents /> and adds the import. Nothing about the map changes: it keeps its own ?days=30 request and its markers behave exactly as before.

Things for you to decide

  • The list styling is deliberately plain and reuses --border-luma-embed and --text-subtle. If you would rather keep the Luma look, an embed of a merged calendar would also work, but Luma has no merged-calendar embed as far as I can tell, which is what pushed me to render it here.
  • The component makes its own request rather than sharing the page's, so the page issues two calls to /api/calendar (one with days=30 for the map). I judged the decoupling worth it, given the endpoint sets a one hour cache and NearbyEvent.svelte already fetches it independently. Happy to thread the data through instead if you prefer.
  • Worth a look separately: /api/calendar returns the same 36 events for both no parameter and ?days=365, ending on 14 October, while the UK calendar alone has events on 20 October, 1 November and 5 December. Something upstream of the days filter is truncating, either paginationLimit: 20 or query-string-insensitive caching. This PR does not attempt to fix that.

Checks

I could not run the full build here, so this is not as verified as I would like. Both files compile clean under Svelte 5.57 for client and SSR with zero warnings, including no unused-CSS warnings, and both pass your Prettier config unchanged. Neither has been run against a live dev server, so please give the rendering a look on the deploy preview.

Written with Claude and reviewed by me before opening.

@netlify

netlify Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for pauseai canceled.

Name Link
🔨 Latest commit eb45262
🔍 Latest deploy log https://app.netlify.com/projects/pauseai/deploys/6aadb099fad6ef0008b5b7cb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant