Staaarter

Speaker Sessions Schedule

Speaker cards displaying multiple sessions per presenter: each card has a speaker photo, name, and title, followed by a small list of that speaker's session titles, each with a time, location, and a session-type badge (Workshop, Talk, or Panel). Perfect for multi-track conferences with recurring speakers.

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 badge, avatar, avatar-initials dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/speaker-sessions-schedule.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/event/event12.tsx instead.

Usage

The file also exports event12Demo, 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 { Event12, event12Demo } from "@/components/blocks/event/event12";

export default function Page() {
  return <Event12 {...event12Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"Schedule"Small label above the heading.
headingReactNode"Speaker sessions"Section heading.
descriptionstringundefinedSupporting paragraph under the heading.
speakersEventSpeakerSchedule[]noneSpeaker cards, each with its own list of sessions.
classNamestringnoneExtra classes for the outer section element.

Types

interface EventSession {
  title: string;
  time: string;
  location: string;
  type: "Workshop" | "Talk" | "Panel";
}

interface EventSpeakerSchedule {
  name: string;
  role: string;
  image?: { src: string; alt: string };
  sessions: EventSession[];
}

Behavior notes

  • Purely presentational: session rows are static text/badges with no links or handlers, there is no real schedule data source wired up.
  • AvatarFallback shows initials (via initialsFromName) whenever a speaker's image is omitted or fails to load.