import { DrawingPinIcon, TrashIcon } from "@radix-ui/react-icons"; import type { ColumnDef, RowData } from "@tanstack/react-table"; import { FileIcon, MoreIcon } from "~/components/icons"; import { Checkbox } from "~/components/ui/checkbox"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "~/components/ui/dropdown-menu"; // This type is used to define the shape of our data. // You can use a Zod schema here if you want. export type File = { name: string; cid: string; size: string; createdOn: string; }; declare module '@tanstack/table-core' { interface TableMeta { hoveredRowId: string, } } export const columns: ColumnDef[] = [ { id: "select", size: 20, header: ({ table }) => ( table.toggleAllPageRowsSelected(!!value)} aria-label="Select all" /> ), cell: ({ row }) => ( row.toggleSelected(!!value)} aria-label="Select row" /> ), enableSorting: false, enableHiding: false, }, { accessorKey: "name", header: "Name", cell: ({ row }) => (
{row.getValue("name")}
) }, { accessorKey: "cid", header: "CID", }, { accessorKey: "size", header: "Size", }, { accessorKey: "createdOn", size: 200, header: "Created On", cell: ({ row, table }) => (
{row.getValue("createdOn")} {(row.getIsSelected() || table.options.meta?.hoveredRowId === row.id) && ( Ping CID Delete )}
) } ];