Staaarter

Countdown Studio Card

A centered coming-soon screen on a soft muted card, built around a bold studio wordmark and a live countdown that ticks down days, hours, minutes, and seconds to a configurable launch date. A Reserve a Seat pill button sits below the countdown.

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 dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/countdown-studio-card.json

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

Usage

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

export default function Page() {
  return <ComingSoon26 {...comingsoon26Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"(coming soon)"Monospace parenthetical label above the wordmark.
wordmarkstring"Studio"Bold brand wordmark.
headingstring"We're building something new"Main heading.
targetDatestringnoneISO date string the countdown ticks down to.
reserveHrefstring"#"Link target for the "Reserve a seat" button.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The countdown is real client state: an effect computes the remaining milliseconds every second (setInterval) from `targetDate`, no Date.now() or new Date() is ever called in the render path.
  • Before the first tick fires, each unit renders a "--" placeholder so the server-rendered and first client-rendered markup match exactly, avoiding a hydration mismatch.
  • The "Reserve a seat" pill button is a plain, decorative link (`render={<Link href={reserveHref} />}`), it has no separate client state of its own.