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: '/brands/brands-list',
    label: 'Brands',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiDomain' in icon ? icon['mdiDomain' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BRANDS'
  },
  {
    href: '/brand_voice_profiles/brand_voice_profiles-list',
    label: 'Brand voice profiles',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiAccountVoice' in icon ? icon['mdiAccountVoice' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_BRAND_VOICE_PROFILES'
  },
  {
    href: '/brain_profiles/brain_profiles-list',
    label: 'Brain profiles',
    // 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_BRAIN_PROFILES'
  },
  {
    href: '/skill_modules/skill_modules-list',
    label: 'Skill modules',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiToolbox' in icon ? icon['mdiToolbox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SKILL_MODULES'
  },
  {
    href: '/six_hat_sessions/six_hat_sessions-list',
    label: 'Six hat sessions',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiHatFedora' in icon ? icon['mdiHatFedora' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SIX_HAT_SESSIONS'
  },
  {
    href: '/knowledge_sources/knowledge_sources-list',
    label: 'Knowledge sources',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiDatabaseSearch' in icon ? icon['mdiDatabaseSearch' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KNOWLEDGE_SOURCES'
  },
  {
    href: '/knowledge_documents/knowledge_documents-list',
    label: 'Knowledge documents',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFileDocument' in icon ? icon['mdiFileDocument' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KNOWLEDGE_DOCUMENTS'
  },
  {
    href: '/knowledge_chunks/knowledge_chunks-list',
    label: 'Knowledge chunks',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTextBoxSearch' in icon ? icon['mdiTextBoxSearch' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KNOWLEDGE_CHUNKS'
  },
  {
    href: '/knowledge_nodes/knowledge_nodes-list',
    label: 'Knowledge nodes',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiGraph' in icon ? icon['mdiGraph' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_KNOWLEDGE_NODES'
  },
  {
    href: '/campaigns/campaigns-list',
    label: 'Campaigns',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiBullhorn' in icon ? icon['mdiBullhorn' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_CAMPAIGNS'
  },
  {
    href: '/campaign_brain_configs/campaign_brain_configs-list',
    label: 'Campaign brain configs',
    // 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_CAMPAIGN_BRAIN_CONFIGS'
  },
  {
    href: '/safety_policies/safety_policies-list',
    label: 'Safety policies',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiShieldLock' in icon ? icon['mdiShieldLock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SAFETY_POLICIES'
  },
  {
    href: '/audit_events/audit_events-list',
    label: 'Audit events',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiClipboardTextClock' in icon ? icon['mdiClipboardTextClock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AUDIT_EVENTS'
  },
  {
    href: '/ad_projects/ad_projects-list',
    label: 'Ad projects',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFolderStar' in icon ? icon['mdiFolderStar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AD_PROJECTS'
  },
  {
    href: '/ad_creatives/ad_creatives-list',
    label: 'Ad creatives',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiImageMultiple' in icon ? icon['mdiImageMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_AD_CREATIVES'
  },
  {
    href: '/generation_runs/generation_runs-list',
    label: 'Generation runs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiRun' in icon ? icon['mdiRun' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_GENERATION_RUNS'
  },
  {
    href: '/generation_outputs/generation_outputs-list',
    label: 'Generation outputs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiTextBoxCheck' in icon ? icon['mdiTextBoxCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_GENERATION_OUTPUTS'
  },
  {
    href: '/output_citations/output_citations-list',
    label: 'Output citations',
    // 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_OUTPUT_CITATIONS'
  },
  {
    href: '/feedback_entries/feedback_entries-list',
    label: 'Feedback entries',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiMessageStar' in icon ? icon['mdiMessageStar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_FEEDBACK_ENTRIES'
  },
  {
    href: '/learning_signals/learning_signals-list',
    label: 'Learning signals',
    // 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_LEARNING_SIGNALS'
  },
  {
    href: '/platform_metrics/platform_metrics-list',
    label: 'Platform metrics',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiChartBar' in icon ? icon['mdiChartBar' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_PLATFORM_METRICS'
  },
  {
    href: '/sandbox_scenarios/sandbox_scenarios-list',
    label: 'Sandbox scenarios',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiFlask' in icon ? icon['mdiFlask' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_SANDBOX_SCENARIOS'
  },
  {
    href: '/refresh_jobs/refresh_jobs-list',
    label: 'Refresh jobs',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCalendarRefresh' in icon ? icon['mdiCalendarRefresh' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_REFRESH_JOBS'
  },
  {
    href: '/approval_reviews/approval_reviews-list',
    label: 'Approval reviews',
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-ignore
    icon: 'mdiCheckDecagram' in icon ? icon['mdiCheckDecagram' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
    permissions: 'READ_APPROVAL_REVIEWS'
  },
  {
    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
