import React, { useState } from 'react'; import { AuthProvider, useAuth } from './contexts/AuthContext'; import { Sidebar } from './components/layout/Sidebar'; import { Header } from './components/layout/Header'; import { DashboardPage } from './pages/DashboardPage'; import { UsersPage } from './pages/UsersPage'; import { WorkAllocationPage } from './pages/WorkAllocationPage'; import { AttendancePage } from './pages/AttendancePage'; import { RatesPage } from './pages/RatesPage'; import { EmployeeSwapPage } from './pages/EmployeeSwapPage'; import { LoginPage } from './pages/LoginPage'; import { ReportingPage } from './pages/ReportingPage'; import { StandardRatesPage } from './pages/StandardRatesPage'; import { AllRatesPage } from './pages/AllRatesPage'; import { ActivitiesPage } from './pages/ActivitiesPage'; type PageType = 'dashboard' | 'users' | 'allocation' | 'attendance' | 'rates' | 'swaps' | 'reports' | 'standard-rates' | 'all-rates' | 'activities'; const AppContent: React.FC = () => { const [activePage, setActivePage] = useState('dashboard'); const { isAuthenticated, isLoading } = useAuth(); const renderPage = () => { switch (activePage) { case 'dashboard': return ; case 'users': return ; case 'allocation': return ; case 'attendance': return ; case 'rates': return ; case 'swaps': return ; case 'reports': return ; case 'standard-rates': return ; case 'all-rates': return ; case 'activities': return ; default: return ; } }; // Show loading state if (isLoading) { return (

Loading...

); } // Show login page if not authenticated if (!isAuthenticated) { return ; } // Show main app if authenticated return (
setActivePage(page as PageType)} />
{renderPage()}
); }; function App() { return ( ); } export default App;