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.mdiAccountGroup : icon.mdiTable,
    permissions: 'READ_USERS',
  },
  {
    href: '/activity_logs/activity_logs-list',
    label: 'Activity logs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiHistory ? icon.mdiHistory : icon.mdiTable,
    permissions: 'READ_ACTIVITY_LOGS',
  },
  {
    href: '/assignment_submissions/assignment_submissions-list',
    label: 'Assignment submissions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiFileCheckOutline ? icon.mdiFileCheckOutline : icon.mdiTable,
    permissions: 'READ_ASSIGNMENT_SUBMISSIONS',
  },
  {
    href: '/assignments/assignments-list',
    label: 'Assignments',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiFileDocumentEditOutline
      ? icon.mdiFileDocumentEditOutline
      : icon.mdiTable,
    permissions: 'READ_ASSIGNMENTS',
  },
  {
    href: '/bills/bills-list',
    label: 'Bills',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiFileDocument ? icon.mdiFileDocument : icon.mdiTable,
    permissions: 'READ_BILLS',
  },
  {
    href: '/class_messages/class_messages-list',
    label: 'Class messages',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiMessageText ? icon.mdiMessageText : icon.mdiTable,
    permissions: 'READ_CLASS_MESSAGES',
  },
  {
    href: '/class_subjects/class_subjects-list',
    label: 'Class subjects',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiBookMultiple ? icon.mdiBookMultiple : icon.mdiTable,
    permissions: 'READ_CLASS_SUBJECTS',
  },
  {
    href: '/classes/classes-list',
    label: 'Classes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiGoogleClassroom ? icon.mdiGoogleClassroom : icon.mdiTable,
    permissions: 'READ_CLASSES',
  },
  {
    href: '/exam_subjects/exam_subjects-list',
    label: 'Exam subjects',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiBookOpenPageVariantOutline
      ? icon.mdiBookOpenPageVariantOutline
      : icon.mdiTable,
    permissions: 'READ_EXAM_SUBJECTS',
  },
  {
    href: '/exams/exams-list',
    label: 'Exams',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiClipboardTextOutline
      ? icon.mdiClipboardTextOutline
      : icon.mdiTable,
    permissions: 'READ_EXAMS',
  },
  {
    href: '/fee_payments/fee_payments-list',
    label: 'Fee payments',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiReceipt ? icon.mdiReceipt : icon.mdiTable,
    permissions: 'READ_FEE_PAYMENTS',
  },
  {
    href: '/fee_structures/fee_structures-list',
    label: 'Fee structures',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiCurrencyUsd ? icon.mdiCurrencyUsd : icon.mdiTable,
    permissions: 'READ_FEE_STRUCTURES',
  },
  {
    href: '/lesson_plans/lesson_plans-list',
    label: 'Lesson plans',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiNotebookOutline ? icon.mdiNotebookOutline : icon.mdiTable,
    permissions: 'READ_LESSON_PLANS',
  },
  {
    href: '/login_logs/login_logs-list',
    label: 'Login logs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiLogin ? icon.mdiLogin : icon.mdiTable,
    permissions: 'READ_LOGIN_LOGS',
  },
  {
    href: '/marks/marks-list',
    label: 'Marks',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiChartBar ? icon.mdiChartBar : icon.mdiTable,
    permissions: 'READ_MARKS',
  },
  {
    href: '/messages/messages-list',
    label: 'Messages',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiMessageTextOutline
      ? icon.mdiMessageTextOutline
      : icon.mdiTable,
    permissions: 'READ_MESSAGES',
  },
  {
    href: '/parents/parents-list',
    label: 'Parents',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiAccountGroup ? icon.mdiAccountGroup : icon.mdiTable,
    permissions: 'READ_PARENTS',
  },
  {
    href: '/period_settings/period_settings-list',
    label: 'Period settings',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiClockOutline ? icon.mdiClockOutline : icon.mdiTable,
    permissions: 'READ_PERIOD_SETTINGS',
  },
  {
    href: '/school_admins/school_admins-list',
    label: 'School admins',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiAccountSupervisor ? icon.mdiAccountSupervisor : icon.mdiTable,
    permissions: 'READ_SCHOOL_ADMINS',
  },
  {
    href: '/student_attendance/student_attendance-list',
    label: 'Student attendance',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiCheckCircleOutline
      ? icon.mdiCheckCircleOutline
      : icon.mdiTable,
    permissions: 'READ_STUDENT_ATTENDANCE',
  },
  {
    href: '/students/students-list',
    label: 'Students',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiAccountChild ? icon.mdiAccountChild : icon.mdiTable,
    permissions: 'READ_STUDENTS',
  },
  {
    href: '/subjects/subjects-list',
    label: 'Subjects',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiBookOpenPageVariant
      ? icon.mdiBookOpenPageVariant
      : icon.mdiTable,
    permissions: 'READ_SUBJECTS',
  },
  {
    href: '/teacher_attendance/teacher_attendance-list',
    label: 'Teacher attendance',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiCheckCircleOutline
      ? icon.mdiCheckCircleOutline
      : icon.mdiTable,
    permissions: 'READ_TEACHER_ATTENDANCE',
  },
  {
    href: '/teachers/teachers-list',
    label: 'Teachers',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiAccountTie ? icon.mdiAccountTie : icon.mdiTable,
    permissions: 'READ_TEACHERS',
  },
  {
    href: '/timetables/timetables-list',
    label: 'Timetables',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiCalendarClock ? icon.mdiCalendarClock : icon.mdiTable,
    permissions: 'READ_TIMETABLES',
  },
  {
    href: '/roles/roles-list',
    label: 'Roles',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiShieldAccountVariantOutline
      ? 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.mdiShieldAccountOutline
      : icon.mdiTable,
    permissions: 'READ_PERMISSIONS',
  },
  {
    href: '/schools/schools-list',
    label: 'Schools',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiTable ? icon.mdiTable : icon.mdiTable,
    permissions: 'READ_SCHOOLS',
  },
  {
    href: '/profile',
    label: 'Profile',
    icon: icon.mdiAccountCircle,
  },

  {
    href: '/about',
    label: 'Home page',
    icon: icon.mdiHome,
    withDevider: true,
  },
  {
    href: '/api-docs',
    target: '_blank',
    label: 'Swagger API',
    icon: icon.mdiFileCode,
    permissions: 'READ_API_DOCS',
  },
];

export default menuAside;
