import React from 'react'; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import Login from './features/auth/Login'; import ForgotPassword from './features/auth/ForgotPassword'; import AppLayout from './features/layouts/AppLayout'; import AdminDashboard from './features/dashboard/AdminDashboard'; import ClientDashboard from './features/dashboard/ClientDashboard'; import VendorDashboard from './features/dashboard/VendorDashboard'; import ProtectedRoute from './features/layouts/ProtectedRoute'; import { RoleDashboardRedirect } from './features/dashboard/RoleDashboardRedirect'; import PublicLayout from './features/layouts/PublicLayout'; import StaffList from './features/workforce/directory/StaffList'; import EditStaff from './features/workforce/directory/EditStaff'; import AddStaff from './features/workforce/directory/AddStaff'; import ClientList from './features/business/clients/ClientList'; import EditClient from './features/business/clients/EditClient'; import AddClient from './features/business/clients/AddClient'; import ServiceRates from './features/business/rates/ServiceRates'; import OrderList from './features/operations/orders/OrderList'; import OrderDetail from './features/operations/orders/OrderDetail'; import ClientOrderList from './features/operations/orders/ClientOrderList'; import VendorOrderList from './features/operations/orders/VendorOrderList'; import EditOrder from './features/operations/orders/EditOrder'; import Schedule from './features/operations/schedule/Schedule'; import StaffAvailability from './features/operations/availability/StaffAvailability'; import TaskBoard from './features/operations/tasks/TaskBoard'; import InvoiceList from './features/finance/invoices/InvoiceList'; import InvoiceDetail from './features/finance/invoices/InvoiceDetail'; import InvoiceEditor from './features/finance/invoices/InvoiceEditor'; import ComplianceDashboard from './features/workforce/compliance/ComplianceDashboard'; import DocumentVault from './features/workforce/documents/DocumentVault'; /** * AppRoutes Component * Defines the main routing structure of the application. * Groups routes by Layout (Public vs App). * Implements role-based redirection after login. */ const AppRoutes: React.FC = () => { return ( {/* Public Routes */} } /> } /> {/* Authenticated Routes */} }> {/* Dashboard Redirect Logic - redirects to user's correct dashboard based on role */} } /> {/* Protected Dashboard Routes */} } /> } /> } /> {/* Workforce Routes */} } /> } /> } /> } /> } /> {/* Business Routes */} } /> } /> } /> } /> {/* Operations Routes */} } /> } /> } /> } /> } /> } /> } /> } /> {/* Finance Routes */} } /> } /> } /> } /> } /> ); }; export default AppRoutes;