import * as icon from '@mdi/js';
import { MenuAsideItem } from './interfaces'

const menuAside: MenuAsideItem[] = [
  {
    href: '/dashboard',
    icon: icon.mdiViewDashboardOutline,
    label: 'Dashboard',
  },
  
  {
    href: '/users/users-list',
    label: 'Users',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiAccountGroup ?? icon.mdiTable,
    permissions: 'READ_USERS'
  },
  {
    href: '/roles/roles-list',
    label: 'Roles',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiShieldAccountVariantOutline ?? icon.mdiTable,
    permissions: 'READ_ROLES'
  },
  {
    href: '/permissions/permissions-list',
    label: 'Permissions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiShieldAccountOutline ?? icon.mdiTable,
    permissions: 'READ_PERMISSIONS'
  },
  {
    href: '/patients/patients-list',
    label: 'Patients',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHospitalBox' in icon ? icon['mdiHospitalBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PATIENTS'
  },
  {
    href: '/guarantors/guarantors-list',
    label: 'Guarantors',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountTie' in icon ? icon['mdiAccountTie' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_GUARANTORS'
  },
  {
    href: '/doctors/doctors-list',
    label: 'Doctors',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiStethoscope' in icon ? icon['mdiStethoscope' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_DOCTORS'
  },
  {
    href: '/visits/visits-list',
    label: 'Visits',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCalendarClock' in icon ? icon['mdiCalendarClock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_VISITS'
  },
  {
    href: '/orders/orders-list',
    label: 'Orders',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiClipboardList' in icon ? icon['mdiClipboardList' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ORDERS'
  },
  {
    href: '/radiology_types/radiology_types-list',
    label: 'Radiology types',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiImage' in icon ? icon['mdiImage' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RADIOLOGY_TYPES'
  },
  {
    href: '/radiology_studies/radiology_studies-list',
    label: 'Radiology studies',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiXRay' in icon ? icon['mdiXRay' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RADIOLOGY_STUDIES'
  },
  {
    href: '/ct_types/ct_types-list',
    label: 'Ct types',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRadiology' in icon ? icon['mdiRadiology' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CT_TYPES'
  },
  {
    href: '/ct_studies/ct_studies-list',
    label: 'Ct studies',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCtScan' in icon ? icon['mdiCtScan' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CT_STUDIES'
  },
  {
    href: '/lab_tests/lab_tests-list',
    label: 'Lab tests',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFlask' in icon ? icon['mdiFlask' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LAB_TESTS'
  },
  {
    href: '/lab_orders/lab_orders-list',
    label: 'Lab orders',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBeaker' in icon ? icon['mdiBeaker' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LAB_ORDERS'
  },
  {
    href: '/lab_results/lab_results-list',
    label: 'Lab results',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiClipboardPulse' in icon ? icon['mdiClipboardPulse' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LAB_RESULTS'
  },
  {
    href: '/endoscopy_cases/endoscopy_cases-list',
    label: 'Endoscopy cases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMedicalBag' in icon ? icon['mdiMedicalBag' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ENDOSCOPY_CASES'
  },
  {
    href: '/surgery_cases/surgery_cases-list',
    label: 'Surgery cases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiScalpel' in icon ? icon['mdiScalpel' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURGERY_CASES'
  },
  {
    href: '/surgery_consumables/surgery_consumables-list',
    label: 'Surgery consumables',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPackageVariant' in icon ? icon['mdiPackageVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURGERY_CONSUMABLES'
  },
  {
    href: '/anesthesia_records/anesthesia_records-list',
    label: 'Anesthesia records',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiNeedle' in icon ? icon['mdiNeedle' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ANESTHESIA_RECORDS'
  },
  {
    href: '/cathlab_cases/cathlab_cases-list',
    label: 'Cathlab cases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHeartPulse' in icon ? icon['mdiHeartPulse' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CATHLAB_CASES'
  },
  {
    href: '/ecg_stress_tests/ecg_stress_tests-list',
    label: 'Ecg stress tests',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHeart' in icon ? icon['mdiHeart' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ECG_STRESS_TESTS'
  },
  {
    href: '/nursing_staff/nursing_staff-list',
    label: 'Nursing staff',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiNurse' in icon ? icon['mdiNurse' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_NURSING_STAFF'
  },
  {
    href: '/cleaning_staff/cleaning_staff-list',
    label: 'Cleaning staff',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBroom' in icon ? icon['mdiBroom' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CLEANING_STAFF'
  },
  {
    href: '/inventory_consumables/inventory_consumables-list',
    label: 'Inventory consumables',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiArchive' in icon ? icon['mdiArchive' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_INVENTORY_CONSUMABLES'
  },
  {
    href: '/pharmacy_inventory/pharmacy_inventory-list',
    label: 'Pharmacy inventory',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPill' in icon ? icon['mdiPill' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PHARMACY_INVENTORY'
  },
  {
    href: '/pharmacy_sales_invoices/pharmacy_sales_invoices-list',
    label: 'Pharmacy sales invoices',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiReceipt' in icon ? icon['mdiReceipt' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PHARMACY_SALES_INVOICES'
  },
  {
    href: '/suppliers/suppliers-list',
    label: 'Suppliers',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTruck' in icon ? icon['mdiTruck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SUPPLIERS'
  },
  {
    href: '/purchases/purchases-list',
    label: 'Purchases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCart' in icon ? icon['mdiCart' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PURCHASES'
  },
  {
    href: '/patient_invoices/patient_invoices-list',
    label: 'Patient invoices',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileInvoice' in icon ? icon['mdiFileInvoice' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PATIENT_INVOICES'
  },
  {
    href: '/ledger_entries/ledger_entries-list',
    label: 'Ledger entries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBookOpenPageVariant' in icon ? icon['mdiBookOpenPageVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LEDGER_ENTRIES'
  },
  {
    href: '/journal_entries/journal_entries-list',
    label: 'Journal entries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiNotebook' in icon ? icon['mdiNotebook' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_JOURNAL_ENTRIES'
  },
  {
    href: '/trial_balances/trial_balances-list',
    label: 'Trial balances',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiScaleBalance' in icon ? icon['mdiScaleBalance' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TRIAL_BALANCES'
  },
  {
    href: '/closing_balances/closing_balances-list',
    label: 'Closing balances',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileChart' in icon ? icon['mdiFileChart' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CLOSING_BALANCES'
  },
  {
    href: '/inpatient_rooms/inpatient_rooms-list',
    label: 'Inpatient rooms',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiDoor' in icon ? icon['mdiDoor' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_INPATIENT_ROOMS'
  },
  {
    href: '/room_bookings/room_bookings-list',
    label: 'Room bookings',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBedDouble' in icon ? icon['mdiBedDouble' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ROOM_BOOKINGS'
  },
  {
    href: '/restaurant_meals/restaurant_meals-list',
    label: 'Restaurant meals',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFood' in icon ? icon['mdiFood' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RESTAURANT_MEALS'
  },
  {
    href: '/restaurant_inventory/restaurant_inventory-list',
    label: 'Restaurant inventory',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFridge' in icon ? icon['mdiFridge' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RESTAURANT_INVENTORY'
  },
  {
    href: '/maternity_cases/maternity_cases-list',
    label: 'Maternity cases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBabyFace' in icon ? icon['mdiBabyFace' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MATERNITY_CASES'
  },
  {
    href: '/pregnancy_followups/pregnancy_followups-list',
    label: 'Pregnancy followups',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiStroller' in icon ? icon['mdiStroller' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PREGNANCY_FOLLOWUPS'
  },
  {
    href: '/nicu_incubators/nicu_incubators-list',
    label: 'Nicu incubators',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBaby' in icon ? icon['mdiBaby' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_NICU_INCUBATORS'
  },
  {
    href: '/daily_followup_clinic/daily_followup_clinic-list',
    label: 'Daily followup clinic',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCalendarCheck' in icon ? icon['mdiCalendarCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_DAILY_FOLLOWUP_CLINIC'
  },
  {
    href: '/audit_log/audit_log-list',
    label: 'Audit log',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMonitor' in icon ? icon['mdiMonitor' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AUDIT_LOG'
  },
  {
    href: '/settings/settings-list',
    label: 'Settings',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCog' in icon ? icon['mdiCog' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SETTINGS'
  },
  {
    href: '/profile',
    label: 'Profile',
    icon: icon.mdiAccountCircle,
  },

 
  {
    href: '/api-docs',
    target: '_blank',
    label: 'Swagger API',
    icon: icon.mdiFileCode,
    permissions: 'READ_API_DOCS'
  },
]

export default menuAside
