Waitlist Queue Position

(You're in)

Reserved. Now let's move you toward the front.

Your place in line

#482

You've moved past 6,318 people already.

Every maker who joins on your link lifts you 40 places.

About this block

Waitlist Queue PositionPRO

A centered post-signup confirmation card on a soft muted surface with a monospace parenthetical eyebrow, an oversized queue-position number, a progress-to-front bar, and a referral row with a copy-invite pill button.

ComingSoon17: Waitlist Queue Position

A monochrome, editorial post-signup confirmation card from the Auralis set that centers a parenthetical eyebrow, a reassuring heading, an oversized queue-position number, a progress-to-front bar, and a referral row with a copy-invite pill button, all over a soft muted surface.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/comingsoon17?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/comingsoon17?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/comingsoon17.tsx.

Quick start

The installed file exports comingsoon17Demo alongside the block: the exact props behind the preview above. Spread it to get a working confirmation card in one line.

tsx
import { ComingSoon17, comingsoon17Demo } from "@/components/beste/block/comingsoon17";

export default function Page() {
  return <ComingSoon17 {...comingsoon17Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { ComingSoon17 } from "@/components/beste/block/comingsoon17";

export default function Page() {
  return (
    <ComingSoon17
      badge={{ label: "You're in" }}
      heading="Reserved. Now let's move you toward the front."
      position="482"
      progress={68}
      inviteLink="/waitlist?ref=you"
      labels={{
        positionCaption: "Your place in line",
        progressNote: "You've moved past 6,318 people already.",
        referralNote: "Every maker who joins on your link lifts you 40 places.",
        copyLabel: "Copy invite link",
        copiedLabel: "Link copied",
      }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }–Eyebrow badge rendered above the heading via Badge7
labelsComingSoon17Labels{}Position caption, progress note, referral note, and copy button label strings
headingstring–Confirmation heading under the eyebrow
positionstring–Oversized queue-position number, prefixed with a muted #
progressnumber0Progress-to-front percentage, clamped to the 0 to 100 range
inviteLinkstring–URL copied to the clipboard by the referral button
classNamestring–Extra classes for the outer <section>
ts
type Badge = {
  label: string;
};

type ComingSoon17Labels = {
  positionCaption?: string;
  progressNote?: string;
  referralNote?: string;
  copyLabel?: string;
  copiedLabel?: string;
};

Behavior notes

  • The copy button owns a copied state: handleCopy writes inviteLink to the clipboard via navigator.clipboard and flips the Button12 label from copyLabel to copiedLabel, so there is no external callback to wire.
  • The referral action is a Button12 with a Copy icon fired by onClick; there is no email form here, so this card is meant to render after signup.
  • The progress value is clamped with Math.max(0, Math.min(100, progress)) and drives the bar width inline, which animates via a transition-[width] class.
  • Every region is optional: the eyebrow, heading, position caption, position number, progress note, and referral note each render only when their prop or label is present.
  • The whole card is a centered bg-muted surface in a max-w-3xl column, and every string is plain text with no inline markup parsing, so HTML passed in shows as escaped text.

More Coming Soon blocks

View all Coming Soon
PRO

comingsoon21

Waitlist Signup Counter

PRO

comingsoon61

Community Launch Waitlist

PRO

comingsoon32

Trusted By Waitlist

Get Pro access