import { ColumnDef, CellContext } from '@tanstack/react-table'; import { Link } from '@@/Link'; import { DefaultType } from './types'; import { defaultGetRowId } from './defaultGetRowId'; export function buildNameColumn( nameKey: keyof T, path: string, idParam = 'id', idGetter: (row: T) => string = defaultGetRowId ): ColumnDef { const cell = createCell(); return { header: 'Name', accessorKey: nameKey, id: 'name', cell, enableSorting: true, enableHiding: false, }; function createCell() { return function NameCell({ renderValue, row }: CellContext) { const name = renderValue() || ''; if (typeof name !== 'string') { return null; } return ( {name} ); }; } }