Video Grid Background CTA
Four looping videos fill the section background in a 2x2 grid, playing simultaneously for a dynamic, energetic backdrop. A dark semi-transparent overlay sits above the whole grid for legibility, with a centered content card (heading, description, buttons) on top of that.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/video-grid-background-cta.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta58.tsx instead.
Usage
The file also exports cta58Demo, 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 { Cta58, cta58Demo } from "@/components/blocks/cta/cta58"; export default function Page() { return <Cta58 {...cta58Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Everywhere your team already works" | Main headline. |
| description | string | none | Supporting copy under the heading. |
| primaryLabel | string | "Start building" | Primary button label. |
| primaryHref | string | "#" | Primary button destination. |
| secondaryLabel | string | "View integrations" | Secondary button label, omit to hide the button. |
| secondaryHref | string | "#" | Secondary button destination. |
| tiles | VideoTile[] | none | Exactly 4 video tiles filling the 2x2 background grid, each with its own video and poster. |
| className | string | none | Extra classes for the outer section element. |
Types
interface VideoTile { videoSrc: string; posterSrc: string; }
Behavior notes
- All four videos autoplay muted and looped purely through native HTML attributes (`autoPlay loop muted playsInline`) — there is no JavaScript play/pause control in this demo.
- A real integration should add a user-facing mute/pause control for accessibility (respecting prefers-reduced-motion and giving users a way to stop the motion, especially important with four simultaneous videos); that is intentionally not implemented here.
- The `tiles` array is rendered in order into a `grid-cols-2 grid-rows-2` background layer; passing fewer or more than 4 tiles will leave gaps or overflow the grid, so the demo always supplies exactly 4.
More CTA Blocks
View all →centered-newsletter-cta
Centered Newsletter CTA
Minimal centered call-to-action with heading, description, and action buttons.
split-layout-newsletter-cta
Split Layout Newsletter CTA
Two-column call-to-action with a decorative image on one side and a feature list plus subscribe form on the other.
newsletter-social-proof-cta
Newsletter CTA with Social Proof
Newsletter call-to-action with an avatar stack, subscriber count, and a testimonial quote.
banner-cta
Banner CTA
Horizontal banner call-to-action with heading and action buttons side by side.
stats-cta
Stats CTA
Call-to-action section with impressive statistics and trust indicators above action buttons.
multi-card-cta
Multi-Card CTA
Three action cards side by side, each offering a different path to conversion.