import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { Sidebar } from "./components/Sidebar"; import { ProjectSwitcher } from "./components/ProjectSwitcher"; import { ChatInterface } from "./components/ChatInterface"; import { Dashboard } from "./pages/Dashboard"; import { Skills } from "./pages/Skills"; import { Settings } from "./pages/Settings"; import { Users } from "./pages/Users"; import { Projects } from "./pages/Projects"; import { Login } from "./pages/Login"; import { ModelConfigs } from "./pages/ModelConfigs"; import { DataSources } from "./pages/DataSources"; import { Modeling } from "./pages/Modeling"; import { useAuthStore } from "./store/authStore"; // Protected Route Component function ProtectedRoute({ children, requireAdmin = false }: { children: React.ReactNode, requireAdmin?: boolean }) { const { isAuthenticated, user } = useAuthStore(); if (!isAuthenticated) { return ; } if (requireAdmin && !user?.is_admin) { return ; } return <>{children}; } function MainLayout({ children }: { children: React.ReactNode }) { return (
{children}
); } function App() { return ( } /> {/* Protected Routes */}
} /> } /> } /> } /> } /> } /> } /> } /> } />
); } export default App;