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;