import * as icon from '@mdi/js'; import { MenuAsideItem } from './interfaces' const menuAside: MenuAsideItem[] = [ { href: '/dashboard', icon: icon.mdiViewDashboardOutline, label: 'Dashboard', }, { href: '/play', label: 'Play', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiControllerClassic' in icon ? icon['mdiControllerClassic' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_GAME_SESSIONS' }, { 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: '/mappers/mappers-list', label: 'Mappers', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiAccount' in icon ? icon['mdiAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_MAPPERS' }, { href: '/artists/artists-list', label: 'Artists', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiMusicArtist' in icon ? icon['mdiMusicArtist' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_ARTISTS' }, { href: '/beatmap_sets/beatmap_sets-list', label: 'Beatmap sets', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiImageAlbum' in icon ? icon['mdiImageAlbum' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_BEATMAP_SETS' }, { href: '/beatmaps/beatmaps-list', label: 'Beatmaps', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiMusicNote' in icon ? icon['mdiMusicNote' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_BEATMAPS' }, { href: '/game_sessions/game_sessions-list', label: 'Game sessions', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiControllerClassic' in icon ? icon['mdiControllerClassic' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_GAME_SESSIONS' }, { href: '/game_rounds/game_rounds-list', label: 'Game rounds', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiSortVariant' in icon ? icon['mdiSortVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_GAME_ROUNDS' }, { href: '/leaderboard_entries/leaderboard_entries-list', label: 'Leaderboard entries', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiTrophy' in icon ? icon['mdiTrophy' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_LEADERBOARD_ENTRIES' }, { href: '/aggregation_jobs/aggregation_jobs-list', label: 'Aggregation jobs', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiCogs' in icon ? icon['mdiCogs' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_AGGREGATION_JOBS' }, { href: '/api_request_logs/api_request_logs-list', label: 'Api request logs', // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore icon: 'mdiApi' in icon ? icon['mdiApi' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable, permissions: 'READ_API_REQUEST_LOGS' }, { 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