import { Suspense, lazy, ElementType } from 'react';
import { Navigate, useRoutes, useLocation } from 'react-router-dom';
// layouts
import DashboardLayout from '../layouts/dashboard';
import LogoOnlyLayout from '../layouts/LogoOnlyLayout';
// components
import LoadingScreen from '../components/LoadingScreen';
import GuestGuard from '../guards/GuestGuard';
import { RegisterForm } from '../sections/auth/register';
import Register from '../pages/auth/Register';
import ResetPassword from '../pages/auth/ResetPassword';
import VerifyCode from '../pages/auth/VerifyCode';
import { AuthProvider } from '../contexts/LaravelAuthContext';
import AuthGuard from '../guards/AuthGuard';
// ----------------------------------------------------------------------
const Loadable = (Component: ElementType) => (props: any) => {
// eslint-disable-next-line react-hooks/rules-of-hooks
const { pathname } = useLocation();
return (
}>
);
};
export default function Router() {
return useRoutes([
{
path: 'auth',
children: [
{
path: 'login',
element: (
),
},
{
path: 'register',
element: (
),
},
// { path: 'login-unprotected', element: },
// { path: 'register-unprotected', element: },
// { path: 'reset-password', element: },
// { path: 'verify', element: },
],
},
// {
// path: '/',
// element: ,
// },
{
path: '/',
element: (
),
children:[
{ element: , index: true },
{
path: 'dashboard',
element: ,
},
{
path: 'members',
element: ,
},
{
path: 'corporates',
element: ,
},
{
path: 'corporates/create',
element: ,
},
{
path: 'corporates/:corporate_id',
element: ,
},
{
path: 'corporates/:corporate_id/edit',
element: ,
},
{
path: 'corporates/:corporate_id/divisions',
element: ,
},
{
path: 'corporates/:corporate_id/divisions/create',
element: ,
},
{
path: 'corporates/:corporate_id/divisions/:id/edit',
element: ,
},
{
path: 'corporates/:corporate_id/members',
element: ,
},
{
path: 'corporates/:corporate_id/plans/create',
element: ,
},
{
path: 'corporates/:corporate_id/plans',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-plans/create',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-plans/:id/edit',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-plans',
element: ,
},
{
path: 'corporates/:corporate_id/benefits/create',
element: ,
},
{
path: 'corporates/:corporate_id/benefits',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-benefits/create',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-benefits',
element: ,
},
{
path: 'corporates/:corporate_id/corporate-benefits/:id/edit',
element: ,
},
{
path: 'corporates/:corporate_id/diagnosis-exclusions',
element: ,
},
{
path: 'master/diagnosis',
element: ,
},
]
},
// {
// path: '/dashboard',
// element: ,
// children: [
// { element: , index: true },
// { path: 'one', element:
// },
// { path: 'two', element:
// },
// { path: 'three', element:
// },
// {
// path: 'user',
// children: [
// { element: , index: true },
// { path: 'four', element: },
// { path: 'six', element: },
// ],
// },
// ],
// },
{
path: '*',
element: ,
children: [
{ path: '404', element: },
{ path: '*', element: },
],
},
{ path: '*', element: },
]);
}
const Login = Loadable(lazy(() => import('../pages/auth/Login')));
// Dashboard
const Dashboard = Loadable(lazy(() => import('../pages/Dashboard')));
const NotFound = Loadable(lazy(() => import('../pages/Page404')));
// Members
const Members = Loadable(lazy(() => import('../pages/Members/Index')));
const MedicinesCreate = Loadable(lazy(() => import('../pages/Medicines/Create')));
const Corporate = Loadable(lazy(() => import('../pages/Corporates/Index')));
const CorporateCreate = Loadable(lazy(() => import('../pages/Corporates/CreateUpdate')));
const CorporateShow = Loadable(lazy(() => import('../pages/Corporates/Show')));
const CorporateDivisions = Loadable(lazy(() => import('../pages/Corporates/Division/Index')));
const CorporateDivisionsCreate = Loadable(lazy(() => import('../pages/Corporates/Division/CreateUpdate')));
const CorporateMembers = Loadable(lazy(() => import('../pages/Corporates/Member/Index')));
const BenefitCreate = Loadable(lazy(() => import('../pages/Corporates/Benefit/Create')));
const Benefits = Loadable(lazy(() => import('../pages/Corporates/Benefit/Index')));
const CorporateBenefitsCreate = Loadable(lazy(() => import('../pages/Corporates/CorporateBenefit/CreateUpdate')));
const CorporateBenefits = Loadable(lazy(() => import('../pages/Corporates/CorporateBenefit/Index')));
const CorporatePlanCreate = Loadable(lazy(() => import('../pages/Corporates/CorporatePlan/CreateUpdate')));
const CorporatePlans = Loadable(lazy(() => import('../pages/Corporates/CorporatePlan/Index')));
const PlanCreate = Loadable(lazy(() => import('../pages/Corporates/Plan/Create')));
const Plans = Loadable(lazy(() => import('../pages/Corporates/Plan/Index')));
const DiagnosisExclusions = Loadable(lazy(() => import('../pages/Corporates/DiagnosisExclusion/Index')));
const MasterDiagnosis = Loadable(lazy(() => import('../pages/Master/Diagnosis/Index')));