import { DrawingPinIcon, TrashIcon } from "@radix-ui/react-icons"; import type { ColumnDef, Row } 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"; import { usePinning } from "~/hooks/usePinning"; import { cn } from "~/utils"; // 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; }; const CreatedOnCell = ({ row }: { row: Row }) => { // const { open } = useNotification(); const { mutate } = usePinning(); return (
{row.getValue("createdOn")} { console.log(`Adding ${row.getValue("cid")} for pinning...`); mutate({ cid: row.getValue("cid"), type: "pin" }); }}> Pin CID Delete
); }; 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 }) => , }, ];