Skip to content

Show RSVP'd events on the calendar, and move the demo catalogue onto the current month - #18

Merged
Hef50 merged 1 commit into
mainfrom
claude/project-state-oml8d3
Aug 12, 2026
Merged

Show RSVP'd events on the calendar, and move the demo catalogue onto the current month#18
Hef50 merged 1 commit into
mainfrom
claude/project-state-oml8d3

Conversation

@Hef50

@Hef50 Hef50 commented Aug 12, 2026

Copy link
Copy Markdown
Owner

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/useMyEvents resolve 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.

  • Removing an event from the calendar now also clears the RSVP that put it there (the × means "not on my calendar"); events you host can't be removed from your own calendar.
  • RSVPs persist on the device in offline/demo mode and for dev personas, so "You're going" survives a reload instead of vanishing with React state.
  • 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's in.

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.json is re-dated across the current month — some events already past, some today, the rest upcoming — by the new scripts/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

  • tsc 0 errors, ESLint clean, 44/44 unit tests (15 new, covering the my-events selector and local RSVP store).
  • pnpm build succeeds; postexport flattens 37 vendor assets.
  • Headless flow on an iPhone 14 profile in 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

…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
@Hef50
Hef50 merged commit ce367fb into main Aug 12, 2026
2 checks passed
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.

2 participants