feat(dashboard): edit a ticket tier from its card - #374
Conversation
The registrations page listed tiers as rows of text. They are now a two-column grid of cards carrying the tier's availability badge, title and price, and each card opens the ticket type dialog on the tier it shows. The dialog does double duty: given a tier it prefills and saves through the list's setValue, otherwise it inserts as before. Publication moved into it as a checkbox, since the card's badge reports it and nothing else could change it from the dashboard. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
❌ UI Demo Check failedThis pull request changes the UI (4 file(s) under 🛠️ How to fix
Either one re-runs this check automatically. |
Greptile SummaryThe PR turns ticket tiers into editable cards and extends the existing ticket-type dialog to support both creation and updates.
Confidence Score: 5/5The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issue identified. The create and edit paths preserve explicit tier selection, submit the expected catalog fields, handle failures before closing, and include browser coverage for the newly introduced edit workflow.
|
| Filename | Overview |
|---|---|
| dashboard/src/components/dashboard/events/TicketTypeDialog.vue | Extends the dialog with edit-mode prefilling, publication control, and shared create/update submission without an accepted correctness issue. |
| dashboard/src/pages/manage/events/EventRegistrations.vue | Replaces ticket rows with editable cards and routes saves to insertion or update based on the selected tier. |
| dashboard/src/data/tickets.ts | Includes the publication field in the event ticket-type list projection. |
| dashboard/src/types.ts | Extends the dashboard ticket-tier shape with publication state. |
| e2e/tests/manage-event.spec.ts | Covers creating a tier, editing its price from the card, and observing the refreshed value. |
Reviews (1): Last reviewed commit: "feat(dashboard): edit a ticket tier from..." | Re-trigger Greptile
What changed
Ticket tiers on the Manage Registrations page were a list of text rows. They are
now a two-column grid of cards: availability badge on top (green "Available" when
published, gray "Sale Ended" when not), tier title, then a banknote icon with the
price.
Each card is a button that opens the existing ticket type dialog on that tier. The
dialog handles both modes — given a tier it prefills and saves through the list's
setValue, otherwise it inserts as before — so the page keeps one dialog instanceand the list refreshes itself either way. Publication moved into the dialog as a
checkbox, since the card's badge reports it and nothing else in the dashboard
could change it.
is_publishedwas added to the tier list fields and theTicketTypetype; thelist call already read the doctype directly, so no API change.
Not changed: no delete action on a tier, and the create flow is untouched apart
from the new checkbox.
Demo
Testing
vue-tsc --noEmitclean forsrc/.e2e/tests/manage-event.spec.ts: creates a tier, clicksits card, changes the price, asserts the success toast and the updated card.
Left to CI to run.
🤖 Generated with Claude Code