Skip to content

Feature/event rsvp calendar - #30

Merged
alyssalee06 merged 4 commits into
mainfrom
feature/event-rsvp-calendar
Jul 9, 2026
Merged

Feature/event rsvp calendar#30
alyssalee06 merged 4 commits into
mainfrom
feature/event-rsvp-calendar

Conversation

@alyssalee06

Copy link
Copy Markdown
Contributor

What this PR does

Builds out the full events and calendar infrastructure for the community portal.

Changes

Calendar export (EventActions.js)

  • "+ Google Calendar" and "+ iCal" buttons on every event card with a start/end time
  • Also shown on the World Cup Party success screen after RSVP

Automated reminder emails (scripts/event-reminders.gs)

  • Google Apps Script that reads RSVP registration sheets and sends reminder
    emails at 1 week, 1 day, and 1 hour before each event
  • Runs on an hourly time-driven trigger

Live Google Calendar feed (ArmorEvents.js)

  • Events page now fetches upcoming events from the Anote community Google Calendar
  • Merges with hardcoded past-event list; deduplicates by title
  • No code changes needed to add future events — just add to the calendar

Calendar embed (ArmorEvents.js)

  • New "📅 Calendar View" toggle shows the community Google Calendar embedded
    as an agenda view directly on the events page

Admin event creation (CreateEventAdmin.js + create-event.gs)

  • Internal form at /community/admin/create-event
  • POSTs to a Google Apps Script web app that creates the event in the calendar
  • Event appears on the site within seconds of submission

Event sync script (scripts/sync-events-to-calendar.js)

  • One-time Node.js script to push existing hardcoded upcoming events into
    the Google Calendar — World Cup Party already synced

API key update

  • Migrated all 6 Google-powered pages to a new key with Sheets + Calendar APIs enabled

alyssalee06 and others added 4 commits July 9, 2026 11:12
- ArmorEvents.js fetches upcoming events from a public Google Calendar
  via the Calendar REST API; merges with hardcoded past-event list and
  deduplicates by title so no event appears twice
- EVENT_ROUTE_MAP maps calendar event titles to internal routes/images
  for events that have dedicated community pages (e.g. World Cup Party)
- Calendar events without a dedicated page link to the Google Calendar
  event; custom image supported via "image: /path" first line in description
- Updated API key across all 6 Sheets-powered components to a new key
  with both Sheets and Calendar APIs enabled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…website

- scripts/create-event.gs: Google Apps Script web app that accepts event
  data (title, description, start/end, location, imagePath) and creates
  the event in the Anote community calendar via CalendarApp service
- CreateEventAdmin.js: internal-only form at /community/admin/create-event
  that POSTs to the Apps Script; event appears on the events page automatically
- Wired route and import into Main.js; added communityCreateEventPath constant

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ArmorEvents.js: new Calendar View toggle shows the Anote community
  Google Calendar embedded as an agenda iframe; Cards/Calendar toggle
  sits alongside the existing All/Upcoming/Past filter tabs
- scripts/sync-events-to-calendar.js: one-time Node.js script that POSTs
  upcoming hardcoded events (with startISO/endISO) to the Apps Script to
  create them in Google Calendar; World Cup Party already synced

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@alyssalee06
alyssalee06 merged commit 3102e80 into main Jul 9, 2026
1 check 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.

1 participant