Some checks failed
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🏗️ Build (push) Failing after 8m32s
Build & Deploy / 🔍 Prepare (push) Successful in 18s
Build & Deploy / 🧪 QA (push) Failing after 1m33s
Build & Deploy / 🩺 Health Check (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 1s
60 lines
2.2 KiB
TypeScript
60 lines
2.2 KiB
TypeScript
"use client";
|
|
|
|
import * as Sentry from "@sentry/nextjs";
|
|
import Error from "next/error";
|
|
import { useEffect } from "react";
|
|
import { Inter, Newsreader } from "next/font/google";
|
|
import "./globals.css";
|
|
|
|
const inter = Inter({ subsets: ["latin"], variable: "--font-inter" });
|
|
const newsreader = Newsreader({
|
|
subsets: ["latin"],
|
|
variable: "--font-newsreader",
|
|
style: "italic",
|
|
display: "swap",
|
|
});
|
|
|
|
export default function GlobalError({
|
|
error,
|
|
reset,
|
|
}: {
|
|
error: Error & { digest?: string };
|
|
reset: () => void;
|
|
}) {
|
|
useEffect(() => {
|
|
Sentry.captureException(error);
|
|
}, [error]);
|
|
|
|
return (
|
|
<html lang="en" className={`${inter.variable} ${newsreader.variable}`}>
|
|
<body className="min-h-screen bg-white font-sans text-slate-900">
|
|
<div className="flex flex-col items-center justify-center min-h-screen px-5 py-20 text-center">
|
|
<div className="space-y-6 max-w-2xl mx-auto">
|
|
<span className="inline-block px-3 py-1 bg-red-50 border border-red-200 rounded text-[10px] font-mono text-red-600 uppercase tracking-widest border-dashed">
|
|
Root Level Error
|
|
</span>
|
|
<h1 className="text-4xl md:text-6xl font-black tracking-tighter text-slate-900">
|
|
Systemausfall der Hauptebene.
|
|
</h1>
|
|
<p className="text-lg md:text-xl text-slate-500 font-serif italic max-w-xl mx-auto">
|
|
Ein kritischer Fehler auf der Root-Layout Ebene hat das Rendering
|
|
blockiert. Der Vorfall wurde zur Untersuchung protokolliert.
|
|
</p>
|
|
|
|
<div className="pt-8">
|
|
<button
|
|
onClick={() => reset()}
|
|
className="relative inline-flex items-center justify-center gap-3 overflow-hidden rounded-full font-bold uppercase tracking-[0.15em] transition-all duration-300 group cursor-pointer px-8 py-4 text-[10px] bg-slate-900 text-white hover:shadow-xl hover:-translate-y-0.5"
|
|
>
|
|
<span className="relative z-10 flex items-center gap-3">
|
|
Notfall-Neustart (Reset)
|
|
</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|