Staaarter

Sold Out Waitlist Form

Waitlist signup for a sold-out event: a "Sold out" badge and heading, a short description, an email field, a static queue-position display (e.g. "You'd be #47 on the waitlist"), a "similar events" opt-in checkbox, and a "Join waitlist" button. Perfect for sold-out events and high-demand tickets.

By Staaarter Team
Event
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge, button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/sold-out-waitlist-form.json

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

Usage

The file also exports event34Demo, 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 { Event34, event34Demo } from "@/components/blocks/event/event34";

export default function Page() {
  return <Event34 {...event34Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Sold out"Heading shown under the sold-out badge.
descriptionstringundefinedSupporting paragraph under the heading.
emailLabelstring"Email address"Label for the email input.
emailPlaceholderstring"[email protected]"Placeholder for the email input.
queuePositionLabelstring"You'd be #47 on the waitlist"Static queue-position display text.
optInLabelstring"Also notify me about similar upcoming events"Label for the similar-events opt-in checkbox.
ctaLabelstring"Join waitlist"Submit button label.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The form has no real submit handler, no onSubmit, no validation, and no backend call; the "Join waitlist" button and <form> element are decorative in the demo.
  • queuePositionLabel is a static string prop, not a live queue count.
  • The similar-events opt-in is a real semantic native checkbox with a matching Label, but toggling it has no effect (server component, no client state).