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: '/avatars/avatars-list',
    label: 'Avatars',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiEmoticonHappyOutline' in icon ? icon['mdiEmoticonHappyOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AVATARS'
  },
  {
    href: '/avatar_customizations/avatar_customizations-list',
    label: 'Avatar customizations',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPalette' in icon ? icon['mdiPalette' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AVATAR_CUSTOMIZATIONS'
  },
  {
    href: '/cosmetics/cosmetics-list',
    label: 'Cosmetics',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTshirtCrewOutline' in icon ? icon['mdiTshirtCrewOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_COSMETICS'
  },
  {
    href: '/boxes/boxes-list',
    label: 'Boxes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCubeOutline' in icon ? icon['mdiCubeOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BOXES'
  },
  {
    href: '/box_items/box_items-list',
    label: 'Box items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiGiftOutline' in icon ? icon['mdiGiftOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BOX_ITEMS'
  },
  {
    href: '/purchases/purchases-list',
    label: 'Purchases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCartOutline' in icon ? icon['mdiCartOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PURCHASES'
  },
  {
    href: '/inventory_items/inventory_items-list',
    label: 'Inventory items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBackpackOutline' in icon ? icon['mdiBackpackOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_INVENTORY_ITEMS'
  },
  {
    href: '/titles/titles-list',
    label: 'Titles',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFormatTitle' in icon ? icon['mdiFormatTitle' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TITLES'
  },
  {
    href: '/badges/badges-list',
    label: 'Badges',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiShieldStarOutline' in icon ? icon['mdiShieldStarOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BADGES'
  },
  {
    href: '/achievements/achievements-list',
    label: 'Achievements',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTrophyOutline' in icon ? icon['mdiTrophyOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ACHIEVEMENTS'
  },
  {
    href: '/user_achievements/user_achievements-list',
    label: 'User achievements',
    // 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_USER_ACHIEVEMENTS'
  },
  {
    href: '/quizzes/quizzes-list',
    label: 'Quizzes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHelpBoxOutline' in icon ? icon['mdiHelpBoxOutline' 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: '/question_answers/question_answers-list',
    label: 'Question answers',
    // 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_QUESTION_ANSWERS'
  },
  {
    href: '/quiz_tags/quiz_tags-list',
    label: 'Quiz tags',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTagOutline' in icon ? icon['mdiTagOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_TAGS'
  },
  {
    href: '/quiz_tag_links/quiz_tag_links-list',
    label: 'Quiz tag links',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTagMultipleOutline' in icon ? icon['mdiTagMultipleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_QUIZ_TAG_LINKS'
  },
  {
    href: '/orbix_quiz_assistant_sessions/orbix_quiz_assistant_sessions-list',
    label: 'Orbix quiz assistant sessions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRobotOutline' in icon ? icon['mdiRobotOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ORBIX_QUIZ_ASSISTANT_SESSIONS'
  },
  {
    href: '/game_modes/game_modes-list',
    label: 'Game modes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiGamepadVariantOutline' in icon ? icon['mdiGamepadVariantOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_GAME_MODES'
  },
  {
    href: '/matches/matches-list',
    label: 'Matches',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiControllerClassicOutline' in icon ? icon['mdiControllerClassicOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MATCHES'
  },
  {
    href: '/match_players/match_players-list',
    label: 'Match players',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountGroupOutline' in icon ? icon['mdiAccountGroupOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MATCH_PLAYERS'
  },
  {
    href: '/match_questions/match_questions-list',
    label: 'Match questions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiNumeric' in icon ? icon['mdiNumeric' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MATCH_QUESTIONS'
  },
  {
    href: '/player_answers/player_answers-list',
    label: 'Player answers',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCheckDecagramOutline' in icon ? icon['mdiCheckDecagramOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PLAYER_ANSWERS'
  },
  {
    href: '/wheel_events/wheel_events-list',
    label: 'Wheel events',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiWheelchairAccessibility' in icon ? icon['mdiWheelchairAccessibility' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_WHEEL_EVENTS'
  },
  {
    href: '/music_playlists/music_playlists-list',
    label: 'Music playlists',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPlaylistMusicOutline' in icon ? icon['mdiPlaylistMusicOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MUSIC_PLAYLISTS'
  },
  {
    href: '/music_tracks/music_tracks-list',
    label: 'Music tracks',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMusicNoteOutline' in icon ? icon['mdiMusicNoteOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MUSIC_TRACKS'
  },
  {
    href: '/events/events-list',
    label: 'Events',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCalendarStar' in icon ? icon['mdiCalendarStar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_EVENTS'
  },
  {
    href: '/daily_rewards/daily_rewards-list',
    label: 'Daily rewards',
    // 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_DAILY_REWARDS'
  },
  {
    href: '/moderation_reports/moderation_reports-list',
    label: 'Moderation reports',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAlertOctagonOutline' in icon ? icon['mdiAlertOctagonOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_MODERATION_REPORTS'
  },
  {
    href: '/community_modes/community_modes-list',
    label: 'Community modes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRobotExcitedOutline' in icon ? icon['mdiRobotExcitedOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_COMMUNITY_MODES'
  },
  {
    href: '/community_mode_build_sessions/community_mode_build_sessions-list',
    label: 'Community mode build sessions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiWandOutline' in icon ? icon['mdiWandOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_COMMUNITY_MODE_BUILD_SESSIONS'
  },
  {
    href: '/leaderboard_entries/leaderboard_entries-list',
    label: 'Leaderboard entries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPodium' in icon ? icon['mdiPodium' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_LEADERBOARD_ENTRIES'
  },
  {
    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
