Skip to content
GetUrUI

Waitlist Pages

2 variantsPro
.md

Pre-launch screens: an early-access waitlist that turns into a queue card whose position rolls down as referrals land, and a blueprint-grid launch page with an exploded drawing, rolling countdown and a reserve-a-seat ticket stamp.

waitlistlaunchcoming sooncountdownreferralearly accessblueprintpage

Early access

early-access.tsx

Email capture with a live join counter over breathing rings, then a queue card: rolling position, people-in-line strip, copyable invite link and progress toward skipping the line.

$npx shadcn@latest add @geturui-pro/waitlist-pages-early-access
PropTypeDefaultDescription
productNamestring"Kestrel Copilot"Header lockup.
eyebrowstring—Pill above the headline.
headlinestring—Main headline.
subcopystring—Paragraph under the headline.
joinedCountnumber4812Starting value of the live join counter.
spotsPerReferralnumber120Spots gained per referral.
referralGoalnumber3Referrals needed to skip the line.
onJoin(email: string) => Promise<{ position; referralUrl } | void>—Joins the list. Return nothing to use a generated position and link. Throw to show an error.
referralBasestring—Prefix for generated referral links.
referralsnumber—Controlled referral count; hides the simulate button.
simulateReferralsbooleantrueShow a button that simulates a friend joining.
classNamestring—Classes for the outer container.

Blueprint launch

blueprint-launch.tsx

Launch page drawn on a blueprint grid: drawing-sheet frame with ruler and title block, exploded isometric plates that draw themselves, a rolling countdown and a seat ticket that gets an Approved stamp.

$npx shadcn@latest add @geturui-pro/waitlist-pages-blueprint-launch
PropTypeDefaultDescription
productNamestring"Kestrel Engine 3"Shown on the dimension line and title block.
drawingNostring"KST-ENG-003"Drawing number in the title block.
headlinestring—Main headline.
subcopystring—Paragraph under the headline.
launchAtstring | number—Launch moment (ISO or epoch ms). Defaults to about 9 days after the page opens.
layers[string, string, string]["Copilot", "Query engine", "Collector"]Labels for the exploded plates, top to bottom.
onReserve(email: string) => void | Promise<void>—Reserves a seat. Throw to show an error.
classNamestring—Classes for the outer container.

Install the whole set

Installs every waitlist pages variant at once. Each section above has its own command for a single variant.

Pro installs use your private registry token. Add the @geturui-pro registry once — setup guide. The command works after you get Pro.

$npx shadcn@latest add @geturui-pro/waitlist-pages

Also installs: Button, Copy Button, Input

Accessibility

  • Email fields are labelled and validated with inline errors; focus returns to the field on error.
  • Queue position and countdown changes are exposed as text (aria-live and role=timer with a full-sentence label).
  • Looping backdrop and drawing animations stop under reduced motion; digits fade instead of rolling.

Related