Editorial Not Found SplitFREE

A calm not-found page with an error eyebrow, an oversized light heading and recovery actions on the left, beside a hairline list of the destinations people usually need instead.

Error34: Editorial Not Found Split

Calm not-found page: an error eyebrow over an oversized light heading, a reassuring line and two recovery actions on the left, beside a hairline list of the destinations people usually needed instead, each with its own one-line explanation and a hover arrow.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/error34"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/error34"

This installs the block to components/beste/block/error34.tsx plus the badge23 and button21 components it uses for the eyebrow and the actions.

Quick start

The installed file exports error34Demo alongside the block: the exact props behind the preview above. Spread it to get a working 404 in one line.

tsx
import { Error34, error34Demo } from "@/components/beste/block/error34";

export default function NotFound() {
  return <Error34 {...error34Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Error34 } from "@/components/beste/block/error34";

export default function NotFound() {
  return (
    <Error34
      badge={{ label: "Error 404" }}
      heading="This page moved, or never existed"
      description="Nothing is broken on your side, and your workspace is untouched."
      buttons={[
        { label: "Back to home", href: "/" },
        { label: "Search the docs", href: "/docs", tone: "outline" },
      ]}
      linksLabel="Where people usually go from here"
      links={[
        {
          title: "Product tour",
          description: "See how the whole workflow sits on one surface.",
          href: "/tour",
        },
        {
          title: "Help centre",
          description: "Setup guides, imports, and answers from the team.",
          href: "/help",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Error eyebrow above the heading, rendered via Badge23
headingstringOversized h1 explaining what happened
descriptionstringReassuring paragraph under the heading
buttonsActionLink[][]Recovery actions, each with its own tone
linksLabelstringLabel above the destination list
linksHelpLink[][]Hairline rows of likely destinations
classNamestringExtra classes for the outer <section>
ts
type ActionLink = {
  label: string;
  href: string;
  tone?: "primary" | "neutral" | "outline";
};

type HelpLink = { title: string; description: string; href: string };

Behavior notes

More Error blocks

View all Error
PRO

error14

Editorial 404 Section Index

Editorial 404 with a square eyebrow and status code over a hairline rule, an oversized accent-highlighted headline, and a ruled index of the sections visitors reach for next.

PRO

error20

Editorial 404 With Portrait Image

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.

PRO

error3

Split 404 With Image

Two-column 404 page with the error code, heading, explanation, buttons, and a small note on one side, and a full-bleed image that scales on hover on the other. The image side can be flipped with a prop.

PRO

error36

Not Found With Search

A not-found page that offers a way forward rather than a way back, pairing an oversized light heading with an image tile floating a live search panel and a two-column hairline list of likely destinations.

PRO

error15

500 Incident Report

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.

FREE

error35

Server Error With Live Status

A calm server-error page with a monospace code, an oversized light heading, recovery actions, an image tile floating a live uptime strip, and a hairline table carrying the incident reference.

Markdown version