Polish public error and 404 screens with brand atmosphere.
Local Build and Deploy / deploy (push) Successful in 1m31s

Shared ErrorScreen composition, i18n for en/nl/it, Sentry on route errors, and a self-contained global-error fallback that matches the hotel gold theme.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-18 20:00:04 +02:00
1 parent b22725d3a9
commit 1f552c2822
8 files changed
+348 -80

No files matched your search

+20 -13
View File
@@ -1,22 +1,29 @@
import { Home, Newspaper } from "lucide-react";
import Link from "next/link";
import { ContentCard } from "@/components/public/ui";
import { getTranslations } from "next-intl/server";
import { ErrorScreen } from "@/components/error-screen";
export default async function NotFound() {
const t = await getTranslations("pages.notFound");
export default function NotFound() {
return (
<main style={{ display: "grid", gap: "1.5rem" }}>
<ContentCard icon="🧭" title="Page not found" subtitle="Error 404">
<p className="muted" style={{ marginTop: 0 }}>
The page you’re looking for doesn’t exist or has moved.
</p>
<div style={{ display: "flex", gap: "0.6rem", flexWrap: "wrap" }}>
<ErrorScreen
code={t("code")}
title={t("title")}
subtitle={t("subtitle")}
body={t("body")}
actions={
<>
<Link className="btn btn-primary" href="/">
Back home
<Home className="error-screen-btn-icon" aria-hidden />
{t("backHome")}
</Link>
<Link className="btn btn-outline" href="/news">
Latest news
<Newspaper className="error-screen-btn-icon" aria-hidden />
{t("latestNews")}
</Link>
</div>
</ContentCard>
</main>
</>
}
/>
);
}