"use client" import { z } from "zod" import { Button } from "@/components/ui/button" import { useSortable } from "@dnd-kit/sortable" import { ColumnDef, flexRender, Row } from "@tanstack/react-table" import { TableCell, TableRow } from "@/components/ui/table" import { CSS } from "@dnd-kit/utilities" import { schema, schemaType } from "./schema" import { dateToLocaleString } from "@/lib/utils" import { Pencil, Trash } from "lucide-react" export function DraggableRow({ row, selectedID }: { row: Row>; selectedID: string }) { const { transform, transition, setNodeRef, isDragging } = useSortable({ id: row.original._id }) return ( {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} ) } function getColumns(router: any, deleteHandler: (id: string) => void, buildID: string): ColumnDef[] { return [ { accessorKey: "uuid", header: "UUID", }, { accessorKey: "person.firstName", header: "First Name", }, { accessorKey: "person.middleName", header: "Middle Name", }, { accessorKey: "person.surname", header: "Surname", }, { accessorKey: "person.birthDate", header: "Birth Date", cell: ({ getValue }) => dateToLocaleString(getValue() as string), }, { accessorKey: "build.info.buildName", header: "Build Name", }, { accessorKey: "build.info.buildNo", header: "Build No", }, { accessorKey: "part.no", header: "Part No", }, { accessorKey: "part.level", header: "Level", }, { accessorKey: "part.humanLivability", header: "Livability", cell: ({ getValue }) => getValue() ?
Yes
:
No
}, { accessorKey: "person.birthPlace", header: "Birth Place", }, { accessorKey: "userType.description", header: "User Type", }, { accessorKey: "userType.isProperty", header: "Property", cell: ({ getValue }) => getValue() ?
Yes
:
No
}, { accessorKey: "createdAt", header: "Created", cell: ({ getValue }) => dateToLocaleString(getValue() as string), }, { accessorKey: "updatedAt", header: "Updated", cell: ({ getValue }) => dateToLocaleString(getValue() as string), }, { accessorKey: "expiryStarts", header: "Expiry Starts", cell: ({ getValue }) => getValue() ? dateToLocaleString(getValue() as string) : "-", }, { accessorKey: "expiryEnds", header: "Expiry Ends", cell: ({ getValue }) => getValue() ? dateToLocaleString(getValue() as string) : "-", }, { id: "actions", header: "Actions", cell: ({ row }) => { return (
); }, } ] } export { getColumns };