Staaarter

Survey Waitlist

A centered card-style coming-soon screen that pairs a one-question survey with a waitlist signup. Visitors pick a single option to tell you what matters most, then join the waitlist with a real email form that shows a success state on submit.

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

npx shadcn add https://staaarter.com/r/survey-waitlist.json

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

Usage

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

export default function Page() {
  return <ComingSoon43 {...comingsoon43Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"Coming soon"Small label above the heading.
headingstring"Help us build the right thing"Main card heading.
descriptionstring"We're putting the finishing touches..."Supporting copy under the heading.
questionstringnoneThe survey question shown above the options.
optionsSurveyOption[]noneSelectable single-choice survey options.
classNamestringnoneExtra classes for the outer section element.

Types

export interface SurveyOption {
  id: string;
  label: string;
}

Behavior notes

  • The survey selection is real client state (useState) backed by a native radio group (visually hidden inputs, styled label siblings), only one option can be selected at a time.
  • The email form is real client state too: submitting sets a separate `submitted` state and swaps the form for a success message, nothing is sent over the network.
  • Both interactions share the same client component but track independent state, selecting a survey option does not submit the form and vice versa.