import { Field, Input, Label, Select } from '@headlessui/react'
import DT from 'datatables.net-dt'
import DataTable from 'datatables.net-react'

import { SearchIcon } from '~/components/icons/search'
import { UiTable } from '~/components/ui/table'
import { TitleDashboard } from '~/components/ui/title-dashboard'

import { SUBSCRIPTIONS } from './data'

export const SubscriptionsPage = () => {
  DataTable.use(DT)
  const colTableSubscription = [
    { title: 'No', data: 'id' },
    { title: 'Tanggal Subscribe', data: 'date' },
    { title: 'Nama User', data: 'name' },
    { title: 'Email', data: 'email' },
    { title: 'Kategori', data: 'category' },
    {
      title: 'Status',
      data: 'status',
      render: () => {
        return `<span class="bg-[#DFE5FF] text-[#4C5CA0] px-2 py-1 rounded-md">Subscribed</span>`
      },
    },
  ]

  return (
    <div className="relative">
      <TitleDashboard title="Pelanggan" />

      <div className="mb-8 flex items-end justify-between">
        <div className="flex items-center gap-5 rounded-lg bg-gray-50 text-[#363636]">
          <div className="w-[400px]">
            <Field>
              <Label className="mb-2 block text-sm font-medium">
                Cari User
              </Label>
              <div className="relative">
                <Input
                  type="text"
                  placeholder="Cari Nama"
                  className="w-full rounded-lg bg-white p-2 pr-10 pl-4 shadow focus:ring-1 focus:ring-[#2E2F7C] focus:outline-none"
                />
                <div className="absolute inset-y-0 right-0 flex items-center pr-3">
                  <SearchIcon className="size-5" />
                </div>
              </div>
            </Field>
          </div>

          <div className="w-[235px]">
            <Field>
              <Label className="mb-2 block text-sm font-medium">Status</Label>
              <Select className="w-full rounded-lg bg-white p-2 shadow focus:ring-1 focus:ring-[#2E2F7C] focus:outline-none">
                <option>Pilih Status</option>
                <option>Aktif</option>
                <option>Nonaktif</option>
              </Select>
            </Field>
          </div>
        </div>
      </div>

      <UiTable
        data={SUBSCRIPTIONS}
        columns={colTableSubscription}
        options={{
          paging: true,
          searching: true,
          ordering: true,
          info: true,
        }}
        title="Daftar Pelanggan"
      />
    </div>
  )
}
