"use client"; import { Transmittal } from "@/types/transmittal"; import { DataTable } from "@/components/common/data-table"; import { ColumnDef } from "@tanstack/react-table"; import { Button } from "@/components/ui/button"; import { Eye } from "lucide-react"; import Link from "next/link"; import { format } from "date-fns"; import { Badge } from "@/components/ui/badge"; interface TransmittalListProps { data: Transmittal[]; } export function TransmittalList({ data }: TransmittalListProps) { if (!data) return null; const columns: ColumnDef[] = [ { id: "transmittalNo", header: "Transmittal No.", cell: ({ row }) => { const no = row.original.correspondence?.correspondenceNumber || row.original.transmittalNo || '-'; return {no}; }, }, { id: "subject", header: "Subject", cell: ({ row }) => { const currentRev = row.original.correspondence?.revisions?.find(r => r.isCurrent); const subject = currentRev?.title || row.original.subject || '-'; return (
{subject}
); }, }, { accessorKey: "purpose", header: "Purpose", cell: ({ row }) => ( {row.getValue("purpose") || "OTHER"} ), }, { accessorKey: "items", header: "Items", cell: ({ row }) => { const items = row.original.items || []; return {items.length} items; }, }, { id: "createdAt", header: "Date", cell: ({ row }) => { const dateStr = row.original.correspondence?.createdAt || row.original.createdAt; if (!dateStr) return '-'; return format(new Date(dateStr), "dd MMM yyyy"); }, }, { id: "actions", cell: ({ row }) => { const item = row.original; return ( ); }, }, ]; return ; }