'use client'; import { Table } from '@tanstack/react-table'; import { Button } from '@workspace/ui/components/button'; import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuTrigger, } from '@workspace/ui/components/dropdown-menu'; import { ListTodoIcon } from 'lucide-react'; import { ReactNode } from 'react'; interface ColumnToggleProps { table: Table; } export function ColumnToggle({ table }: ColumnToggleProps) { return ( {table .getAllColumns() .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide()) .map((column) => { const columns = table.getAllColumns().filter((item) => item.getIsVisible()); return ( column.toggleVisibility(!!value)} disabled={columns.length === 1 && columns?.[0]?.id === column.id} > {column.columnDef.header as ReactNode} ); })} ); }