import {lazy, useContext} from 'react'; // project import import Loadable from 'components/Loadable'; import MainLayout from "../layout/MainLayout"; import AbilityContext from "../components/AbilityProvider"; import {handleRouteAbility} from "../utils/CommonFunction"; import {Navigate} from "react-router"; // render - login const SettingPage = Loadable(lazy(() => import('pages/lionerSettingPage'))); const LogoutPage = Loadable(lazy(() => import('pages/extra-pages/LogoutPage'))); const PasswordPolicyPage = Loadable(lazy(()=> import('pages/lionerPasswordPolicyPage'))) const UserSearchPage = Loadable(lazy(()=>import ('pages/lionerUserSearchPage'))); const CategoryPage = Loadable(lazy(()=>import ('pages/lionerCategoryPage'))); const UserMaintainPage = Loadable(lazy(() => import('pages/lionerUserDetailPage'))); const UserGroupSearchPage = Loadable(lazy(() => import('pages/lionerUserGroupSearchPage'))); const UserGroupDetailPage = Loadable(lazy(() => import('pages/lionerUserGroupDetailPage'))); const DivisionSearchPage = Loadable(lazy(() => import('pages/lionerDivisionSearch'))); const DivisionEditPage = Loadable(lazy(() => import('pages/lionerDivisionEdit'))); const PromotionChannelPage = Loadable(lazy(() => import('pages/lionerPromotionChannelPage'))); const TagPage = Loadable(lazy(() => import('pages/lionerTagPage'))); const AuditLogPage = Loadable(lazy(() => import('pages/lionerAuditTrailPage'))); const LoginLogPage = Loadable(lazy(() => import('pages/lionerLoginLog'))); const EmailConfigPage = Loadable(lazy(() => import('pages/lionerEmailConfig'))); const GenerateReminderPage = Loadable(lazy(() => import('pages/lionerManualButtonPage'))); const ClientDepartmentPage = Loadable(lazy(() => import('pages/lionerClientDepartmentPage'))); // ==============================|| AUTH ROUTING ||============================== // const SettingRoutes = () => { const ability = useContext(AbilityContext); return { path: '/', element: , children: [ { path: 'category', element: ( handleRouteAbility( ability.can('MAINTAIN', 'CATEGORY'), , ) ), }, { path: 'tag', element:( handleRouteAbility( ability.can('MAINTAIN', 'TAG'), , ) ), }, { path: 'promotionChannel', element: ( handleRouteAbility( ability.can('MAINTAIN', 'PROMOTION_CHANNEL'), , ) ), }, { path: 'clientDepartment', element: ( handleRouteAbility( ability.can('MAINTAIN', 'CLIENT_DEPARTMENT'), , ) ), }, { path: 'division', element: ( handleRouteAbility( ability.can('MAINTAIN', 'DIVISION'), , ) ), }, { path: 'division/:id', element:( handleRouteAbility( ability.can('MAINTAIN', 'DIVISION'), , ) ), }, { path: 'usergroupSearchview', element: ( handleRouteAbility( ability.can('MAINTAIN', 'USER_GROUP'), , ) ), }, { path: 'userGroup/:id', element:( handleRouteAbility( ability.can('MAINTAIN', 'USER_GROUP'), , ) ), }, { path: 'user/:id', element: ( handleRouteAbility( ability.can('VIEW', 'USER'), , ) ), }, { path: 'userSearchview', element:( handleRouteAbility( ability.can('VIEW', 'USER'), , ) ), }, { path: 'setting', element: ( handleRouteAbility( ability.can('MANAGE', 'SYSTEM_CONFIGURATION'), , ) ), }, { path: 'auditLog', element:( handleRouteAbility( ability.can('VIEW', 'AUDIT_LOG'), , ) ), }, { path: 'loginLog', element: ( handleRouteAbility( ability.can('VIEW', 'LOGIN_LOG'), , ) ), }, { path: 'passwordpolicy', element: ( handleRouteAbility( ability.can('MANAGE', 'SYSTEM_CONFIGURATION'), , ) ), }, { path: 'emailConfig', element: ( handleRouteAbility( ability.can('MANAGE', 'SYSTEM_CONFIGURATION'), , ) ), }, { path: 'generateReminder', element: ( handleRouteAbility( ability.can('MANAGE', 'SYSTEM_CONFIGURATION'), , ) ), }, { path: 'logout', element: } ] } }; export default SettingRoutes;