Show RSVP'd events on the calendar, and move the demo catalogue onto the current month - #18
Merged
Merged
Conversation
…s month Signing up for an event did nothing to your calendar: both the agenda and the hour grid only listed events you had explicitly pinned, so an RSVP left no trace anywhere. On top of that the bundled catalogue was dated October– December 2025, so every list that filters to upcoming events was empty no matter what you did. - New utils/myEvents.ts + hooks/useMyEvents: one definition of "my events" (RSVP'd going/maybe, pinned, or hosting) now feeding the calendar grid, the mobile agenda, My Events and the Home interest profile. Recurring occurrences resolve to their series, so an RSVP covers every occurrence. - Removing an event from the calendar clears the RSVP that put it there; events you host can't be removed from your own calendar. - RSVPs now persist on the device in offline/demo mode and for dev personas, so "You're going" survives a reload instead of vanishing. - Pins are filed under the week the event actually falls in, not the week you happened to be viewing, and unpinning clears the pin whatever week it is in. - Mobile grid shows a rolling 3-day window starting today and opens on the first event of the range rather than an empty midnight. - data/allEvents.json is re-dated across the current month — some events already past, some today, the rest upcoming — via the new scripts/refreshEventDates.js (npm run refresh-events), which keeps ids and campus-local hours stable so saved RSVPs and pins still line up. - Winter/holiday-specific copy rewritten to be season-neutral, eight start-of-term events added, and the two unused stale mock data files dropped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug
Signing up for an event did nothing to your calendar. Both the mobile agenda and the hour grid only listed events you had explicitly pinned — an RSVP left no trace on any calendar surface. Compounding it, the bundled catalogue was dated October–December 2025, so every view that filters to upcoming events was empty no matter what you did.
What changed
One definition of "my events." New
utils/myEvents.ts+hooks/useMyEventsresolve everything you're going to, maybe attending, hosting, or pinned — and the calendar grid, mobile agenda, My Events screen and Home interest profile all read from it. Recurring occurrences resolve back to their series, so one RSVP covers every occurrence.Mobile grid fixes: a rolling 3-day window starting today (it was rendering a Sunday-aligned week squeezed onto a phone), opening on the first event of the range instead of an empty midnight.
Fresh data:
data/allEvents.jsonis re-dated across the current month — some events already past, some today, the rest upcoming — by the newscripts/refreshEventDates.js(npm run refresh-events). It preserves ids and campus-local hours, so RSVPs and pins already saved on a device still line up, and re-running it is idempotent. Winter/holiday-specific copy was rewritten season-neutral, eight start-of-term events were added, and the two unused stale mock data files were dropped.Verification
tsc0 errors, ESLint clean, 44/44 unit tests (15 new, covering the my-events selector and local RSVP store).pnpm buildsucceeds; postexport flattens 37 vendor assets.America/New_York: dev mode → persona → RSVP "Going" → reload → the event appears on the calendar agenda with a Going chip at the right local time, and under My Events → Upcoming.🤖 Generated with Claude Code
https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ
Generated by Claude Code