import { lazy } from 'react';
// project import
import Loadable from 'components/Loadable';
// import MainLayout from 'layout/MainLayout';
const MainLayout = Loadable(lazy(() => import('layout/MainLayout')));
import {isGranted, isGrantedAny} from "auth/utils";
import { isPasswordExpiry } from "utils/Utils";
// render - dashboard
const DashboardDefault = Loadable(lazy(() => import('pages/Dashboard/GLD')));
const ApplicationDetail = Loadable(lazy(() => import('pages/PublicNotice/Details_GLD')));
const ApplicationSearch = Loadable(lazy(() => import('pages/PublicNotice/Search_GLD')));
const ApplicationMarkAsPaidSearch = Loadable(lazy(() => import('pages/PublicNotice/Search_Mark_As_Paid_GLD')));
const ProofSearch = Loadable(lazy(() => import('pages/Proof/Search_GLD')));
const ProofCreate_FromApp = Loadable(lazy(() => import('pages/Proof/Create_FromApp')));
const ProofReply_GLD = Loadable(lazy(() => import('pages/Proof/Reply_GLD')));
const PaymentSearch_GLD = Loadable(lazy(() => import('pages/Payment/Search_GLD')));
const PaymentDetails_GLD = Loadable(lazy(() => import('pages/Payment/Details_GLD')));
const DemandNote_Create = Loadable(lazy(() => import('pages/DemandNote/Create')));
const DemandNote_Export = Loadable(lazy(() => import('pages/DemandNote/Export')));
const DemandNote_Search = Loadable(lazy(() => import('pages/DemandNote/Search')));
const DemandNote_Details = Loadable(lazy(() => import('pages/DemandNote/Details')));
const GFMIS_Search = Loadable(lazy(() => import('pages/GFMIS')));
const UserMaintainPage = Loadable(lazy(() => import('pages/User/GLDUserProfile')));
const SystemSetting = Loadable(lazy(() => import('pages/Setting/SystemSetting')));
const AnnouncementDetails = Loadable(lazy(() => import('pages/Announcement/Details')));
const AnnouncementSearch = Loadable(lazy(() => import('pages/Announcement/Search')));
const EmailTemplatePage = Loadable(lazy(() => import('pages/EmailTemplate/Search_GLD')));
const EmailTemplateDetailPage = Loadable(lazy(() => import('pages/EmailTemplate/Detail_GLD')));
const HolidayPage = Loadable(lazy(() => import('pages/Holiday')));
const GazetteIssuePage = Loadable(lazy(() => import('pages/GazetteIssue/index')));
const DrImport = Loadable(lazy(() => import('pages/Setting/DrImport')));
const AuditLogPage = Loadable(lazy(() => import('pages/AuditLog/index')));
const ReconReportPage = Loadable(lazy(() => import('pages/Recon')));
const ChangePasswordPage = Loadable(lazy(() => import('pages/User/ChangePasswordPage')));
// ==============================|| MAIN ROUTING ||============================== //
const GLDUserRoutes = {
path: '/',
element: ,
children: [
(
isPasswordExpiry()?
{
path: '/',
element:
}:
{
path: '/',
element:
}
),
{
path: '/',
children: [
{
path: '/dashboard',
element:
},
{
path: '/application/:id',
element:
},
{
path: '/application/search',
element:
},
isGranted(["MAINTAIN_PAYMENT"])?
{
path: '/application/markAsPaid/search',
element:
}:{},
isGrantedAny(["VIEW_PROOF","MAINTAIN_PROOF"])?{
path: '/proof/search',
element:
}:{},
isGranted("MAINTAIN_PROOF")?
{
path: '/proof/create/:id',
element:
}:{},
isGrantedAny(["VIEW_PROOF","MAINTAIN_PROOF"])?{
path: '/proof/reply/:id',
element:
}:{},
isGranted(["MAINTAIN_PAYMENT"])?
{
path: '/paymentPage/search',
element:
}:{},
isGranted(["MAINTAIN_PAYMENT"])?
{
path: '/paymentPage/details/:id',
element:
}:{},
isGranted(["MAINTAIN_DEMANDNOTE"])?
{
path: '/paymentPage/createDemandNote',
element:
}:{},
isGranted(["MAINTAIN_DEMANDNOTE"])?
{
path: '/paymentPage/exportGDN',
element:
}:{},
isGrantedAny(["VIEW_DEMANDNOTE","MAINTAIN_DEMANDNOTE"])?
{
path: '/paymentPage/demandNote',
element:
}:{},
isGrantedAny(["VIEW_DEMANDNOTE","MAINTAIN_DEMANDNOTE"])?
{
path: '/paymentPage/demandNote/details/:id',
element:
}:{},
isGranted("MAINTAIN_RECON") ?
{
path: '/paymentPage/reconReport',
element:
}:{},
isGranted("MAINTAIN_RECON") ?
{
path: '/gfmis/search',
element:
}:{},
{
path: '/user/profile',
element:
},
isGranted("MAINTAIN_SETTING") ?
{
path: '/setting/sys',
element:
}:{},
isGranted("MAINTAIN_ANNOUNCEMENT") ?
{
path: '/setting/announcement',
element:
}:{},
isGranted("MAINTAIN_ANNOUNCEMENT")?
{
path: '/setting/announcement/details/:id',
element:
}:{},
isGranted("MAINTAIN_EMAIL")?
{
path: '/setting/emailTemplate',
element:
}:{},
isGranted("MAINTAIN_EMAIL")?
{
path: '/setting/emailTemplate/:id',
element:
}:{},
isGranted("MAINTAIN_GAZETTE_ISSUE")?
{
path: '/setting/holiday',
element:
}:{},
isGranted("MAINTAIN_GAZETTE_ISSUE")?
{
path: '/setting/gazetteissuepage',
element:
}:{},
isGranted("MAINTAIN_DR")?
{
path: '/setting/drImport',
element:
}:{},
{
path: '/setting/auditLog',
element:
},
]
},
]
};
export default GLDUserRoutes;