Skip to content

feat: scaffold Vite+React artist landing page with mock data#9

Open
midineutron wants to merge 40 commits into
mainfrom
feat/artist-page-refactor
Open

feat: scaffold Vite+React artist landing page with mock data#9
midineutron wants to merge 40 commits into
mainfrom
feat/artist-page-refactor

Conversation

@midineutron

Copy link
Copy Markdown
Collaborator

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

emper911 and others added 30 commits March 26, 2026 00:25
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add functions/src/index.js: notionSync webhook + backfill HTTPS functions
- Add functions/src/transform.js: pure Notion property extractors for all 4 data types
- Add functions/package.json: firebase-admin v12, firebase-functions v6, ESM
- Update firebase.json: add functions config (source, runtime)
- All 16 Notion pages successfully backfilled to Firestore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Handle Notion url_verification and verification_token challenges
  before signature check so subscription setup succeeds
- Skip signature check when secret is placeholder (setup phase)
- Remove debug body logging added during verification troubleshooting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
EventCard gated the "tickets →" link on status === "upcoming", but shows
in Notion use statuses like "published"/"draft" and never "upcoming", so
the link never rendered. The feed already restricts shows to future,
non-cancelled entries via visibility rules, so the link only needs a URL.

Also add "draft" to the shows hiddenStatuses so draft shows are hidden
rather than displayed without a link.

https://claude.ai/code/session_01RJ6zRimyYWjW1RyWh2S9yc
Show cards now pick their CTA label from a new "cta-type" Notion select
(ticket/stream/watch/listen) instead of a hardcoded "tickets" label, so
the artist can switch a show from "Tickets" to "Watch"/"Listen" once it
has been recorded. transform.js syncs cta-type into the Firestore doc;
ctaLabelForShow() maps it to the button label.

Also drop the futureOnly visibility rule for shows so past (recorded)
shows stay in the feed and can surface their watch/listen link.

https://claude.ai/code/session_01RJ6zRimyYWjW1RyWh2S9yc
Add Upcoming/Past sub-tabs that appear when the Shows filter is active,
defaulting to Upcoming. Upcoming lists future-dated shows soonest-first;
Past lists recorded shows most-recent-first. The sub-tab resets to
Upcoming each time the Shows filter is opened.

Also make the featured-show hero (HeroEvent) use ctaLabelForShow so a
featured recorded show shows Watch/Listen instead of a hardcoded label.

https://claude.ai/code/session_01RJ6zRimyYWjW1RyWh2S9yc
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.

3 participants