Sign The Wall Waitlist

(Leave your mark)

Add your name to the ones we're building this for.

This isn't just a launch, it's a room filling up. Sign the wall and you'll be part of it from day one.

(Everyone already on the wall)
MEMara EllisonTMTheo MarchettiPNPriya NadarJWJames WilsonAOAmara OkonkwoSRSofia RossiLZLeo ZhangNHNadia HassanOLOscar LundICIvy ChenMBMarcus BellEVElena VaresRMRavi MenonCNClara Nyström
About this block

Sign The Wall WaitlistPRO

An interactive waitlist coming-soon section with a monospace parenthetical eyebrow, a heading, a name and email form, and a live wall of member name chips that prepends your own entry on submit.

ComingSoon73: Sign The Wall Waitlist

A monochrome Auralis interactive waitlist section (oversized editorial type, a monospace parenthetical eyebrow) that centers a badge, a heading, and a description over a name and email form, then shows a live wall of member name chips that prepends your own entry on submit.

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/comingsoon73?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

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

Quick start

The installed file exports comingsoon73Demo alongside the block: the exact props behind the preview above. Spread it to get a working sign-the-wall page in one line.

tsx
import { ComingSoon73, comingsoon73Demo } from "@/components/beste/block/comingsoon73";

export default function Page() {
  return <ComingSoon73 {...comingsoon73Demo} />;
}

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

tsx
import { ComingSoon73 } from "@/components/beste/block/comingsoon73";

export default function Page() {
  return (
    <ComingSoon73
      badge={{ label: "Leave your mark" }}
      heading="Add your name to the ones we're building this for."
      description="This isn't just a launch, it's a room filling up. Sign the wall."
      entries={["Mara Ellison", "Theo Marchetti", "Priya Nadar", "James Wilson"]}
      labels={{
        namePlaceholder: "Your name",
        emailPlaceholder: "you@studio.com",
        submitLabel: "Add my name",
        wallCaption: "Everyone already on the wall",
      }}
    />
  );
}

Props

PropTypeDefaultDescription
badgeBadgeEyebrow badge rendered above the heading via Badge7
labelsComingSoon73Labels{}Form name and email placeholders, submit label, and wall caption
headingstringSection heading
descriptionstringSupporting paragraph under the heading
entriesstring[][]Seed member names that populate the wall on first render
classNamestringExtra classes for the outer <section>
ts
type Badge = {
  label: string;
};

type ComingSoon73Labels = {
  namePlaceholder?: string;
  emailPlaceholder?: string;
  submitLabel?: string;
  wallCaption?: string;
};

Behavior notes

  • The wall is seeded from entries into useState on first render, mapping each name to a chip; the prop is read once, so later entries changes do not update the wall.
  • The sign form owns its name and email state; handleSubmit calls preventDefault and only acts when both trimmed values are non-empty, prepending { name, mine: true } to the wall and clearing both inputs.
  • Your own chip is marked mine and rendered inverted on a solid bg-foreground surface so it stands out from the muted seed chips at the front of the wall.
  • The submit control is a labeled <button type="submit"> that reads submitLabel, not an icon seal.
  • Each chip shows an avatar built from the name's initials via a local initials helper that takes the first letter of up to the first two words, uppercased.
  • Every region is optional: the eyebrow, heading, description, and wall each render only when their prop or the seeded wall is present.

Wiring the form up

The wall is local state that resets on reload, and the form has no backend, so signatures are not sent anywhere until you connect one. Point handleSubmit at your own route handler or email platform, or wire in a form library. For a walkthrough of the options, see React Hook Form, TanStack Form, and Formisch.

More Coming Soon blocks

View all Coming Soon
PRO

comingsoon15

Waitlist Coming Soon

A centered pre-launch section with an eyebrow, a large light heading, a paragraph, an image tile holding a working email-capture form with a success state, and a social-proof note.

PRO

comingsoon65

What Happens Next Waitlist

A waitlist coming-soon section with a monospace parenthetical eyebrow, a heading, a working email notify form, and a three-step numbered process explaining what happens after signing up.

PRO

comingsoon32

Trusted By Waitlist

A centered pre-launch section with a monospace parenthetical eyebrow, a statement heading, a supporting paragraph, a waitlist pill button, and a captioned grayscale logo strip of early partners.

PRO

comingsoon6

Waitlist with Avatars

Coming soon section with an email waitlist input, stacked subscriber avatars, and a live join count. Perfect for building early traction and social proof before launch.

PRO

comingsoon44

Founder Note Waitlist

A personal pre-launch section with a square eyebrow, a statement heading, a short founder note in paragraphs, and a signature row with avatar beside a dark seal waitlist button.

PRO

comingsoon61

Community Launch Waitlist

A community coming-soon section on a soft muted card with a monospace parenthetical eyebrow, a heading, a working email waitlist form, a secondary outline community pill button, and an avatar row with a member count.