Staaarter

Event Recap Report

A post-event write-up. Opens with a row of 4 hairline-divided stat figures (attendees, sessions, tracks, would-attend-again rate), then a 3-photo row at a matching aspect ratio each with a short caption, then a soft-background panel carrying an attendee quote, and finally a short "what we promised" recap list referencing the original pitch. Perfect for a wrap-up or highlights page published after a conference.

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

npx shadcn add https://staaarter.com/r/event-recap-report.json

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

Usage

The file also exports event27Demo, 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 { Event27, event27Demo } from "@/components/blocks/event/event27";

export default function Page() {
  return <Event27 {...event27Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading, e.g. "Recap".
headingReactNodenoneSection heading.
descriptionstringundefinedSupporting copy under the heading.
statsRecapStat[]noneStat figures rendered in the hairline-divided strip; the demo uses 4.
photosRecapPhoto[]nonePhotos rendered in the photo row, each with a caption; the demo uses 3, all rendered at the same aspect ratio.
quotestringnoneAttendee quote/testimonial shown in the soft-background panel.
attendee{ name: string; title: string; avatar?: { src: string; alt: string } }noneAttendee credited for the quote.
recapHeadingstring"What we promised"Heading above the closing recap list.
recapItemsstring[]noneBullet items recapping what the event's original pitch promised.
classNamestringnoneExtra classes for the outer section element.

Types

interface RecapStat {
  label: string;
  value: string;
}

interface RecapPhoto {
  image: { src: string; alt: string };
  caption: string;
}

Behavior notes

  • This is a static, presentational block: stats, photos, the quote, and the recap list all render fixed props with no live data source.
  • The photo row renders every photo at the same fixed aspect-3/4 ratio (object-cover), regardless of the source image's own dimensions, so the row always looks even rather than mixed-height.
  • There is no share, download, or CTA action anywhere in this block — it is a read-only recap write-up.