import { PlusIcon } from '@heroicons/react/24/solid' import DT, { type ConfigColumns } from 'datatables.net-dt' import DataTable, { type DataTableSlots } from 'datatables.net-react' import { Link, useRouteLoaderData } from 'react-router' import type { TStaffResponse } from '~/apis/admin/get-staffs' import { Button } from '~/components/ui/button' import { UiTable } from '~/components/ui/table' import { TitleDashboard } from '~/components/ui/title-dashboard' import type { loader } from '~/routes/_admin.lg-admin._dashboard.staffs._index' export const StaffsPage = () => { const loaderData = useRouteLoaderData( 'routes/_admin.lg-admin._dashboard.staffs._index', ) DataTable.use(DT) const { staffsData: dataTable } = loaderData || {} const dataColumns: ConfigColumns[] = [ { title: 'No', render: ( _data: unknown, _type: unknown, _row: unknown, meta: { row: number }, ) => { return meta.row + 1 }, }, { title: 'Staf', }, { title: 'Email', data: 'email', }, ] const dataSlot: DataTableSlots = { 1: (_value: unknown, _type: unknown, data: TStaffResponse) => (
{ event.currentTarget.src = '/images/profile-placeholder.svg' }} alt={data?.name} className="size-8 rounded-full bg-[#C4C4C4] object-cover" />
{data.name}
ID: {data.id.slice(0, 8)}
), } return (
{/* TODO: Filter */}
) }