import { ArrowDownIcon, ArrowUpIcon, CaretSortIcon, EyeNoneIcon } from '@radix-ui/react-icons'; import { Column } from '@tanstack/react-table'; import { useTranslation } from 'react-i18next'; import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; interface DataTableColumnHeaderProps extends React.HTMLAttributes { column: Column; title: string; } export function DataTableColumnHeader({ column, title, className }: DataTableColumnHeaderProps) { const { t } = useTranslation(); if (!column.getCanSort()) { return
{title}
; } return (
column.toggleSorting(false)}> {t('common.sort.ascending')} column.toggleSorting(true)}> {t('common.sort.descending')} {column.getCanHide() && ( <> column.toggleVisibility(false)}> {t('common.sort.hide')} )}
); }