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: '/oauth_accounts/oauth_accounts-list',
    label: 'Oauth accounts',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiShieldAccount' in icon ? icon['mdiShieldAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_OAUTH_ACCOUNTS'
  },
  {
    href: '/artist_profiles/artist_profiles-list',
    label: 'Artist profiles',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountMusic' in icon ? icon['mdiAccountMusic' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ARTIST_PROFILES'
  },
  {
    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: 'mdiAccountKey' in icon ? icon['mdiAccountKey' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TEAM_MEMBERSHIPS'
  },
  {
    href: '/plans/plans-list',
    label: 'Plans',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiDiamondStone' in icon ? icon['mdiDiamondStone' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PLANS'
  },
  {
    href: '/subscriptions/subscriptions-list',
    label: 'Subscriptions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCreditCardClock' in icon ? icon['mdiCreditCardClock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SUBSCRIPTIONS'
  },
  {
    href: '/distribution_platforms/distribution_platforms-list',
    label: 'Distribution platforms',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMusicCircle' in icon ? icon['mdiMusicCircle' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_DISTRIBUTION_PLATFORMS'
  },
  {
    href: '/genres/genres-list',
    label: 'Genres',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiShape' in icon ? icon['mdiShape' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_GENRES'
  },
  {
    href: '/releases/releases-list',
    label: 'Releases',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAlbum' in icon ? icon['mdiAlbum' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RELEASES'
  },
  {
    href: '/tracks/tracks-list',
    label: 'Tracks',
    // 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_TRACKS'
  },
  {
    href: '/track_contributors/track_contributors-list',
    label: 'Track contributors',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountMusicOutline' in icon ? icon['mdiAccountMusicOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TRACK_CONTRIBUTORS'
  },
  {
    href: '/release_deliveries/release_deliveries-list',
    label: 'Release deliveries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTruckDelivery' in icon ? icon['mdiTruckDelivery' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_RELEASE_DELIVERIES'
  },
  {
    href: '/smart_links/smart_links-list',
    label: 'Smart links',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiLinkVariant' in icon ? icon['mdiLinkVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SMART_LINKS'
  },
  {
    href: '/smart_link_destinations/smart_link_destinations-list',
    label: 'Smart link destinations',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiLinkBox' in icon ? icon['mdiLinkBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SMART_LINK_DESTINATIONS'
  },
  {
    href: '/smart_link_clicks/smart_link_clicks-list',
    label: 'Smart link clicks',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCursorDefaultClick' in icon ? icon['mdiCursorDefaultClick' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SMART_LINK_CLICKS'
  },
  {
    href: '/playlists/playlists-list',
    label: 'Playlists',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPlaylistMusic' in icon ? icon['mdiPlaylistMusic' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PLAYLISTS'
  },
  {
    href: '/pitch_requests/pitch_requests-list',
    label: 'Pitch requests',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiSend' in icon ? icon['mdiSend' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PITCH_REQUESTS'
  },
  {
    href: '/playlist_placements/playlist_placements-list',
    label: 'Playlist placements',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPlaylistStar' in icon ? icon['mdiPlaylistStar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PLAYLIST_PLACEMENTS'
  },
  {
    href: '/royalty_reports/royalty_reports-list',
    label: 'Royalty 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_ROYALTY_REPORTS'
  },
  {
    href: '/royalty_lines/royalty_lines-list',
    label: 'Royalty lines',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCashMultiple' in icon ? icon['mdiCashMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ROYALTY_LINES'
  },
  {
    href: '/wallets/wallets-list',
    label: 'Wallets',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiWallet' in icon ? icon['mdiWallet' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_WALLETS'
  },
  {
    href: '/wallet_transactions/wallet_transactions-list',
    label: 'Wallet transactions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiSwapHorizontal' in icon ? icon['mdiSwapHorizontal' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_WALLET_TRANSACTIONS'
  },
  {
    href: '/payout_methods/payout_methods-list',
    label: 'Payout methods',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBank' in icon ? icon['mdiBank' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PAYOUT_METHODS'
  },
  {
    href: '/withdrawal_requests/withdrawal_requests-list',
    label: 'Withdrawal requests',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCashFast' in icon ? icon['mdiCashFast' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_WITHDRAWAL_REQUESTS'
  },
  {
    href: '/tax_documents/tax_documents-list',
    label: 'Tax documents',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileDocumentCheck' in icon ? icon['mdiFileDocumentCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_TAX_DOCUMENTS'
  },
  {
    href: '/analytics_daily/analytics_daily-list',
    label: 'Analytics daily',
    // 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_ANALYTICS_DAILY'
  },
  {
    href: '/notifications/notifications-list',
    label: 'Notifications',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBell' in icon ? icon['mdiBell' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_NOTIFICATIONS'
  },
  {
    href: '/notification_preferences/notification_preferences-list',
    label: 'Notification preferences',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTune' in icon ? icon['mdiTune' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_NOTIFICATION_PREFERENCES'
  },
  {
    href: '/api_keys/api_keys-list',
    label: 'Api keys',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiKey' in icon ? icon['mdiKey' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_API_KEYS'
  },
  {
    href: '/dashboard_widgets/dashboard_widgets-list',
    label: 'Dashboard widgets',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiViewDashboardOutline' in icon ? icon['mdiViewDashboardOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_DASHBOARD_WIDGETS'
  },
  {
    href: '/activity_events/activity_events-list',
    label: 'Activity events',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHistory' in icon ? icon['mdiHistory' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_ACTIVITY_EVENTS'
  },
  {
    href: '/blog_posts/blog_posts-list',
    label: 'Blog posts',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiPostOutline' in icon ? icon['mdiPostOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BLOG_POSTS'
  },
  {
    href: '/faq_items/faq_items-list',
    label: 'Faq items',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHelpCircleOutline' in icon ? icon['mdiHelpCircleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_FAQ_ITEMS'
  },
  {
    href: '/contact_messages/contact_messages-list',
    label: 'Contact messages',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiEmailOutline' in icon ? icon['mdiEmailOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CONTACT_MESSAGES'
  },
  {
    href: '/referral_programs/referral_programs-list',
    label: 'Referral programs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountCash' in icon ? icon['mdiAccountCash' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REFERRAL_PROGRAMS'
  },
  {
    href: '/referral_links/referral_links-list',
    label: 'Referral links',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiLinkLock' in icon ? icon['mdiLinkLock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REFERRAL_LINKS'
  },
  {
    href: '/referral_conversions/referral_conversions-list',
    label: 'Referral conversions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountArrowRightOutline' in icon ? icon['mdiAccountArrowRightOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REFERRAL_CONVERSIONS'
  },
  {
    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
