1
0

routes.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import AppLayout from './layouts/AppLayout'
  2. import Authenticated from './components/Authenticated'
  3. import ErrorView from './views/ErrorView'
  4. import HerdListView from '@/views/HerdListView'
  5. import HerdView from './views/HerdView'
  6. import LoginView from './views/LoginView'
  7. import { Outlet } from 'react-router-dom'
  8. import type { RouteObject } from 'react-router-dom'
  9. const coreRoutes: RouteObject[] = [
  10. {
  11. path: '',
  12. element: <HerdListView />,
  13. },
  14. {
  15. path: '/herd/:id',
  16. element: <HerdView />,
  17. },
  18. ]
  19. const routes: RouteObject[] = [
  20. {
  21. path: '/',
  22. element: (
  23. <Authenticated>
  24. <AppLayout>
  25. <Outlet />
  26. </AppLayout>
  27. </Authenticated>
  28. ),
  29. errorElement: (
  30. <AppLayout>
  31. <ErrorView />
  32. </AppLayout>
  33. ),
  34. children: [
  35. ...coreRoutes,
  36. ],
  37. },
  38. {
  39. path: '/login',
  40. element: (
  41. <AppLayout>
  42. <Outlet />
  43. </AppLayout>
  44. ),
  45. errorElement: (
  46. <AppLayout>
  47. <ErrorView />
  48. </AppLayout>
  49. ),
  50. children: [
  51. {
  52. path: '',
  53. element: <LoginView />,
  54. },
  55. ],
  56. },
  57. ]
  58. export default routes