Staaarter

Video Teaser Reveal

A coming-soon screen built around a video teaser: a full-bleed background photo with a dark overlay sits behind a central circular play button. Clicking it opens a modal with a placeholder video area, since no real video actually plays. A heading, supporting line, and a decorative waitlist button round out the section.

By Staaarter Team
Coming Soon
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/video-teaser-reveal.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/coming-soon/comingsoon33.tsx instead.

Usage

The file also exports comingsoon33Demo, 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 { ComingSoon33, comingsoon33Demo } from "@/components/blocks/coming-soon/comingsoon33";

export default function Page() {
  return <ComingSoon33 {...comingsoon33Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"(coming soon)"Monospace label above the play button.
headingstring"See a first look before we launch"Main heading.
descriptionstring"A two-minute teaser of what we've been building..."Supporting copy under the heading.
imageMediaSlotImageundefinedFull-bleed background photo behind the dark overlay.
waitlistLabelstring"Join the waitlist"Label for the decorative waitlist button.
waitlistHrefstring"#"Link target for the waitlist button.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The play button and modal open/close are real client state (useState<boolean>), toggled by the play button, the modal's own close button, and a backdrop click.
  • The modal's video area is a decorative placeholder (a Play icon over a muted background), no real video file or player is embedded or plays.
  • The waitlist button is a plain link (`render={<Link href={waitlistHref} />}`) with a placeholder href by default, nothing is submitted.