import { IconServer02, IconSettings02 } from '@tidbcloud/uikit/icons'

import { NavItemProps } from 'dbaas/layouts/v5/SideNavbar/components/NavMenu'
import useStores from 'dbaas/stores/useStores'

export function useAdminNavList() {
  const {
    store: { activeProject }
  } = useStores()
  // const recoveryGroupReadable = useAccessCheck('RecoveryGroupRead')
  // const recoveryGroupEnabled = useRecoveryGroupEnabled(tenantData.id, activeProject.id)

  const adminNavList: NavItemProps[] = [
    {
      path: '/project/clusters',
      label: 'Clusters',
      leftSection: <IconServer02 size={16} />
    },
    // {
    //   path: '/project/data-service',
    //   label: 'Data Service',
    //   leftSection: <IconDatabase03 size={16} />
    // },
    // {
    //   path: '/project/recovery-group',
    //   label: 'Recovery Group',
    //   leftSection: <IconDataflow04 size={16} />,
    //   hidden: !recoveryGroupReadable || !recoveryGroupEnabled
    // },
    {
      path: '/project',
      label: 'Project Settings',
      leftSection: <IconSettings02 size={16} />,
      children: [
        {
          path: '/project/network-access',
          label: 'Network Access'
        },
        {
          path: '/project/encryption-access',
          label: 'Encryption Access',
          hidden: !activeProject?.aws_cmek_enabled
        },
        {
          path: '/project/integrations',
          label: 'Integrations'
        },
        {
          path: '/project/alerts',
          label: 'Alert Subscription'
        },
        {
          path: '/project/maintenance-window',
          label: 'Maintenance'
        },
        {
          path: '/project/recycle-bin',
          label: 'Recycle Bin'
        }
      ]
    }
  ]

  const enabledNavList = adminNavList.filter((nav) => {
    if (typeof nav.disabled === 'boolean') {
      return !nav.disabled
    }
    return !nav.disabled?.(activeProject)
  })

  return enabledNavList
}
