Staaarter

Image CTA

A cinematic, full-bleed background photo fills the entire section, darkened with a gradient overlay for contrast, with a left-aligned frosted content panel floating on top carrying the heading, supporting copy, and two buttons.

By Staaarter Team
CTA
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/cinematic-image-cta.json

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

Usage

The file also exports cta67Demo, 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 { Cta67, cta67Demo } from "@/components/blocks/cta/cta67";

export default function Page() {
  return <Cta67 {...cta67Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Built for the way you actually work"Heading inside the content panel.
descriptionstring"Bring your team, your tools, and your workflow together in one place, and ship with confidence."Supporting copy under the heading.
primaryLabelstring"Get started"Label for the primary button.
primaryHrefstring"#"Link target for the primary button.
secondaryLabelstring"Talk to sales"Label for the secondary button.
secondaryHrefstring"#"Link target for the secondary button.
imageMediaSlotImagenoneFull-bleed background photo filling the section.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The background photo fills a `min-h-[500px]` section via an `absolute inset-0` layer with a left-to-right dark gradient overlay, ensuring the content panel stays readable regardless of the photo's own contrast.
  • The content panel is a `bg-background/90 backdrop-blur` card floating over the image, left-aligned rather than centered, for a cinematic poster-style composition.
  • Both buttons are inert links (`render={<Link/>}`) pointing at `#` by default; there is no real navigation wired up.
  • Fully static: no hover states or client-side behavior, just a layered image and panel composition.