Skip to content

web: expand a signup row to show its custom fields and metadata - #3

Open
d4mr wants to merge 1 commit into
mainfrom
feat/signup-row-details
Open

web: expand a signup row to show its custom fields and metadata#3
d4mr wants to merge 1 commit into
mainfrom
feat/signup-row-details

Conversation

@d4mr

@d4mr d4mr commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

The signups table shows email, status, source and date. Anything a waitlist collects through custom fields never appeared in the admin, so you had to export a CSV to read it.

Each row now expands (click the row or the chevron in the new first column) into a details panel:

  • Custom fields, in the order the waitlist defines them, with their labels. Empty values show as a dash so the shape is the same on every row. Values submitted under a key that's since been removed from the schema are still listed by key.
  • Details: signed up, confirmed, unsubscribed (when set), source, IP address and user agent.

Expanded state is keyed by signup id, so it survives paging and refetches. The row actions menu stops propagation so opening it doesn't toggle the row. Skeleton and empty states account for the extra column.

No API change: the list endpoint already returned the full row including customData.

Test plan

  • bun run typecheck
  • Local D1 with a waitlist that has text/select/textarea custom fields; rows with full, partial and empty customData expand correctly, multi-line notes keep their line breaks
  • Menu on a row opens without toggling the row; chevron and row click both toggle
  • Deployed to a production instance (waitlist.veloccy.com) and verified behind Cloudflare Access

🤖 Generated with Claude Code

The signups table only had room for email, status, source and date, so anything collected through
custom fields was invisible in the admin. Each row now toggles open (click the row or the chevron)
to a details panel: the waitlist's custom fields in schema order with their labels, values submitted
under keys no longer in the schema, and the submission metadata (timestamps, source, IP, user agent).
Expanded state is keyed by signup id so it survives paging. The actions menu stops propagation so it
no longer toggles the row.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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