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.
The page a renamed article leaves behind: a display headline and a pill call to action above three recent entries, each a full-colour image tile with a plain date line and a bold title.
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/error32?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/error32?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/error32.tsx, plus the two design-system primitives it renders through: badge7 for the parenthetical eyebrows and button12 for the pill call to action.
The installed file exports error32Demo alongside the block: the exact props behind the preview above. Spread it to get a working error page in one line.
import { Error32, error32Demo } from "@/components/beste/block/error32";
export default function NotFound() {
return <Error32 {...error32Demo} />;
}Then pass your own posts. The meta line is one free-text string, so date and reading time are formatted however you like:
import { Error32 } from "@/components/beste/block/error32";
export default function NotFound() {
return (
<Error32
badge={{ label: "Not Here" }}
heading="That piece is <strong>no longer at this link</strong>."
description="Older notes get renamed as they are edited, and this one lost its address."
button={{ label: "Read everything", href: "/writing" }}
labels={{ entriesTitle: "Lately" }}
entries={[
{
title: "Drawing before deciding",
meta: "July 2026, six minutes",
href: "/writing/drawing-before-deciding",
image: { src: "/images/sketches.jpg", alt: "Desk with sketches and a laptop" },
},
{
title: "The cost of one more revision",
meta: "June 2026, nine minutes",
href: "/writing/one-more-revision",
image: { src: "/images/review.jpg", alt: "Two people reviewing printed work" },
},
]}
/>
);
}| 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 |
button | ActionLink | – | Pill call to action under the description |
labels | { entriesTitle?: string } | {} | Eyebrow above the entry grid |
entries | EntryItem[] | [] | Recent posts shown as image tiles |
className | string | – | Extra classes for the outer <section> |
type ActionLink = {
label: string;
href: string;
};
type EntryItem = {
title: string;
meta?: string;
href: string;
image: { src: string; alt: string };
};4:3 aspect box with object-cover and carry no hover treatment: nothing zooms, dims or shifts, which keeps the grid still while the type does the work.md breakpoint up, so three entries fill one row exactly.entries is non-empty, leaving a plain statement page when there is nothing recent to show.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.
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.
error30
Monochrome 404 that hands the visitor a search field: a display headline with a muted emphasis clause, a rounded search bar with a circular submit seal wired to a callback, and a ruled list of the most travelled routes.
error12
Blog 404 that turns a dead post URL into reading: centered messaging above a three-up article grid with cover images, category badges, dates, and read times.
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.