// notfound-page.jsx — /404 page (desktop + mobile)
//
// Tone: warm + transit-themed. "Endstation" = end of the line.
// Reuses Header / Footer + page-frame styles. No new color tokens.
const NF_QUICK_LINKS = [
{icon: , label: 'Online-Fahrplan', hint: 'Verbindung suchen'},
{icon: , label: 'Linien & Karte', hint: 'Alle Buslinien im Kanton Uri'},
{icon: , label: 'Aktuelle Störungen', hint: 'Was läuft heute nicht rund?'},
{icon: , label: 'Tickets & Tarife', hint: 'Billette, Abos, Spezialangebote'},
];
// ───────── Desktop NotFound ─────────
function NotFoundPage() {
return (
{/* Hero — quiet warm surface, oversized 404 paired with copy */}
{/* Left — copy */}
Fehler 404
Endstation.
Diese Seite haben wir leider nicht gefunden. Vielleicht wurde sie
verschoben, umbenannt — oder es hat sich ein Tippfehler in die URL
eingeschlichen.
{/* Search — pulls user back into the system */}
{/* Right — oversized 404 with stop-flag metaphor */}
{/* Quick-link rail */}
);
}
// ───────── The big "404" glyph — playful stop-flag treatment ─────────
function NotFoundGlyph() {
return (
{/* "404" — display numeral, orange, slight overlap */}
404
{/* Stop-request flag — sits on top of the "0" like a bus stop */}
);
}
// ───────── Mobile NotFound ─────────
function MNotFoundPage() {
return (
Fehler 404
{/* Stacked: glyph on top, copy below */}
404
Endstation.
Diese Seite haben wir leider nicht gefunden. Vielleicht wurde sie
verschoben oder es hat sich ein Tippfehler eingeschlichen.
Zur Startseite
{/* Quick links — stacked rows on mobile */}
);
}
Object.assign(window, { NotFoundPage, MNotFoundPage });