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.
A monochrome server-error page: a display headline and a retry pill up top, then a ruled two-column record of the reference, timestamp, subsystem and state, so a support reply can quote something precise.
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/error21?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/error21?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/error21.tsx, plus the two design-system primitives it renders through: badge7 for the parenthetical eyebrow and button12 for the retry pill.
The installed file exports error21Demo alongside the block: the exact props behind the preview above. Spread it to get a working error page in one line.
import { Error21, error21Demo } from "@/components/beste/block/error21";
export default function ErrorPage() {
return <Error21 {...error21Demo} />;
}In a Next.js error.tsx the retry pill maps directly onto reset():
"use client";
import { Error21 } from "@/components/beste/block/error21";
export default function ErrorPage({ reset }: { reset: () => void }) {
return (
<Error21
badge={{ label: "500" }}
heading="Something on our side <strong>gave way</strong>."
description="This one is ours, not yours. The request has been recorded with the reference below."
labels={{ retry: "Try that again", detailsTitle: "For the record" }}
details={[
{ title: "Reference", value: "ERR-4C19-7B02" },
{ title: "State", value: "Being worked on" },
]}
link={{ label: "Read the status page", href: "/status" }}
onRetry={reset}
/>
);
}| 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 | Error21Labels | {} | Retry pill text and the eyebrow above the record |
details | DetailRow[] | [] | Rows of the incident record |
link | ActionLink | – | Text link beside the retry pill |
onRetry | () => void | – | Click handler for the retry pill |
className | string | – | Extra classes for the outer <section> |
type Error21Labels = {
retry?: string;
detailsTitle?: string;
};
type DetailRow = {
title: string;
value: string;
};
type ActionLink = {
label: string;
href: string;
};labels.retry is set and does nothing without onRetry, which makes it a direct fit for a Next.js error.tsx reset() function.dl laid out as a ruled grid: each pair sits under its own top border, one column on mobile and two from the sm breakpoint up. There is no boxed table chrome.details is non-empty, leaving a bare statement page when there is nothing to quote.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.error15
Server error page with a square eyebrow and status code over a hairline rule, a bold accent headline, a bordered incident table of reference, timestamp and service rows, and a retry seal button beside a status page link.
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.
error22
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.
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.
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.