import type { JSX, SVGProps } from 'react'

import { ChartIcon } from '~/components/icons/chart'
import { ChatIcon } from '~/components/icons/chat'
import { DocumentIcon } from '~/components/icons/document'
import { MedicalNotesIcon } from '~/components/icons/medical-notes'
import { ProfileIcon } from '~/components/icons/profile'
import { SettingIcon } from '~/components/icons/setting'
import { WalletIcon } from '~/components/icons/wallet'

type TMenu = {
  group: string
  items: {
    title: string
    url: string
    icon: (
      properties: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>,
    ) => JSX.Element
  }[]
}

export const MENU: TMenu[] = [
  {
    group: 'Menu',
    items: [
      {
        title: 'Dashboard',
        url: '/admin/dashboard',
        icon: ChartIcon,
      },
      {
        title: 'User',
        url: '/admin/dashboard/users',
        icon: DocumentIcon,
      },
      {
        title: 'Konten',
        url: '/admin/dashboard/contents',
        icon: ChatIcon,
      },
      {
        title: 'Advertisement',
        url: '/admin/dashboard/advertisements',
        icon: MedicalNotesIcon,
      },
      {
        title: 'Subscription',
        url: '/admin/dashboard/subscriptions',
        icon: ChartIcon,
      },
    ],
  },
  {
    group: 'Others',
    items: [
      {
        title: 'Data Situs',
        url: '/admin/dashboard/site-data',
        icon: WalletIcon,
      },
      {
        title: 'Pengaturan',
        url: '/admin/dashboard/settings',
        icon: SettingIcon,
      },
      {
        title: 'Admin',
        url: '/admin/dashboard/admins',
        icon: ProfileIcon,
      },
    ],
  },
]
