routes.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import { Navigate } from 'react-router-dom';
  2. import type { AppRouteObject } from './types';
  3. import Layout from '@/layouts/BasicLayout';
  4. import Forbidden from '@/pages/error/403';
  5. import NotFound from '@/pages/error/404';
  6. import ServerError from '@/pages/error/500';
  7. import Redirect from '@/pages/redirect';
  8. import Home from '@/pages/home';
  9. import RouteDemo from '@/pages/routeDemo';
  10. import FeatureDemo from '@/pages/featureDemo';
  11. import Pricing from '@/pages/pricing';
  12. const routes: AppRouteObject[] = [
  13. {
  14. path: '/',
  15. element: <Layout />,
  16. children: [
  17. {
  18. index: true,
  19. element: <Navigate to="/home" replace />,
  20. },
  21. {
  22. name: 'home',
  23. path: '/home',
  24. element: <Home />,
  25. },
  26. {
  27. name: 'pricing',
  28. path: '/pricing',
  29. element: <Pricing />,
  30. },
  31. {
  32. name: 'featureDemo',
  33. path: '/feature-demo',
  34. element: <FeatureDemo />,
  35. },
  36. {
  37. name: 'routeDemo',
  38. path: '/route-demo/:id?',
  39. element: <RouteDemo />,
  40. },
  41. {
  42. name: 'test',
  43. path: '/test',
  44. children: [
  45. {
  46. name: 'test1',
  47. path: '/test/test1',
  48. element: <div className="text-white">test1</div>,
  49. },
  50. {
  51. name: 'test2',
  52. path: '/test/test2',
  53. element: <div className="text-white">test2</div>,
  54. },
  55. ],
  56. },
  57. ],
  58. },
  59. {
  60. name: 'to',
  61. path: '/to',
  62. hideInMenu: true,
  63. element: <Redirect />,
  64. },
  65. {
  66. name: '403',
  67. path: '/403',
  68. element: <Forbidden />,
  69. hideInMenu: true,
  70. },
  71. {
  72. name: '500',
  73. path: '/500',
  74. element: <ServerError />,
  75. hideInMenu: true,
  76. },
  77. {
  78. name: '404',
  79. path: '*',
  80. element: <NotFound />,
  81. hideInMenu: true,
  82. },
  83. ] as AppRouteObject[];
  84. export default routes;