hgh_admin/resources/js/plugins/1.router/additional-routes.js
nasir@endelospay.com cd856925f1 fix
2024-06-08 06:55:06 +05:00

163 lines
4.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const emailRouteComponent = () => import('@/pages/apps/email/index.vue')
// 👉 Redirects
export const redirects = [
// We are redirecting to different pages based on role.
// NOTE: Role is just for UI purposes. ACL is based on abilities.
{
path: '/',
name: 'index',
redirect: to => {
// TODO: Get type from backend
const userData = useCookie('userData')
const userRole = userData.value?.role
if (userRole === 'admin')
return { name: 'admin-dashboard' }
if (userRole === 'client')
return { name: 'access-control' }
return { name: 'login', query: to.query }
},
},
{
path: '/pages/user-profile',
name: 'pages-user-profile',
redirect: () => ({ name: 'pages-user-profile-tab', params: { tab: 'profile' } }),
},
{
path: '/pages/account-settings',
name: 'pages-account-settings',
redirect: () => ({ name: 'pages-account-settings-tab', params: { tab: 'account' } }),
},
]
export const routes = [
// Email filter
{
path: '/admin/dashboard',
name: 'admin-dashboard',
component: () => import('@/pages/dashboards/analytics.vue'),
},
{
path: '/admin/patients',
name: 'admin-patients',
component: () => import('@/pages/patients/patients.vue'),
},
{
path: '/admin/patients/labkit/:patient_id',
name: 'admin-patients-labkit',
component: () => import('@/pages/pages/patient-labkits/labkit.vue'),
},
{
path: '/admin/patient/meetings/:id',
name: 'admin-patient-meeitngs',
component: () => import('@/pages/patients/meetings.vue'),
},
{
path: '/admin/patient/meeting-details/:patient_id/:id',
name: 'admin-patient-meeitng-details',
component: () => import('@/pages/patients/meeting-details.vue'),
},
{
path: '/admin/provider/meetings/:id',
name: 'admin-provider-meeitngs',
component: () => import('@/pages/providers/meetings.vue'),
},
{
path: '/admin/provider/meeting-details/:provider_id/:id',
name: 'admin-provider-meeitng-details',
component: () => import('@/pages/providers/meeting-details.vue'),
},
{
path: '/admin/patient/meeting/prescription/:patient_id/:id',
name: 'admin-patient-meeitng-prescription',
component: () => import('@/pages/pages/patient-meetings/prescription.vue'),
},
{
path: '/admin/patient/meeting/notes/:patient_id/:id',
name: 'admin-patient-meeitng-notes',
component: () => import('@/pages/pages/patient-meetings/notes.vue'),
},
{
path: '/admin/providers',
name: 'admin-providers',
component: () => import('@/pages/providers/providers.vue'),
},
{
path: '/admin/labs',
name: 'admin-labs',
component: () => import('@/pages/labs/labs.vue'),
},
{
path: '/admin/lab-kites',
name: 'admin-lab-kites',
component: () => import('@/pages/labs/labs-kit.vue'),
},
{
path: '/admin/medicines',
name: 'admin-medicines',
component: () => import('@/pages/medicines/medicines.vue'),
},
{
path: '/admin/profile',
name: 'admin-profile',
component: () => import('@/views/pages/account-settings/AccountSettingsAccount.vue'),
},
{
path: '/admin/change-password',
name: 'admin-change-password',
component: () => import('@/views/pages/account-settings/AccountSettingsSecurity.vue'),
},
{
path: '/admin/site-setting',
name: 'admin-site-setting',
component: () => import('@/views/pages/account-settings/WebsiteSettings.vue'),
},
{
path: '/admin/patients/patient-profile/:id',
name: 'admin-patient-profile',
component: () => import('@/pages/patients/patient-profile.vue'),
},
{
path: '/admin/provider/provider-profile/:id',
name: 'admin-provider-profile',
component: () => import('@/pages/providers/provider-profile.vue'),
},
{
path: '/apps/email/filter/:filter',
name: 'apps-email-filter',
component: emailRouteComponent,
meta: {
navActiveLink: 'apps-email',
layoutWrapperClasses: 'layout-content-height-fixed',
},
},
// Email label
{
path: '/apps/email/label/:label',
name: 'apps-email-label',
component: emailRouteComponent,
meta: {
// contentClass: 'email-application',
navActiveLink: 'apps-email',
layoutWrapperClasses: 'layout-content-height-fixed',
},
},
{
path: '/dashboards/logistics',
name: 'dashboards-logistics',
component: () => import('@/pages/apps/logistics/dashboard.vue'),
},
{
path: '/dashboards/academy',
name: 'dashboards-academy',
component: () => import('@/pages/apps/academy/dashboard.vue'),
},
{
path: '/apps/ecommerce/dashboard',
name: 'apps-ecommerce-dashboard',
component: () => import('@/pages/dashboards/ecommerce.vue'),
},
]