import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { AuthProvider, useAuth } from "./contexts/AuthContext"; import { LeaveProvider } from "./contexts/LeaveContext"; import { NotificationProvider } from "./contexts/NotificationContext"; import { EmployeeProvider } from "./contexts/EmployeeContext"; import { Navbar } from "./components/common/Navbar"; import { Login } from "./pages/Login"; import { Home } from "./pages/Home"; import { EmployeeDashboard } from "./pages/EmployeeDashboard"; import { ManagerDashboard } from "./pages/ManagerDashboard"; import { HRDashboard } from "./pages/HRDashboard"; import { ChatPage } from "./pages/ChatPage"; function ProtectedRoute({ children, allowedRoles }) { const { user, loading } = useAuth(); if (loading) return

Loading...

; if (!user) return ; if (allowedRoles && !allowedRoles.includes(user.role)) { if (user.role === "employee") return ; if (user.role === "manager") return ; if (user.role === "hr") return ; return ; } return children; } function AppLayout({ children, allowedRoles }) { return (
{children}
); } export default function App() { return ( } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }