Staaarter

Conference Hero with Image

Split-layout conference hero: a date/eyebrow badge, large heading and subheading, location line, a static attendee-count stat, a primary and secondary CTA pair, and a featured photo. Perfect for developer conferences and tech summits.

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

npx shadcn add https://staaarter.com/r/conference-hero-with-image.json

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

Usage

The file also exports event1Demo, 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 { Event1, event1Demo } from "@/components/blocks/event/event1";

export default function Page() {
  return <Event1 {...event1Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedBadge text above the heading, e.g. an event date range.
headingReactNodenoneLarge hero heading.
subheadingstringundefinedSupporting paragraph under the heading.
locationstringnoneEvent location line, shown with a map-pin icon.
attendeeCountstringundefinedStatic attendee-count stat, e.g. "2,400+ attendees", shown with a users icon.
primaryCtaEventCtaLinkundefinedPrimary button label + href, e.g. "Get your ticket".
secondaryCtaEventCtaLinkundefinedSecondary outline button label + href, e.g. "View schedule".
photo{ src: string; alt: string }undefinedFeatured photo; renders a placeholder via MediaSlot when omitted.
classNamestringnoneExtra classes for the outer section element.

Types

interface EventCtaLink {
  label: string;
  href: string;
}

Behavior notes

  • The attendee-count stat is a static string prop, not a live counter; it does not update or animate.
  • primaryCta and secondaryCta render as plain links (Button with render={<Link/>}) pointing at the href you pass; there is no real ticketing flow or navigation wired up, they're decorative in the demo.
  • The photo tile uses MediaSlot and falls back to a placeholder gradient when no photo prop is supplied.