Monochrome maintenance page: a parenthetical eyebrow over a display headline, the downtime window as a ruled three-column record, and a rounded notify-me field with a confirmed state.
A monochrome maintenance page: the downtime window is set as a ruled three-column record, and a rounded notify field takes an address for the all-clear, swapping to a confirmed state once it is submitted.
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/error22?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/error22?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/error22.tsx, plus the badge7 design-system primitive it renders the parenthetical eyebrow through.
The installed file exports error22Demo alongside the block: the exact props behind the preview above. Spread it to get a working maintenance page in one line.
import { Error22, error22Demo } from "@/components/beste/block/error22";
export default function Maintenance() {
return <Error22 {...error22Demo} />;
}Then replace the demo with your own window. Times are plain strings, so the format and timezone stay yours:
import { Error22 } from "@/components/beste/block/error22";
export default function Maintenance() {
return (
<Error22
badge={{ label: "Back Soon" }}
heading="We have taken the site down <strong>on purpose</strong>."
description="A planned upgrade is running. Nothing is broken and nothing was lost."
labels={{
windowTitle: "The window",
placeholder: "your address",
success: "Thank you. We will write the moment everything is up.",
note: "A single message when service returns, then nothing further.",
}}
rows={[
{ title: "Paused", value: "14:00 UTC" },
{ title: "Back by", value: "17:30 UTC" },
{ title: "Reason", value: "Storage migration" },
]}
link={{ label: "Follow progress", href: "/status" }}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Parenthetical eyebrow above the headline |
heading | string | – | Headline HTML, rendered as an h1; <strong> marks the muted clause |
description | string | – | Explanatory paragraph under the headline |
labels | Error22Labels | {} | Record eyebrow, field placeholder, success message, and the note under the field |
rows | WindowRow[] | [] | Cells describing the downtime window |
link | ActionLink | – | Text link at the bottom of the block |
className | string | – | Extra classes for the outer <section> |
type Error22Labels = {
windowTitle?: string;
placeholder?: string;
success?: string;
note?: string;
};
type WindowRow = {
title: string;
value: string;
};
type ActionLink = {
label: string;
href: string;
};form. Submitting prevents the default action and, when the value is not blank, replaces the whole field with the confirmation pill. There is no network call and no submit callback, so wire the address to your own list before shipping.dl, three columns from the sm breakpoint up, with each pair under its own top border rather than in a boxed cell.aria-label, and the circular submit control carries its own written label for screen readers.heading is injected with dangerouslySetInnerHTML and accepts inline HTML; text inside <strong> drops to muted grey. Keep the value under your own control, never user input.error17
Planned downtime page with a square eyebrow and status code, a bold accent headline, three bordered cells for the maintenance window, a working notify-me email form with a success state, and a live progress link.
error21
Monochrome server-error page: a parenthetical eyebrow over a display headline, a retry pill beside a status link, and a ruled two-column record of the reference, timestamp, subsystem and state.
error19
Monochrome 404 built on oversized display type: a parenthetical eyebrow, a display headline with a muted emphasis clause, a pill call to action, and a ruled index of every section on the site.
error20
Two-column 404 in a quiet monochrome language: a parenthetical eyebrow, a two-line display headline, a pill call to action and an oversized report-the-link email on the left, a tall captioned photograph on the right.
error33
Monochrome page for deliberately removed content: a display headline, a ruled record of when it was published, retired and why, then a pill link to the replacement beside an archive link.
error32
Monochrome 404 for a renamed article: a display headline and pill call to action above three recent entries, each a full-colour image tile with a plain date line and a bold title.