diff --git a/ApiCore-Frontend/src/app/(app)/error.tsx b/ApiCore-Frontend/src/app/(app)/error.tsx new file mode 100644 index 0000000..6d45ed8 --- /dev/null +++ b/ApiCore-Frontend/src/app/(app)/error.tsx @@ -0,0 +1,42 @@ +"use client"; + +import { useEffect } from "react"; +import { AlertTriangle } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; + +export default function AppError({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( +
+ + +
+ + + + Etwas ist schiefgelaufen +
+
+ +

+ Diese Seite konnte nicht angezeigt werden. Bereits gespeicherte Daten sind davon nicht + betroffen. Über die Navigation kommst du zu jeder anderen Seite. +

+ +
+
+
+ ); +} diff --git a/ApiCore-Frontend/src/app/error.tsx b/ApiCore-Frontend/src/app/error.tsx new file mode 100644 index 0000000..53b876d --- /dev/null +++ b/ApiCore-Frontend/src/app/error.tsx @@ -0,0 +1,48 @@ +"use client"; + +import { useEffect } from "react"; +import { AlertTriangle } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { HoneycombPattern } from "@/components/honeycomb-pattern"; + +export default function RootError({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( +
+ + + +
+ + + + Etwas ist schiefgelaufen +
+
+ +

+ Es ist ein unerwarteter Fehler aufgetreten. Bereits gespeicherte Daten sind davon nicht + betroffen. +

+
+ + {/* Plain reload, not client-side navigation - a crash here may + have left the app's client state corrupted, so this must + guarantee a fully clean slate rather than route through it. */} +
+
+
+
+ ); +}