161
A join-the-line card: your position rolls down digit by digit, a referral link to copy, and friends who sign up drop into slots while you jump toward the next wave.
akawaitlist·early access·referral
Run this in any project set up for the shadcn CLI. It copies the Waitlist source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/waitlist.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { Waitlist } from "@/components/waitlist";
export default function Page() {
return <Waitlist />;
}A free React block in the Auth collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Waitlist source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| product | string | "Parcel" |
| eyebrow | string | "Early access" |
| title | string | "Notes that file themselves." |
| subtitle | string | "Parcel reads what you write and sorts it into the right project, so your inbox of ideas stays at zero." |
| waiting | number | 6212 |
| spotsPerReferral | number | 250 |
| goal | number | 3 |
| waves | WaitlistWave[] | [ { label: "Wave 1", upTo: 500 }, { label: "Wave 2", upTo: 2000 }, { label: "Wave 3", upTo: Number.POSITIVE_INFINITY }, ] |
| referrals | WaitlistReferral[] | [] |
| defaultEmail | string | "" |
| onJoin | (email: string) => Promise<WaitlistTicket> | async () => ({ position: waiting + 1, total: waiting + 1, link: "parcel.so/r/you" }) |
| className | string | — |