Files
2026-05-20 18:58:23 +00:00

37 lines
1.2 KiB
TypeScript

'use client';
import { useEffect } from 'react';
import { AlertTriangle, RefreshCcw } from 'lucide-react';
export default function ErrorBoundary({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
useEffect(() => {
console.error(error);
}, [error]);
return (
<div className="min-h-[400px] flex items-center justify-center p-8">
<div className="bg-white p-8 rounded-2xl shadow-xl max-w-md w-full border border-red-100 text-center">
<div className="w-16 h-16 bg-red-50 text-red-500 rounded-full flex items-center justify-center mx-auto mb-6">
<AlertTriangle className="w-8 h-8" />
</div>
<h2 className="text-xl font-bold text-slate-900 mb-2">Ein Fehler ist aufgetreten</h2>
<p className="text-sm text-slate-500 mb-8">
Das System konnte diese Ansicht nicht laden. Bitte versuche es erneut oder kontaktiere den Support.
</p>
<button
onClick={() => reset()}
className="bg-slate-900 text-white px-6 py-2.5 rounded-lg hover:bg-slate-800 transition font-medium inline-flex items-center gap-2"
>
<RefreshCcw className="w-4 h-4" /> Erneut versuchen
</button>
</div>
</div>
);
}