Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

48 rader
1.4 KiB

  1. import {lazy, useContext} from 'react';
  2. // project import
  3. import Loadable from 'components/Loadable';
  4. import MainLayout from "../layout/MainLayout";
  5. import {handleRouteAbility} from "../utils/CommonFunction";
  6. import {Navigate} from "react-router";
  7. import AbilityContext from "../components/AbilityProvider";
  8. // render - login
  9. const ClientSearchPage = Loadable(lazy( () => import('pages/client/ClientSearchPage')));
  10. const ClientMaintainPage = Loadable(lazy( () => import('pages/client/ClientMaintainPage')));
  11. // ==============================|| AUTH ROUTING ||============================== //
  12. const ClientRoutes =() => {
  13. const ability = useContext(AbilityContext);
  14. return {
  15. path: '/',
  16. element: <MainLayout />,
  17. children: [
  18. {
  19. path: 'client',
  20. element: (
  21. handleRouteAbility(
  22. ability.can('VIEW', 'DASHBOARD'),
  23. <ClientSearchPage />,
  24. <Navigate to="/" />
  25. )
  26. ),
  27. },
  28. {
  29. path: 'client/maintain/:id',
  30. element: (
  31. handleRouteAbility(
  32. ability.can('VIEW', 'DASHBOARD'),
  33. <ClientMaintainPage />,
  34. <Navigate to="/" />
  35. )
  36. ),
  37. },
  38. ]
  39. };
  40. };
  41. export default ClientRoutes;