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'; /** * 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 */} } /> } /> } /> } /> } /> ); }; export default AppRoutes;