Staaarter

Typographic 404 Index

Monochrome 404 built on oversized display type: a parenthetical eyebrow, a large display headline with one muted, lighter-weight emphasis clause, a pill-shaped CTA back to the homepage, and a ruled, divided index listing every major site section as a title-plus-arrow row.

By Staaarter Team
Error
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/typographic-404-index.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/error/error19.tsx instead.

Usage

The file also exports error19Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Error19, error19Demo } from "@/components/blocks/error/error19";

export default function Page() {
  return <Error19 {...error19Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstring"(error)"Small parenthetical label above the headline.
headingReactNodenoneDisplay headline; pass a muted/lighter-weight span for the emphasis clause.
ctaLabelstring"Back to homepage"Label on the pill-shaped CTA button.
ctaHrefstring"/"Link target for the CTA button.
sectionsIndexSection[]noneMajor site sections listed in the ruled index below the CTA.
classNamestringnoneExtra classes for the outer section element.

Types

type IndexSection = { title: string; href: string };

Behavior notes

  • Entirely static/server-rendered: the CTA and every index row are plain next/link navigation via Button's render prop, no client state.
  • The emphasis clause inside the headline is authored directly in the heading prop's JSX (a muted, font-normal span), not computed by the component.