import type { ReactNode } from "react"; import { Navigate, Route, Routes } from "react-router-dom"; import { AuthProvider, useAuth } from "./auth/AuthContext"; import { AppShell } from "./components/AppShell"; import { AdminPage } from "./pages/AdminPage"; import { DashboardPage } from "./pages/DashboardPage"; import { FehlbestandListePage } from "./pages/FehlbestandListePage"; import { KontrollPage } from "./pages/KontrollPage"; import { LoginPage } from "./pages/LoginPage"; import { MangelListePage } from "./pages/MangelListePage"; import { ObjektListPage } from "./pages/ObjektListPage"; function GeschuetzteRoute({ children }: { children: ReactNode }) { const { eingeloggt } = useAuth(); if (!eingeloggt) { return ; } return {children}; } function AdminRoute({ children }: { children: ReactNode }) { const { eingeloggt, istVerantwortlich } = useAuth(); if (!eingeloggt) { return ; } // Nicht mehr admin-exklusiv: Materialverantwortliche/Leitungsverantwortliche // dürfen rein, sehen dort aber nur die für sie freigeschalteten Tabs // (AdminPage filtert selbst nach Rolle, Backend erzwingt es ohnehin je Endpunkt). if (!istVerantwortlich) { return ; } return {children}; } export default function App() { return ( } /> } /> } /> } /> } /> } /> } /> } /> ); }