import { BrowserRouter, Routes, Route, Navigate, useLocation } from 'react-router-dom' import { AuthProvider, useAuth } from './context/AuthContext' import Sidebar from './components/Navbar' import Footer from './components/Footer' import LoginPage from './pages/LoginPage' import TicketsPage from './pages/TicketsPage' import PlanboardPage from './pages/PlanboardPage' import ProjectsPage from './pages/ProjectsPage' import AdminPage from './pages/AdminPage' import CustomersPage from './pages/CustomersPage' import CustomerDetailPage from './pages/CustomerDetailPage' import FinancePage from './pages/FinancePage' import FinanceSettingsPage from './pages/FinanceSettingsPage' import LegalPage from './pages/LegalPage' import AssignProjectPage from './pages/AssignProjectPage' import ServicesPage from './pages/ServicesPage' import ServerpulsPage from './pages/ServerpulsPage' import BankCallbackPage from './pages/BankCallbackPage' import AdminRoute from './components/AdminRoute' import { safeReturnPath } from './lib/returnPath' function ProtectedRoute({ children }) { const { user, loading } = useAuth() const location = useLocation() if (loading) { return (

Loading...

) } if (!user) { return } return children } function AppRoutes() { const { user } = useAuth() const location = useLocation() return ( : } /> } /> } /> } /> } /> } /> {/* Finanzen: nur Admins, alle anderen gehen zu /tickets */} } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {/* Alte Links (z. B. die entfernten Seiten Assets, Reports, Docs, Roadmaps) landen bei den Tickets */} } /> ) } function AppContent() { const { user } = useAuth() if (!user) { return } return (
) } export default function App() { return ( ) }