Staaarter

Event Hosts Section

Host profiles: photos, short bios, and social media icon links, displayed in a two-column grid that collapses to a single column on mobile. Perfect for introducing conference MCs and event directors.

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/event-hosts-section.json

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

Usage

The file also exports event15Demo, 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 { Event15, event15Demo } from "@/components/blocks/event/event15";

export default function Page() {
  return <Event15 {...event15Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"Your hosts"Small label above the heading.
headingReactNode"Meet the people running the show"Section heading.
descriptionstringundefinedSupporting paragraph under the heading.
hostsEventHost[]noneHost cards in the two-column grid.
classNamestringnoneExtra classes for the outer section element.

Types

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

interface EventHost {
  name: string;
  role: string;
  bio: string;
  image?: { src: string; alt: string };
  socialLinks?: EventHostSocialLink[];
}

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.
  • Each host photo uses MediaSlot and falls back to a placeholder gradient when no image prop is supplied.