A centered scheduled-maintenance section with a pulsing status dot, a monospace parenthetical eyebrow, a large heading, a reassuring paragraph, a ruled key-value list of status details, and a status-page pill button.
A monochrome, editorial scheduled-maintenance section from the Auralis set that centers a pulsing status dot beside a parenthetical eyebrow, a large heading, a reassuring paragraph, a ruled key-value list of status details, and a status-page pill button.
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.
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
npx shadcn add "https://ui.beste.co/r/comingsoon20?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/comingsoon20?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/comingsoon20.tsx.
The installed file exports comingsoon20Demo alongside the block: the exact props behind the preview above. Spread it to get a working maintenance section in one line.
import { ComingSoon20, comingsoon20Demo } from "@/components/beste/block/comingsoon20";
export default function Page() {
return <ComingSoon20 {...comingsoon20Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { ComingSoon20 } from "@/components/beste/block/comingsoon20";
export default function Page() {
return (
<ComingSoon20
badge={{ label: "Scheduled maintenance" }}
heading="We're offline for a short, deliberate upgrade."
description="We're moving to faster hardware. Nothing you've saved is affected."
details={[
{ label: "Current status", value: "Migrating to new infrastructure" },
{ label: "Expected back", value: "Today, around 18:00 UTC" },
{ label: "Your work", value: "Untouched, backed up, and safe" },
]}
button={{ label: "Watch the status page", href: "/status" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow badge rendered beside the pulsing dot via Badge7 |
heading | string | – | Large centered heading under the status row |
description | string | – | Reassuring paragraph under the heading |
details | DetailItem[] | [] | Status details rendered as a ruled key-value list |
button | ActionLink | – | Status-page link rendered via Button12 |
className | string | – | Extra classes for the outer <section> |
type Badge = {
label: string;
};
type ActionLink = {
label: string;
href: string;
};
type DetailItem = {
label: string;
value: string;
};button renders as a real navigation via Button12 asChild wrapping a Next.js <Link href={button.href} />, so it always points at a URL.animate-pulse dot with the Badge7 eyebrow, and it renders only when badge is present.details are rendered as a <dl> of label and value rows with a top rule per row and a closing bottom rule, and the whole list renders only when details is non-empty.max-w-3xl column; the eyebrow, heading, description, details, and button each render only when their prop is present.comingsoon32
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.
comingsoon79
A scheduled downtime notice with a light heading, a hairline table of what is affected and what is not, two actions, and an image tile floating a live uptime strip.
comingsoon35
A centered launch-reminder section with a monospace parenthetical eyebrow, a kicker, an oversized launch-date heading, a supporting line, an add-to-calendar pill button, and a row of calendar-provider links.
comingsoon50
A coming-soon section on a soft muted card with a monospace parenthetical eyebrow, a heading, a launch-readiness percentage that counts up with an animated progress bar, a build-status row, and a working email notify form.