Personal Schedule Builder
A list of conference sessions, each with an Add/Remove toggle button. Added sessions appear live in a sticky My Schedule summary panel, which shows an empty-state message until at least one session is added. Perfect for multi-track conferences where attendees build their own agenda.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, badge dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/personal-schedule-builder.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/event/event5.tsx instead.
Usage
The file also exports event5Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Event5, event5Demo } from "@/components/blocks/event/event5"; export default function Page() { return <Event5 {...event5Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | "Build your agenda" | Small label above the heading. |
| heading | string | "Personal Schedule Builder" | Section heading. |
| description | string | "Add sessions to your personal schedule as you plan your day. Your picks show up in the summary panel." | Supporting copy under the heading. |
| sessions | ScheduleSession[] | none | Conference sessions available to add to the schedule. |
| className | string | none | Extra classes for the outer section element. |
Types
interface ScheduleSession { id: string; title: string; time: string; track: string; }
Behavior notes
- The Add/Remove toggle is real client-side state (useState<string[]> of added session ids) — toggling a session immediately adds or removes it from the My Schedule panel.
- The My Schedule panel derives its list directly from the added-ids state and shows a real empty-state message when nothing has been added yet.
- The Export to calendar button is decorative and has no download handler wired up.
More Event Blocks
View all →conference-hero-with-image
Conference Hero with Image
Split hero with a featured photo, date badge, location, attendee stat, and dual CTAs.
minimal-event-hero
Minimal Event Hero
Centered, image-free hero with an oversized heading, date/location line, and two CTAs.
event-hero-with-ticket-pricing
Event Hero with Ticket Pricing
Centered hero with an early-bird price, a strikethrough original price, and a deadline note.
event-hero-with-social-proof
Event Hero with Social Proof
Hero with a heading, a 3-stat strip (attendees/speakers/countries), and a trusted-by company row.
team-discount-calculator
Team Discount Calculator
Live quantity stepper that applies tiered group discounts to a seat total.
ticket-selection-cart
Ticket Selection Cart
Multi-tier ticket selector with per-tier quantity steppers and a live cart total.