diff --git a/frontend/src/components/app/AppDataTable.tsx b/frontend/src/components/app/AppDataTable.tsx index 5c1324d..c059746 100644 --- a/frontend/src/components/app/AppDataTable.tsx +++ b/frontend/src/components/app/AppDataTable.tsx @@ -1,6 +1,7 @@ import type * as React from 'react' import { AppEmptyState } from '@/components/app/AppEmptyState' +import { Card, CardContent, CardFooter, CardHeader } from '@/components/ui/card' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table' import { cn } from '@/lib/utils' @@ -35,41 +36,49 @@ export function AppDataTable({ onRowClick }: AppDataTableProps) { return ( -
- {toolbar ?
{toolbar}
: null} - {rows.length === 0 ? ( -
- -
- ) : ( - - - - {columns.map((column) => ( - - {column.header} - - ))} - - - - {rows.map((row) => ( - onRowClick?.(row)} - > + + {toolbar ? {toolbar} : null} + + {rows.length === 0 ? ( +
+ +
+ ) : ( +
+ + {columns.map((column) => ( - - {column.cell(row)} - + + {column.header} + ))} - ))} - -
- )} - {footer ?
{footer}
: null} -
+ + + {rows.map((row) => ( + onRowClick?.(row)} + onKeyDown={(event) => { + if (event.target !== event.currentTarget || !onRowClick || (event.key !== 'Enter' && event.key !== ' ')) return + event.preventDefault() + onRowClick(row) + }} + > + {columns.map((column) => ( + + {column.cell(row)} + + ))} + + ))} + + + )} + + {footer ? {footer} : null} + ) }