Staaarter

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.

By Staaarter Team
Event
Docs
Live preview

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.json

Prefer 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

PropTypeDefaultDescription
eyebrowstring"Build your agenda"Small label above the heading.
headingstring"Personal Schedule Builder"Section heading.
descriptionstring"Add sessions to your personal schedule as you plan your day. Your picks show up in the summary panel."Supporting copy under the heading.
sessionsScheduleSession[]noneConference sessions available to add to the schedule.
classNamestringnoneExtra 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.