import { flexRender, type Table as TanStackTable } from '@tanstack/react-table' import { cn, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui' import { formatCompactNumber } from '@/components/ui/DataTable/DataTable.utils' import type { AuditLog } from '@/data/organizations/organization-audit-logs-query' interface AuditLogColumnMeta { cellClassName?: string headerClassName?: string } interface AuditLogsTableProps { table: TanStackTable selectedLog?: AuditLog onSelectLog: (log: AuditLog) => void } export const AuditLogsTable = ({ table, selectedLog, onSelectLog }: AuditLogsTableProps) => { const rows = table.getRowModel().rows return ( {table.getHeaderGroups().map((headerGroup) => ( {headerGroup.headers.map((header) => ( {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())} ))} ))} {rows.map((row) => ( onSelectLog(row.original)} onKeyDown={(e) => { if (e.target !== e.currentTarget) return if (e.key === 'Enter') { onSelectLog(row.original) } else if (e.key === ' ') { e.preventDefault() onSelectLog(row.original) } }} className={cn( 'cursor-pointer hover:bg-selection!', selectedLog?.request_id === row.original.request_id && 'bg-selection!' )} > {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} ))} {rows.length > 0 && (

Viewing{' '} {formatCompactNumber(rows.length)}{' '} logs

)}
) }