Marquee Stats & Team Split
Full-width stat row across the top, then a split layout with intro text and leadership avatars on the left and a full-height image on the right. Suited to SaaS and product companies.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, 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/marquee-stats-team-split.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/about/about28.tsx instead.
Usage
The file also exports about28Demo, 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 { About28, about28Demo } from "@/components/blocks/about/about28"; export default function Page() { return <About28 {...about28Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| stats | StatItem[] | none | Full-width, edge-to-edge stat row above the split layout. |
| heading | string | none | Heading in the left column of the split layout. |
| story | string | none | Story paragraph under the heading. |
| leaders | Leader[] | [] | Avatar row of leadership below the story. |
| photo | MediaSlotImage | undefined | Image on the right, stretched to match the left column's height. |
| buttons | ButtonItem[] | [] | Optional CTA buttons below the leaders row. |
| className | string | none | Extra classes for the outer section element. |
Types
type StatItem = { title: string; value: string }; type Leader = { name: string; role: string; avatar?: { src: string; alt: string }; }; type ButtonItem = { label: string; href?: string; variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive"; };
Behavior notes
- 'Marquee' in the brief describes the inspiration's ticker styling only; the stat row here is a plain wrapped, centered flex row on a muted full-bleed background, not a moving/looping ticker, so it stays a static server component.
- The stat row bleeds edge-to-edge outside the max-w-5xl container, unlike About14's stat row which stays inside the same max-width as the story card beneath it.
- The right column image uses items-stretch so it matches the height of the left column's content instead of using a fixed aspect ratio, distinct from About5 and About23 which both crop their images to a fixed aspect box.
More About Blocks
View all →team-mission
Team & Mission
Two-column about section with mission statement, company stats, and team member grid.
values-with-team-photo
Values with Team Photo
Full-width photo with a three-column values grid below.
timeline-milestones
Timeline & Milestones
Company stats on the left and a vertical timeline of milestones on the right.
founder-quote-team
Founder Quote & Team
Founder blockquote with avatar, followed by a horizontal team member row.
image-text-split
Image & Text Split
Tall image on the left, company story, inline stats, and CTAs on the right.
numbered-principles
Numbered Principles
Heading on the left and numbered company principles on the right.