import { PencilSquareIcon, PlusIcon, TrashIcon, } from '@heroicons/react/20/solid' import type { ConfigColumns } from 'datatables.net-dt' import type { DataTableSlots } from 'datatables.net-react' import { useState } from 'react' import { Link, useRouteLoaderData } from 'react-router' import type { TAdResponse } from '~/apis/common/get-ads' import { DialogDelete } from '~/components/dialog/delete' 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.advertisements._index' import { formatDate } from '~/utils/formatter' export const AdvertisementsPage = () => { const loaderData = useRouteLoaderData( 'routes/_admin.lg-admin._dashboard.advertisements._index', ) const { adsData: dataTable } = loaderData || {} const [selectedAds, setSelectedAds] = useState() const dataColumns: ConfigColumns[] = [ { title: 'No', render: ( _data: unknown, _type: unknown, _row: unknown, meta: { row: number }, ) => { return meta.row + 1 }, }, { title: 'Banner', data: 'image_url' }, { title: 'Link', data: 'url' }, { title: 'Tanggal Mulai', data: 'start_date', render: (data: string) => { return formatDate(data) }, }, { title: 'Tanggal Berakhir', data: 'end_date', render: (data: string) => { return formatDate(data) }, }, { title: 'Action', data: 'id', }, ] const dataSlot: DataTableSlots = { 1: (value: string) => { return ( {value} ) }, 5: (value: string, _type: unknown, data: TAdResponse) => (
), } return (
{/* TODO: Filter */}
setSelectedAds(undefined)} title="Banner iklan" fetcherAction={`/actions/admin/advertisements/delete/${selectedAds?.id}`} > {selectedAds?.image_url}
) }