import { Routes, Route, Navigate } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import { useAuth } from './context/AuthContext'; import { gdprApi } from './services/api'; import { Shield } from 'lucide-react'; import ScrollToTop from './components/ScrollToTop'; import Layout from './components/layout/Layout'; import Login from './pages/Login'; import Dashboard from './pages/Dashboard'; import CustomerList from './pages/customers/CustomerList'; import CustomerDetail from './pages/customers/CustomerDetail'; import CustomerForm from './pages/customers/CustomerForm'; import ContractList from './pages/contracts/ContractList'; import ContractDetail from './pages/contracts/ContractDetail'; import ContractForm from './pages/contracts/ContractForm'; import ContractCockpit from './pages/contracts/ContractCockpit'; import TaskList from './pages/tasks/TaskList'; import PlatformList from './pages/platforms/PlatformList'; import CancellationPeriodList from './pages/settings/CancellationPeriodList'; import ContractDurationList from './pages/settings/ContractDurationList'; import ProviderList from './pages/settings/ProviderList'; import ContractCategoryList from './pages/settings/ContractCategoryList'; import ViewSettings from './pages/settings/ViewSettings'; import PortalSettings from './pages/settings/PortalSettings'; import DeadlineSettings from './pages/settings/DeadlineSettings'; import EmailProviders from './pages/settings/EmailProviders'; import DatabaseBackup from './pages/settings/DatabaseBackup'; import AuditLogs from './pages/settings/AuditLogs'; import EmailLogPage from './pages/settings/EmailLogs'; import GDPRDashboard from './pages/settings/GDPRDashboard'; import UserList from './pages/users/UserList'; import Settings from './pages/Settings'; import DatabaseStructure from './pages/developer/DatabaseStructure'; import ConsentPage from './pages/public/ConsentPage'; import PrivacyPolicyEditor from './pages/settings/PrivacyPolicyEditor'; import PortalPrivacy from './pages/portal/PortalPrivacy'; import AuthorizationTemplateEditor from './pages/settings/AuthorizationTemplateEditor'; import PortalAuthorizations from './pages/portal/PortalAuthorizations'; import PortalProfile from './pages/portal/PortalProfile'; import PortalMeters from './pages/portal/PortalMeters'; function ProtectedRoute({ children }: { children: React.ReactNode }) { const { isAuthenticated, isLoading } = useAuth(); if (isLoading) { return (
Dieser Bereich ist erst verfügbar, wenn Sie unserer Datenschutzerklärung zugestimmt haben.