'use client' import { useContext } from 'react' import { type Table } from '@tanstack/react-table' import { Columns2Icon } from 'lucide-react' import { Button } from '@repo/ui/components/ui/button' import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuTrigger } from '@repo/ui/components/ui/dropdown-menu' import { cn } from '@repo/ui/lib/utils' import { TableContext } from './data-table' export function DataTableViewOptions({ className }: { className: string }) { const ctx = useContext(TableContext) as { table: Table } | null if (!ctx) { throw new Error('TableContext is null') } const { table } = ctx return ( {table .getAllColumns() .filter( (column) => typeof column.accessorFn !== 'undefined' && column.getCanHide() ) .map((column) => { return ( column.toggleVisibility(!!value)} > {column.columnDef?.meta?.title ?? column.id} ) })} ) }