Staaarter

Keynote Speaker Profile

Featured keynote speaker spotlight: a large portrait photo, name, title/company, short bio, a highlighted session-topic line, and a row of decorative social icon links. Perfect for highlighting conference keynote presenters.

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

npx shadcn add https://staaarter.com/r/keynote-speaker-profile.json

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

Usage

The file also exports event11Demo, 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 { Event11, event11Demo } from "@/components/blocks/event/event11";

export default function Page() {
  return <Event11 {...event11Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"Keynote Speaker"Small label above the speaker's name.
namestringnoneSpeaker's full name.
rolestringnoneSpeaker's title and company.
biostringnoneShort biography paragraph.
sessionTopicstringundefinedSession topic and time, shown in a highlighted callout with a mic icon.
image{ src: string; alt: string }undefinedPortrait photo; renders a placeholder via MediaSlot when omitted.
socialLinksEvent11SocialLink[][]Row of icon-only social links below the bio.
classNamestringnoneExtra classes for the outer section element.

Types

interface Event11SocialLink {
  label: string;
  href: string;
  icon: "twitter" | "github" | "linkedin" | "email";
}

Behavior notes

  • This block's pinned lucide-react version has no dedicated Twitter/GitHub/LinkedIn brand icons, so each socialLinks entry maps its icon field to a generic substitute (AtSign, Code2, Briefcase, Mail) - the label text still names the real platform.
  • Social icon buttons render as plain anchors (Button with render={<a/>}) pointing at the href you pass; they are decorative in the demo, there is no real profile linking wired up.
  • The portrait uses MediaSlot and falls back to a placeholder gradient when no image prop is supplied.