Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

101 linhas
3.1 KiB

  1. import {lazy, useContext} from 'react';
  2. // project import
  3. import Loadable from 'components/Loadable';
  4. import MainLayout from 'layout/MainLayout';
  5. import AbilityContext from "../components/AbilityProvider";
  6. import {handleRouteAbility} from "../utils/CommonFunction";
  7. import {Navigate} from "react-router";
  8. // render - dashboard
  9. //const DashboardDefault = Loadable(lazy(() => import('pages/dashboard')));
  10. const LIONERDashboard = Loadable(lazy(() => import('pages/lionerdashboard')));
  11. const PDF = Loadable(lazy(() => import('pages/pdf')));
  12. const ReminderPage = Loadable(lazy(() => import('pages/lionerReminderPage')));
  13. const TemplateSearchPage = Loadable(lazy(() => import('pages/lionerSearchPanel')));
  14. const TemplateMaintainPage = Loadable(lazy(() => import('pages/lionerMaintainSearchTemplatePage')));
  15. // render - sample page
  16. //const SamplePage = Loadable(lazy(() => import('pages/extra-pages/SamplePage')));
  17. // render - utilities
  18. // const Typography = Loadable(lazy(() => import('pages/components-overview/Typography')));
  19. // const Color = Loadable(lazy(() => import('pages/components-overview/Color')));
  20. // const Shadow = Loadable(lazy(() => import('pages/components-overview/Shadow')));
  21. // const AntIcons = Loadable(lazy(() => import('pages/components-overview/AntIcons')));
  22. // ==============================|| MAIN ROUTING ||============================== //
  23. const MainRoutes = () => {
  24. const ability = useContext(AbilityContext);
  25. return {
  26. path: '/',
  27. element: <MainLayout/>,
  28. children: [
  29. {
  30. path: '/',
  31. element: (
  32. handleRouteAbility(
  33. ability.can('VIEW', 'DASHBOARD'),
  34. <LIONERDashboard />,
  35. <Navigate to="/appreciation" />
  36. )
  37. ),
  38. },
  39. {
  40. path: '/lionerDashboard',
  41. element: (
  42. handleRouteAbility(
  43. ability.can('VIEW', 'DASHBOARD'),
  44. <LIONERDashboard />,
  45. <Navigate to="/client" />
  46. )
  47. ),
  48. },
  49. {
  50. path: '/pdf',
  51. element: (
  52. handleRouteAbility(
  53. ability.can('VIEW', 'DASHBOARD'),
  54. <PDF />,
  55. <Navigate to="/pdf" />
  56. )
  57. ),
  58. },
  59. // {
  60. // path: '/reminder',
  61. // element: (
  62. // handleRouteAbility(
  63. // ability.can('VIEW', 'REMINDER'),
  64. // <ReminderPage />,
  65. // <Navigate to="/lionerDashboard" />
  66. // )
  67. // ),
  68. // },
  69. // {
  70. // path: '/template',
  71. // element: (
  72. // handleRouteAbility(
  73. // ability.can('MAINTAIN', 'SEARCH_TEMPLATE'),
  74. // <TemplateSearchPage />,
  75. // <Navigate to="/lionerDashboard" />
  76. // )
  77. // ),
  78. // },
  79. // {
  80. // path: '/template/maintain/:id',
  81. // element: (
  82. // handleRouteAbility(
  83. // ability.can('MAINTAIN', 'SEARCH_TEMPLATE'),
  84. // <TemplateMaintainPage />,
  85. // <Navigate to="/lionerDashboard" />
  86. // )
  87. // ),
  88. // },
  89. ]
  90. };
  91. }
  92. export default MainRoutes;