Dashral Pro is on the wayGet 30% off at launch

Dashral

Centered hero

An announcement, a big promise and two actions, centered on a glow with a faint grid, and the customers below.

$ pnpm dlx shadcn@latest add @dashral/hero-centered

When to use

  • The top of a landing page: an announcement, the promise, two actions and the customers below.
  • Launches and home pages where one clear message matters more than showing the product.

When not to use

  • When the product sells itself on sight: Split hero or Product hero show it.
  • Sign-ups that are just an email: Sign-up hero.

Usage

Centered hero with your own data: every prop has the sample as its default, so pass only what you have.

example.tsx
import { HeroCentered } from "@/components/dashral/blocks/hero-centered"

<HeroCentered
  announcement={{ label: "New", text: "AI reports are here", href: "/changelog" }}
  title="Dashboards your team actually opens"
  description="Connect your data in minutes and share live numbers with everyone."
  primary={{ label: "Start free", href: "/register" }}
  secondary={{ label: "Book a demo", href: "/demo" }}
  logos={customerLogos}
/>

API reference

HeroCentered

A centered hero: an announcement, the promise, two actions and the customers who already use it, on a soft glow of the primary color with a faint grid. Each line arrives a moment after the one before. Every part comes from props.

PropTypeDefault
announcement{ label: string; text: string; href: string } | null

The pill above the headline; null hides it.

sample
titleReact.ReactNodesample
descriptionReact.ReactNodesample
primaryBlockActionsample
secondaryBlockAction | null

The second button; null hides it.

sample
noteReact.ReactNode

A line under the buttons; none hides it.

sample
logosTitlestring"Trusted by teams at"
logostypeof sampleLogos

Your customers: a name with an icon, or a logo of their own; none hides the row.

sample

type BlockAction

A button: a link with href, or your handler with onClick.

PropTypeDefault
labelstring—
hrefstring—
onClick() => void—