ghostguild-org/app/components
Jennie Robinson Faber 6f9e6a3d98 feat(events): guest accounts for public event registration
Non-members who register for an event now get a persistent identity:
with consent, a status:"guest" Member is upserted and an auth cookie is
set so the "You're Registered" state survives a page refresh.

Tiered auto-login matches passwordless-auth norms — auto-login is only
safe when the account holds no privileges:
- New email → create guest + cookie
- Returning guest → cookie
- Existing non-guest (active/pending/etc.) → attach ticket only, no
  cookie, confirmation email includes a sign-in link

Guests are gated on status === "guest", so admin/middleware code that
keys on status === "active" naturally excludes them. Guests are also
treated as non-members for ticket pricing/validation to prevent picking
up member-only pricing on their second registration.
2026-04-16 21:23:31 +01:00
..
admin feat(admin): add restore dismissed alerts flow 2026-04-08 12:22:35 +01:00
AppNavigation.vue Copy and layout improvements. 2026-04-16 21:11:05 +01:00
BoardPostCard.vue refactor(board): atomic delete + query limit + composable cleanup 2026-04-15 12:47:53 +01:00
BoardPostForm.vue feat(board): inline delete confirmation + a11y polish 2026-04-14 22:15:50 +01:00
CircleBadge.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
CirclePicker.vue feat(member): account/profile polish + tier upgrade flow 2026-04-14 20:35:37 +01:00
ColorModeToggle.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
ColumnsLayout.vue Member/Ecology revamp. 2026-04-14 09:25:09 +01:00
CooperativeTagSelector.vue fix(board): address review feedback on components 2026-04-14 17:08:52 +01:00
CraftTagSelector.vue Add CraftTagSelector, CooperativeTagSelector, and TagSuggestModal components 2026-04-05 16:23:22 +01:00
DashedBox.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
DevLoginPanel.vue Accessibility fixes. 2026-04-05 16:03:10 +01:00
EventSeriesBadge.vue Migrate design system from ethereal/cool to warm/craft/guild theme 2026-02-24 20:01:11 +00:00
EventSeriesTicketCard.vue Readying for design 2026-03-04 18:24:20 +00:00
EventsMiniSidebar.vue UX/UI improvements. 2026-04-05 13:26:51 +01:00
EventTicketCard.vue Event fixes 2026-04-14 16:17:55 +01:00
EventTicketPurchase.vue feat(events): guest accounts for public event registration 2026-04-16 21:23:31 +01:00
FilterBar.vue feat: add zine-direction shared components 2026-04-02 21:16:00 +01:00
ImageUpload.vue Readying for design 2026-03-04 18:24:20 +00:00
LoginModal.vue Huge bunch of UI/UX improvements and tweaks! 2026-04-06 16:17:12 +01:00
MemberStatusBanner.vue UI/UX tweaks and improvements. 2026-04-05 12:28:41 +01:00
MemberStatusIndicator.vue Many an update! 2025-12-01 15:26:42 +00:00
NaturalDateInput.vue feat: reskin admin pages to zine design system 2026-04-03 10:56:01 +01:00
OnboardingWidget.vue feat(member): account/profile polish + tier upgrade flow 2026-04-14 20:35:37 +01:00
PageHeader.vue feat(layout): add PageShell, ColumnsLayout, PageSection primitives 2026-04-08 15:51:38 +01:00
PageSection.vue feat(layout): add PageShell, ColumnsLayout, PageSection primitives 2026-04-08 15:51:38 +01:00
PageShell.vue feat(layout): add PageShell, ColumnsLayout, PageSection primitives 2026-04-08 15:51:38 +01:00
ParchmentInset.vue Design token updates. 2026-04-11 23:24:38 +01:00
SeriesPassPurchase.vue fix: use private helcimApiToken for all server-side Helcim API calls 2026-04-04 13:37:34 +01:00
TagSuggestModal.vue fix: correct POST body field name and state enum values in tag components 2026-04-05 16:25:10 +01:00
TierPicker.vue Copy and layout improvements. 2026-04-16 21:11:05 +01:00
TopStrip.vue Updates 2026-04-15 17:45:09 +01:00