shadcn.io is not affiliated with official shadcn/ui
Event Manager CRUD Block for Radix UI
A meetup organiser's desk: three events beside the chosen event's guest list, a quick line that adds a guest, an RSVP select per guest, a waitlist that promotes the first person in line when a seat opens, and one Undo for both changes.
Installation
Overview
Run a small event with seats and a waiting list, with this event manager for React with Radix UI. A hairline frame with a plus mark on each corner puts three events at the start, each with its date and "8 of 8 going", and the chosen event at the end. The event's title edits where it sits with an Editable, and its date takes a day after the fourteenth of October. A quick line, an Input with the one Shine Button, adds a guest on Enter, and every guest has an RSVP in a Native Select: Going, Maybe or No. Seats are counted from the list: once the capacity is reached the next guest to say Going reads "Waitlist 1", and when someone with a seat says No or is removed, the first in line moves up and the foot says so by name. One Undo puts both changes back. The guest list is a frame of fixed height with an Empty state, and the bands are ruled by Guides. For meetups, classes, workshops and any list with a limit.
FAQ
How do I fill it with my events and guests?
Edit EVENTS (an id, a title, an ISO date and a capacity) and START_LINES (event, name and RSVP, in the order people joined). The seats and the waitlist are never typed: a guest holds a seat if they said Going and are among the first capacity who did, in joined order.
How does the waitlist move up?
Because seats come from the order, removing a Going guest or changing them to No or Maybe simply lets the next Going guest in line count among the first few. The block compares who held a seat before and after, and the foot names the people who moved ("Zainab Mortlock moved off the waitlist"). Changing a Maybe to Going when the event is full adds them to the end of the waitlist.
How do I rename an event or change its date?
Press the title or Edit, type, and press Enter to save or Escape to go back; an empty title is refused and the old one stays. The date uses the browser's date field, and a day on or before the fourteenth is refused with the reason under it.
What does Undo reverse?
Adding a guest, a change of RSVP and a removal, each as one step, together with any promotion that came with it. Renaming and re-dating are not part of Undo; edit them again to change them back.