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: '/organizations/organizations-list',
    label: 'Organizations',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ORGANIZATIONS'
  },
  {
    href: '/role_permissions/role_permissions-list',
    label: 'Role permissions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiLockCheck' in icon ? icon['mdiLockCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ROLE_PERMISSIONS'
  },
  {
    href: '/role_assignments/role_assignments-list',
    label: 'Role assignments',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountKey' in icon ? icon['mdiAccountKey' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ROLE_ASSIGNMENTS'
  },
  {
    href: '/teams/teams-list',
    label: 'Teams',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountGroup' in icon ? icon['mdiAccountGroup' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TEAMS'
  },
  {
    href: '/team_memberships/team_memberships-list',
    label: 'Team memberships',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountMultiple' in icon ? icon['mdiAccountMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TEAM_MEMBERSHIPS'
  },
  {
    href: '/programs/programs-list',
    label: 'Programs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiSchool' in icon ? icon['mdiSchool' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PROGRAMS'
  },
  {
    href: '/learning_paths/learning_paths-list',
    label: 'Learning paths',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMapMarkerPath' in icon ? icon['mdiMapMarkerPath' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LEARNING_PATHS'
  },
  {
    href: '/missions/missions-list',
    label: 'Missions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRocketLaunch' in icon ? icon['mdiRocketLaunch' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MISSIONS'
  },
  {
    href: '/checklists/checklists-list',
    label: 'Checklists',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFormatListCheckbox' in icon ? icon['mdiFormatListCheckbox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CHECKLISTS'
  },
  {
    href: '/checklist_items/checklist_items-list',
    label: 'Checklist items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCheckboxMarkedCircleOutline' in icon ? icon['mdiCheckboxMarkedCircleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CHECKLIST_ITEMS'
  },
  {
    href: '/enrollments/enrollments-list',
    label: 'Enrollments',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiClipboardAccount' in icon ? icon['mdiClipboardAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ENROLLMENTS'
  },
  {
    href: '/mission_attempts/mission_attempts-list',
    label: 'Mission attempts',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiProgressCheck' in icon ? icon['mdiProgressCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MISSION_ATTEMPTS'
  },
  {
    href: '/quizzes/quizzes-list',
    label: 'Quizzes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHelpCircle' in icon ? icon['mdiHelpCircle' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZZES'
  },
  {
    href: '/quiz_questions/quiz_questions-list',
    label: 'Quiz questions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCommentQuestionOutline' in icon ? icon['mdiCommentQuestionOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_QUESTIONS'
  },
  {
    href: '/quiz_choices/quiz_choices-list',
    label: 'Quiz choices',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFormatListBulleted' in icon ? icon['mdiFormatListBulleted' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_CHOICES'
  },
  {
    href: '/quiz_submissions/quiz_submissions-list',
    label: 'Quiz submissions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileCheck' in icon ? icon['mdiFileCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_SUBMISSIONS'
  },
  {
    href: '/quiz_answers/quiz_answers-list',
    label: 'Quiz answers',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTextBoxCheckOutline' in icon ? icon['mdiTextBoxCheckOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_ANSWERS'
  },
  {
    href: '/simulations/simulations-list',
    label: 'Simulations',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTheater' in icon ? icon['mdiTheater' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SIMULATIONS'
  },
  {
    href: '/simulation_steps/simulation_steps-list',
    label: 'Simulation steps',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiOrderNumericAscending' in icon ? icon['mdiOrderNumericAscending' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SIMULATION_STEPS'
  },
  {
    href: '/content_assets/content_assets-list',
    label: 'Content assets',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileDocumentMultiple' in icon ? icon['mdiFileDocumentMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CONTENT_ASSETS'
  },
  {
    href: '/ai_content_requests/ai_content_requests-list',
    label: 'Ai content requests',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRobot' in icon ? icon['mdiRobot' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AI_CONTENT_REQUESTS'
  },
  {
    href: '/knowledge_gap_assessments/knowledge_gap_assessments-list',
    label: 'Knowledge gap assessments',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBrain' in icon ? icon['mdiBrain' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KNOWLEDGE_GAP_ASSESSMENTS'
  },
  {
    href: '/badges/badges-list',
    label: 'Badges',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMedal' in icon ? icon['mdiMedal' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BADGES'
  },
  {
    href: '/user_badges/user_badges-list',
    label: 'User badges',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTrophyAward' in icon ? icon['mdiTrophyAward' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_USER_BADGES'
  },
  {
    href: '/point_ledger_entries/point_ledger_entries-list',
    label: 'Point ledger entries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCashPlus' in icon ? icon['mdiCashPlus' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_POINT_LEDGER_ENTRIES'
  },
  {
    href: '/challenges/challenges-list',
    label: 'Challenges',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFlagCheckered' in icon ? icon['mdiFlagCheckered' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CHALLENGES'
  },
  {
    href: '/challenge_participants/challenge_participants-list',
    label: 'Challenge participants',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountStar' in icon ? icon['mdiAccountStar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CHALLENGE_PARTICIPANTS'
  },
  {
    href: '/reward_catalog_items/reward_catalog_items-list',
    label: 'Reward catalog items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiStorefront' in icon ? icon['mdiStorefront' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REWARD_CATALOG_ITEMS'
  },
  {
    href: '/reward_redemptions/reward_redemptions-list',
    label: 'Reward redemptions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiGift' in icon ? icon['mdiGift' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REWARD_REDEMPTIONS'
  },
  {
    href: '/recognition_posts/recognition_posts-list',
    label: 'Recognition posts',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHandHeart' in icon ? icon['mdiHandHeart' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RECOGNITION_POSTS'
  },
  {
    href: '/coaching_sessions/coaching_sessions-list',
    label: 'Coaching sessions',
    // 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_COACHING_SESSIONS'
  },
  {
    href: '/kpi_definitions/kpi_definitions-list',
    label: 'Kpi definitions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiChartLine' in icon ? icon['mdiChartLine' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KPI_DEFINITIONS'
  },
  {
    href: '/kpi_measurements/kpi_measurements-list',
    label: 'Kpi measurements',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiChartBox' in icon ? icon['mdiChartBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KPI_MEASUREMENTS'
  },
  {
    href: '/qa_evaluations/qa_evaluations-list',
    label: 'Qa evaluations',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiChecklist' in icon ? icon['mdiChecklist' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QA_EVALUATIONS'
  },
  {
    href: '/qa_scorecards/qa_scorecards-list',
    label: 'Qa scorecards',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiScoreboard' in icon ? icon['mdiScoreboard' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QA_SCORECARDS'
  },
  {
    href: '/surveys/surveys-list',
    label: 'Surveys',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPoll' in icon ? icon['mdiPoll' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURVEYS'
  },
  {
    href: '/survey_questions/survey_questions-list',
    label: 'Survey questions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCommentTextMultiple' in icon ? icon['mdiCommentTextMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURVEY_QUESTIONS'
  },
  {
    href: '/survey_responses/survey_responses-list',
    label: 'Survey responses',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMessageReplyText' in icon ? icon['mdiMessageReplyText' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURVEY_RESPONSES'
  },
  {
    href: '/survey_response_items/survey_response_items-list',
    label: 'Survey response items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFormTextbox' in icon ? icon['mdiFormTextbox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SURVEY_RESPONSE_ITEMS'
  },
  {
    href: '/reports/reports-list',
    label: 'Reports',
    // 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_REPORTS'
  },
  {
    href: '/audit_events/audit_events-list',
    label: 'Audit events',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiShieldSearch' in icon ? icon['mdiShieldSearch' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AUDIT_EVENTS'
  },
  {
    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
