WORKFLOW-APP/app/not-found.tsx
SJCoetz bb97fef453 feat: initialize full ysterbaard frontend application
Add complete production-ready Ysterbaard PocketBase registry browser frontend:
- Next.js 14 App Router with TypeScript, Tailwind CSS, and TanStack React Query
- Secure server-side PocketBase API proxy to avoid exposing superuser tokens
- Read-only directors and companies registry browse pages with search, filtering, and pagination
- Client onboarding workflow for creating and managing client submissions
- Docker container configuration for easy deployment
- All supporting UI components, utility functions, and configuration files
2026-07-23 19:10:47 +02:00

38 lines
1.4 KiB
TypeScript

// app/not-found.tsx
// 404 surface, also must be a Client-renderable style. Keeps links
// to both registries so the user can recover with one click.
import Link from "next/link";
export default function NotFound() {
return (
<section className="container-x py-20">
<div className="max-w-xl mx-auto bg-surface border border-border rounded-lg p-10 flex flex-col gap-4">
<p className="text-xs uppercase tracking-[0.08em] text-muted font-semibold">
404
</p>
<h1 className="text-2xl font-bold text-fg leading-tight">
That record isn&apos;t in the registry
</h1>
<p className="text-base text-muted">
The link may be stale, or the record may have been removed since
it was last scraped.
</p>
<div className="flex gap-3 pt-2">
<Link
href="/directors"
className="inline-flex items-center px-5 py-3 rounded-md bg-accent text-accent-on font-semibold text-sm no-underline hover:bg-accent-hover transition-colors"
>
Browse directors
</Link>
<Link
href="/companies"
className="inline-flex items-center px-5 py-3 rounded-md border border-border text-fg font-semibold text-sm no-underline hover:bg-surface-warm transition-colors"
>
Browse companies
</Link>
</div>
</div>
</section>
);
}