61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
'use client';
|
|
import { TrainingSchema } from '@/feactures/training/schemas/training';
|
|
import { Badge } from '@repo/shadcn/badge';
|
|
import { ColumnDef } from '@tanstack/react-table';
|
|
import { CellAction } from './cell-action';
|
|
|
|
interface ColumnsProps {
|
|
apiUrl: string;
|
|
}
|
|
|
|
export function columns({ apiUrl }: ColumnsProps): ColumnDef<TrainingSchema>[] {
|
|
return [
|
|
{
|
|
accessorKey: 'ospName',
|
|
header: 'Nombre OSP',
|
|
},
|
|
{
|
|
accessorKey: 'ospRif',
|
|
header: 'RIF',
|
|
},
|
|
{
|
|
accessorKey: 'ospType',
|
|
header: 'Tipo',
|
|
},
|
|
{
|
|
accessorKey: 'created_at',
|
|
header: 'Fecha de creación',
|
|
cell: ({ row }) => {
|
|
// console.log(row.getValue('created_at'));
|
|
const date = row.getValue('created_at') as string;
|
|
return date ? new Date(date).toLocaleString() : 'N/A';
|
|
},
|
|
},
|
|
{
|
|
accessorKey: 'currentStatus',
|
|
header: 'Estatus',
|
|
cell: ({ row }) => {
|
|
const status = row.getValue('currentStatus') as string;
|
|
return (
|
|
<Badge variant={status === 'ACTIVA' ? 'default' : 'secondary'}>
|
|
{status}
|
|
</Badge>
|
|
);
|
|
},
|
|
},
|
|
{
|
|
accessorKey: 'visitDate',
|
|
header: 'Fecha Visita',
|
|
cell: ({ row }) => {
|
|
const date = row.getValue('visitDate') as string;
|
|
return date ? new Date(date).toLocaleString() : 'N/A';
|
|
},
|
|
},
|
|
{
|
|
id: 'actions',
|
|
header: 'Acciones',
|
|
cell: ({ row }) => <CellAction data={row.original} apiUrl={apiUrl} />,
|
|
},
|
|
];
|
|
}
|