App.tsx 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 { TemplateEditPage } from './pages/dashboard/templates/TemplateEditPage'
  14. import { TemplateMakeTaskPage } from './pages/dashboard/templates/TemplateMakeTaskPage'
  15. import { StylistSimulationPage } from './pages/dashboard/simulation/StylistSimulationPage'
  16. import { SimulationResultPage } from './pages/dashboard/simulation/SimulationResultPage'
  17. import { SimulationEditPage } from './pages/dashboard/simulation/SimulationEditPage'
  18. import { AftercareResultPage } from './pages/dashboard/simulation/AftercareResultPage'
  19. import { StylistProfilePage } from './pages/customer/StylistProfilePage'
  20. import { CustomerSimulationPage } from './pages/customer/CustomerSimulationPage'
  21. import { RequireAuth } from './shared/RequireAuth'
  22. function App() {
  23. return (
  24. <BrowserRouter>
  25. <Routes>
  26. <Route path={routes.root} element={<Navigate to={`/${DEFAULT_LOCALE}`} replace />} />
  27. <Route path={routes.localeRoot} element={<LandingPage />} />
  28. <Route path={routes.login} element={<LoginPage />} />
  29. <Route path={routes.dashboard} element={<RequireAuth><DashboardPage /></RequireAuth>} />
  30. <Route path={routes.customers} element={<RequireAuth><CustomerListPage /></RequireAuth>} />
  31. <Route path={routes.customerNew} element={<RequireAuth><CustomerFormPage /></RequireAuth>} />
  32. <Route path={routes.customerDetail} element={<RequireAuth><CustomerDetailPage /></RequireAuth>} />
  33. <Route path={routes.customerEdit} element={<RequireAuth><CustomerFormPage /></RequireAuth>} />
  34. <Route path={routes.templates} element={<RequireAuth><TemplateListPage /></RequireAuth>} />
  35. <Route path={routes.templateNew} element={<RequireAuth><TemplateFormPage /></RequireAuth>} />
  36. <Route path={routes.templateTaskDetail} element={<RequireAuth><TemplateMakeTaskPage /></RequireAuth>} />
  37. <Route path={routes.templateEdit} element={<RequireAuth><TemplateEditPage /></RequireAuth>} />
  38. <Route path={routes.templateDetail} element={<RequireAuth><TemplateDetailPage /></RequireAuth>} />
  39. <Route path={routes.simulation} element={<RequireAuth><StylistSimulationPage /></RequireAuth>} />
  40. <Route path={routes.simulationResultDetail} element={<RequireAuth><SimulationResultPage /></RequireAuth>} />
  41. <Route path={routes.simulationResult} element={<RequireAuth><SimulationResultPage /></RequireAuth>} />
  42. <Route path={routes.simulationEdit} element={<RequireAuth><SimulationEditPage /></RequireAuth>} />
  43. <Route path={routes.simulationAftercare} element={<RequireAuth><AftercareResultPage /></RequireAuth>} />
  44. <Route path={routes.profile} element={<StylistProfilePage />} />
  45. <Route path={routes.customerSimulation} element={<CustomerSimulationPage />} />
  46. <Route path="*" element={<Navigate to={`/${DEFAULT_LOCALE}`} replace />} />
  47. </Routes>
  48. </BrowserRouter>
  49. )
  50. }
  51. export default App