import { type ColumnDef } from '@tanstack/react-table' import { type RecipeDashboard } from '@/models/recipe/schema' import { Checkbox } from '@/components/ui/checkbox' import DataTableColumnHeader from './data-table-column-header' // import { Badge } from '@/components/ui/badge' import DataTableRowActions from './data-table-row-actions' import { CheckCircledIcon, CrossCircledIcon } from '@radix-ui/react-icons' import * as dateFormat from 'date-fns' import { DateRange } from 'react-day-picker' export const columns: ColumnDef[] = [ { id: 'select', header: ({ table }) => ( table.toggleAllPageRowsSelected(!!value)} aria-label="Select all" className="translate-y-[2px]" /> ), cell: ({ row }) => ( row.toggleSelected(!!value)} aria-label="Select row" className="translate-y-[2px]" /> ), enableSorting: false, enableHiding: false }, { accessorKey: 'productCode', header: ({ column }) => , cell: ({ row }) =>
{row.getValue('productCode')}
, enableHiding: false, enableGlobalFilter: true, filterFn: (row, id, value) => { return value.includes(row.getValue(id)) } }, { accessorKey: 'name', header: ({ column }) => , cell: ({ row }) => { //const label = { label: 'Test Label' } // labels.find(label => label.value === row.getValue('label')) return (
{/* {label && {label.label}} */} {row.getValue('name')}
) }, enableGlobalFilter: true, filterFn: (row, id, value) => { return value.includes(row.getValue(id)) } }, { accessorKey: 'nameEng', header: ({ column }) => , cell: ({ row }) => { return (
{row.getValue('nameEng')}
) }, enableGlobalFilter: true, filterFn: (row, id, value) => { return value.includes(row.getValue(id)) } }, { accessorKey: 'inUse', header: ({ column }) => , cell: ({ row }) => { return (
{row.getValue('inUse') ? ( ) : ( )}
) }, filterFn: (row, id, value) => { return value.includes(row.getValue(id)) } }, { accessorKey: 'lastUpdated', header: ({ column }) => , cell: ({ row }) => { return (
{dateFormat.format(row.getValue('lastUpdated'), 'dd-MM-yyyy HH:mm:ss')}
) }, filterFn: (_row, _id, _value) => { const value = _value as DateRange const rowValue = _row.getValue(_id) as Date return ( dateFormat.isAfter(rowValue, value.from || dateFormat.add(rowValue, { days: 1 })) && dateFormat.isBefore(rowValue, value.to || dateFormat.sub(rowValue, { days: 1 })) ) } }, { id: 'actions', cell: ({ row }) => } ]