import { createBrowserRouter, RouterProvider, Navigate, Outlet } from "react-router-dom" import { useState } from "react" import { ThemeProvider } from "./components/ThemeProvider" import { LanguageProvider } from "./components/LanguageProvider" import { Toaster } from "./components/ui/toaster" import { Navbar } from "./components/Navbar" import { Sidebar } from './components/Sidebar'; import { NotificationsProvider } from "./context/NotificationsContext" import { WorkspaceProvider } from "./context/WorkspaceContext" import Auth from "./pages/Auth" import Profile from "./pages/Profile" import Terms from "./pages/Terms" import Workspaces from "./pages/Workspaces" import CreateWorkspace from "./pages/WorkspaceCreate" import WorkspaceDetail from "./pages/WorkspaceDetail" import EditWorkspace from "./pages/WorkspaceEdit" import Clients from "./pages/Clients" import { Projects } from "./pages/Projects" import ProjectCreate from "./pages/ProjectCreate" import ProjectEdit from "./pages/ProjectEdit" import Tags from "./pages/Tags" import Reports from "./pages/Reports" import Timesheet from "./pages/Timesheet" import Logs from "./pages/Logs" import NotificationsPage from "./pages/Notifications" const MainLayout = () => { const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false) return (
setMobileSidebarOpen(false)} />
setMobileSidebarOpen(true)} />
); }; const RootRedirect = () => { const isAuthenticated = !!localStorage.getItem("accessToken") return isAuthenticated ? : } const router = createBrowserRouter([ { element: ( ), children: [ { path: "/", element: }, { path: "/auth", element: }, { path: "/terms", element: }, { element: , children: [ { path: "/profile", element: }, { path: "/timesheet", element: }, { path: "/reports", element: }, { path: "/notifications", element: }, { path: "/logs", element: }, { path: "/tags", element: }, { path: "/workspaces", element: }, { path: "/workspaces/create", element: }, { path: "/workspaces/:id", element: }, { path: "/workspaces/:id/edit", element: }, { path: "/clients", element: }, { path: "/projects", element: }, { path: "/projects/create", element: }, { path: "/projects/:id/edit", element: }, ], }, ], }, ]); function App() { return ( ) } export default App