routes.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React from 'react';
  2. import { createBrowserRouter, Navigate } from 'react-router';
  3. import { ProtectedRoute } from './components/ProtectedRoute';
  4. import { ErrorPage } from './components/ErrorPage';
  5. import { NotFoundPage } from './components/NotFoundPage';
  6. import HomePage from './pages/HomePage';
  7. import LoginPage from './pages/LoginPage';
  8. import { MainLayout } from './layouts/MainLayout';
  9. import UserProfilePage from './pages/UserProfilePage';
  10. import FollowPage from './pages/FollowPage';
  11. export const router = createBrowserRouter([
  12. {
  13. path: '/',
  14. element: <HomePage />
  15. },
  16. {
  17. path: '/login',
  18. element: <LoginPage />
  19. },
  20. {
  21. path: '/admin',
  22. element: (
  23. <ProtectedRoute>
  24. <MainLayout />
  25. </ProtectedRoute>
  26. ),
  27. children: [
  28. // {
  29. // index: true,
  30. // element: <Navigate to="/admin/dashboard" />
  31. // },
  32. {
  33. path: 'follow',
  34. element: <FollowPage />,
  35. errorElement: <ErrorPage />
  36. },
  37. {
  38. path: 'users/:id',
  39. element: <UserProfilePage />,
  40. errorElement: <ErrorPage />
  41. },
  42. {
  43. path: '*',
  44. element: <NotFoundPage />,
  45. errorElement: <ErrorPage />
  46. },
  47. ],
  48. },
  49. {
  50. path: '*',
  51. element: <NotFoundPage />,
  52. errorElement: <ErrorPage />
  53. },
  54. ]);