Router.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { createHashRouter, RouterProvider } from 'react-router-dom';
  2. import { useContext } from 'react';
  3. import { authContext } from '../context/Auth';
  4. import Collection from '../pages/collections/Collection';
  5. import Collections from '../pages/collections/Collections';
  6. import Connect from '../pages/connect/Connect';
  7. import Users from '../pages/user/User';
  8. import Index from '../pages/index';
  9. import Search from '../pages/search/VectorSearch';
  10. import System from '../pages/system/SystemView';
  11. import SystemHealthy from '../pages/systemHealthy/SystemHealthyView';
  12. const routeObj = [
  13. {
  14. path: '/',
  15. element: <Index />,
  16. children: [
  17. {
  18. path: '/collections',
  19. element: <Collections />,
  20. },
  21. {
  22. path: '/collections/:collectionName',
  23. element: <Collection />,
  24. },
  25. {
  26. path: '/search',
  27. element: <Search />,
  28. },
  29. {
  30. path: '/system_healthy',
  31. element: <SystemHealthy />,
  32. },
  33. ],
  34. },
  35. { path: '/connect', element: <Connect /> },
  36. ];
  37. const Router = () => {
  38. const { isManaged } = useContext(authContext);
  39. if (!isManaged) {
  40. routeObj[0].children?.push(
  41. {
  42. path: '/users',
  43. element: <Users />,
  44. },
  45. {
  46. path: '/system',
  47. element: <System />,
  48. }
  49. );
  50. }
  51. const router = createHashRouter(routeObj);
  52. return <RouterProvider router={router}></RouterProvider>;
  53. };
  54. export default Router;