App.tsx 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'
  2. import { routes } from './config/routes'
  3. import { DEFAULT_LOCALE } from './shared/pageContext'
  4. import { LandingPage } from './pages/public/LandingPage'
  5. import { LoginPage } from './pages/public/LoginPage'
  6. import { DashboardPage } from './pages/dashboard/DashboardPage'
  7. import { CustomerListPage } from './pages/dashboard/customers/CustomerListPage'
  8. import { CustomerFormPage } from './pages/dashboard/customers/CustomerFormPage'
  9. import { CustomerDetailPage } from './pages/dashboard/customers/CustomerDetailPage'
  10. import { TemplateListPage } from './pages/dashboard/templates/TemplateListPage'
  11. import { TemplateFormPage } from './pages/dashboard/templates/TemplateFormPage'
  12. import { TemplateDetailPage } from './pages/dashboard/templates/TemplateDetailPage'
  13. import { StylistSimulationPage } from './pages/dashboard/simulation/StylistSimulationPage'
  14. import { SimulationResultPage } from './pages/dashboard/simulation/SimulationResultPage'
  15. import { SimulationEditPage } from './pages/dashboard/simulation/SimulationEditPage'
  16. import { AftercareResultPage } from './pages/dashboard/simulation/AftercareResultPage'
  17. import { StylistProfilePage } from './pages/customer/StylistProfilePage'
  18. import { CustomerSimulationPage } from './pages/customer/CustomerSimulationPage'
  19. import { RequireAuth } from './shared/RequireAuth'
  20. function App() {
  21. return (
  22. <BrowserRouter>
  23. <Routes>
  24. <Route path={routes.root} element={<Navigate to={`/${DEFAULT_LOCALE}`} replace />} />
  25. <Route path={routes.localeRoot} element={<LandingPage />} />
  26. <Route path={routes.login} element={<LoginPage />} />
  27. <Route path={routes.dashboard} element={<RequireAuth><DashboardPage /></RequireAuth>} />
  28. <Route path={routes.customers} element={<RequireAuth><CustomerListPage /></RequireAuth>} />
  29. <Route path={routes.customerNew} element={<RequireAuth><CustomerFormPage /></RequireAuth>} />
  30. <Route path={routes.customerDetail} element={<RequireAuth><CustomerDetailPage /></RequireAuth>} />
  31. <Route path={routes.customerEdit} element={<RequireAuth><CustomerFormPage /></RequireAuth>} />
  32. <Route path={routes.templates} element={<RequireAuth><TemplateListPage /></RequireAuth>} />
  33. <Route path={routes.templateNew} element={<RequireAuth><TemplateFormPage /></RequireAuth>} />
  34. <Route path={routes.templateDetail} element={<RequireAuth><TemplateDetailPage /></RequireAuth>} />
  35. <Route path={routes.simulation} element={<RequireAuth><StylistSimulationPage /></RequireAuth>} />
  36. <Route path={routes.simulationResult} element={<RequireAuth><SimulationResultPage /></RequireAuth>} />
  37. <Route path={routes.simulationEdit} element={<RequireAuth><SimulationEditPage /></RequireAuth>} />
  38. <Route path={routes.simulationAftercare} element={<RequireAuth><AftercareResultPage /></RequireAuth>} />
  39. <Route path={routes.profile} element={<StylistProfilePage />} />
  40. <Route path={routes.customerSimulation} element={<CustomerSimulationPage />} />
  41. <Route path="*" element={<Navigate to={`/${DEFAULT_LOCALE}`} replace />} />
  42. </Routes>
  43. </BrowserRouter>
  44. )
  45. }
  46. export default App