← All reports

FUN-399 · conformance proof sheet · 2026-07-23

Attendee event pages, rebuilt against the six _v2 canonicals

Each row puts the rebuilt page beside the canonical mockup for the same state. Both are 420 px headless-Chrome captures at the same scale, so they register line-for-line. The mockups' dev toolbars were stripped before capture, so they render the way production would.

6 page types22 stateslight + dark mockups pulled from Drive at build startAPI 80/80 tests green

22 / 22 states match

Standard Invitation

funlet-attendee-event_v2.html

Active · responded Yes

std-active-yesstandard · active

Calendar row shows because the response is Yes (Session 56 gate).

BuiltActive · responded Yes — built page
MockupActive · responded Yes — canonical mockup

Active · no response yet

std-active-nonestandard · active

The mockup only ships the Yes-selected default. Here nothing is selected and the Calendar row is correctly absent.

BuiltActive · no response yet — built page
MockupActive · no response yet — canonical mockup

Past

std-paststandard · past

Neutral grey banner. Response and compose sections drop out; RSVP stays for history.

BuiltPast — built page
MockupPast — canonical mockup

Cancelled

std-cancelledstandard · cancelled

Error-red banner.

BuiltCancelled — built page
MockupCancelled — canonical mockup

Sync-Up

funlet-attendee-event-syncup_v2.html

Active · two slots voted

su-activesyncup · active

Stacked multi-select, solid-orange when selected, “None of these” last.

BuiltActive · two slots voted — built page
MockupActive · two slots voted — canonical mockup

Cancelled

su-cancelledsyncup · cancelled

BuiltCancelled — built page
MockupCancelled — canonical mockup

Closed

su-closedsyncup · closed

Info-blue banner — the state the server now returns once a winner is picked.

BuiltClosed — built page
MockupClosed — canonical mockup

Pulse Check

funlet-attendee-event-pulsecheck_v2.html

Active

pc-activepulsecheck · active

FUN-402: Maybe is back — three buttons and a Maybe bucket, mirroring Standard.

BuiltActive — built page
MockupActive — canonical mockup

Cancelled

pc-cancelledpulsecheck · cancelled

BuiltCancelled — built page
MockupCancelled — canonical mockup

Closed

pc-closedpulsecheck · closed

Fires when the organizer converts the pulse check.

BuiltClosed — built page
MockupClosed — canonical mockup

Limit Spots

funlet-attendee-event-limitspots_v2.html

Active · cap has room

ls-active-roomlimitspots · active-room

Two buttons (no Maybe), two buckets, Spots row between Location and Notes.

BuiltActive · cap has room — built page
MockupActive · cap has room — canonical mockup

Active · room · responded Yes

ls-active-room-yeslimitspots · active-room

Calendar appears on Yes only — a capped event has no Maybe to qualify.

BuiltActive · room · responded Yes — built page
MockupActive · room · responded Yes — canonical mockup

Active · cap full

ls-active-fulllimitspots · active-full

Yes disabled, locked helper copy. This fixture keeps Yes·4 consistent with “4 of 4 filled”; the mockup’s own demo data says 2.

BuiltActive · cap full — built page
MockupActive · cap full — canonical mockup

Past

ls-pastlimitspots · past

BuiltPast — built page
MockupPast — canonical mockup

Cancelled

ls-cancelledlimitspots · cancelled

BuiltCancelled — built page
MockupCancelled — canonical mockup

Recurring

funlet-attendee-event-recurring_v2.html

Active · session 1 of 9

rec-activerecurring · active

Date and Time split into their own rows; the page title carries “· Session N of M”.

BuiltActive · session 1 of 9 — built page
MockupActive · session 1 of 9 — canonical mockup

Past

rec-pastrecurring · past

Banner echoes the page-title format rather than the bare event name (Session 88 divergence).

BuiltPast — built page
MockupPast — canonical mockup

Cancelled

rec-cancelledrecurring · cancelled

BuiltCancelled — built page
MockupCancelled — canonical mockup

Recurring + Limit Spots

funlet-attendee-event-recurring-limitspots_v2.html

Active · cap has room

rls-active-roomrecurring-limitspots · active-room

BuiltActive · cap has room — built page
MockupActive · cap has room — canonical mockup

Active · cap full

rls-active-fullrecurring-limitspots · active-full

Noun-phrase helper — “Session 5 of Pickleball is full…”, not the page-title form.

BuiltActive · cap full — built page
MockupActive · cap full — canonical mockup

Past

rls-pastrecurring-limitspots · past

BuiltPast — built page
MockupPast — canonical mockup

Cancelled

rls-cancelledrecurring-limitspots · cancelled

BuiltCancelled — built page
MockupCancelled — canonical mockup

Dark mode

one state per type · prefers-color-scheme: dark

Standard · active

std-active-yesstandard · active

BuiltStandard · active — built page
MockupStandard · active — canonical mockup

Sync-Up · active

su-activesyncup · active

BuiltSync-Up · active — built page
MockupSync-Up · active — canonical mockup

Pulse Check · active

pc-activepulsecheck · active

BuiltPulse Check · active — built page
MockupPulse Check · active — canonical mockup

Limit Spots · cap full

ls-active-fulllimitspots · active-full

BuiltLimit Spots · cap full — built page
MockupLimit Spots · cap full — canonical mockup

Recurring · active

rec-activerecurring · active

BuiltRecurring · active — built page
MockupRecurring · active — canonical mockup

Recurring + LS · cap full

rls-active-fullrecurring-limitspots · active-full

BuiltRecurring + LS · cap full — built page
MockupRecurring + LS · cap full — canonical mockup