500 server error page with an alert icon, Try Again and Contact Support actions, and a monospace reference code to quote to support.
@7ovr
registry/blocks/error/3/error-block.tsx
import { Button } from "@/components/ui/button"
import { IconPlaceholder } from "@/components/icons/icon-placeholder"
export default function ErrorBlock() {
return (
<section className="flex min-h-svh w-full flex-col items-center justify-center gap-6 bg-background px-6 py-12 text-center text-foreground">
<div className="flex size-16 items-center justify-center rounded-lg border border-border bg-muted/30">
<IconPlaceholder
lucide="CircleAlert"
tabler="IconAlertCircle"
hugeicons="AlertCircleIcon"
phosphor="WarningCircle"
remixicon="RiErrorWarningLine"
className="size-8 text-muted-foreground"
aria-hidden="true"
/>
</div>
<div className="flex flex-col items-center gap-2">
<h1 className="font-heading text-2xl font-bold tracking-tight sm:text-3xl">
Something went wrong
</h1>
<p className="max-w-md text-sm text-muted-foreground">
An unexpected error occurred while processing your request. Please try
again, and contact support if the problem persists.
</p>
</div>
<div className="flex flex-col items-center gap-2 sm:flex-row">
<Button className="w-full sm:w-auto">
<IconPlaceholder
lucide="RefreshCw"
tabler="IconRefresh"
hugeicons="RefreshIcon"
phosphor="ArrowsClockwise"
remixicon="RiRefreshLine"
data-icon="inline-start"
aria-hidden="true"
/>
Try Again
</Button>
<Button
variant="outline"
render={<a href="#" />}
nativeButton={false}
className="w-full sm:w-auto"
>
Contact Support
</Button>
</div>
<p className="font-mono text-xs text-muted-foreground">
Reference: 7OVR-4F2A9
</p>
</section>
)
}
Requires a base-* style in components.json (the shadcn init default). Legacy new-york/radix-* styles install Radix primitives, which reject the render prop this block uses.