- Refactoring: Error Boundaries, apiFetch Wrapper, Socket Status-Tracking - Refactoring: UI Kontrast (theme-aware colors), unused imports bereinigt - Symbol-Verwaltung: Neues Split-Panel (Meine Symbole + Bibliothek) - Symbol-Verwaltung: Umbenennen (TLF rot/blau), Duplikate erlaubt - Symbol-Verwaltung: Karten-Sidebar zeigt eigene Symbole bevorzugt - Schlauch-Labels: Groessere Schrift (13px/10px), verschiebbar (Drag) - Schema: TenantSymbol customName, sortOrder, unique constraint entfernt - Open Source Referenz entfernt (kostenloses Projekt)
36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
'use client'
|
|
|
|
import { AlertTriangle, RotateCcw, Home } from 'lucide-react'
|
|
import { Button } from '@/components/ui/button'
|
|
import Link from 'next/link'
|
|
|
|
export default function AdminError({
|
|
error,
|
|
reset,
|
|
}: {
|
|
error: Error & { digest?: string }
|
|
reset: () => void
|
|
}) {
|
|
return (
|
|
<div className="flex flex-col items-center justify-center min-h-screen bg-background p-8 text-center">
|
|
<AlertTriangle className="w-12 h-12 text-destructive mb-4" />
|
|
<h2 className="text-xl font-bold mb-2">Fehler im Admin-Bereich</h2>
|
|
<p className="text-sm text-muted-foreground mb-6 max-w-md">
|
|
{error.message || 'Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es erneut.'}
|
|
</p>
|
|
<div className="flex gap-3">
|
|
<Button variant="outline" onClick={reset}>
|
|
<RotateCcw className="w-4 h-4 mr-2" />
|
|
Erneut versuchen
|
|
</Button>
|
|
<Button asChild>
|
|
<Link href="/app">
|
|
<Home className="w-4 h-4 mr-2" />
|
|
Zur App
|
|
</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|