TasslehofBurfoot's picture
Initial commit: Stroke detection web app
02e7228
import type { DataTableProps } from '../../types';
export default function DataTable({ headers, rows, caption, highlightRow }: DataTableProps) {
return (
<div className="overflow-x-auto">
{caption && <p className="text-sm text-gray-500 mb-2">{caption}</p>}
<table className="w-full text-sm">
<thead>
<tr className="bg-primary-700 text-white">
{headers.map((h, i) => (
<th key={i} className="px-4 py-3 text-left font-semibold first:rounded-tl-lg last:rounded-tr-lg">
{h}
</th>
))}
</tr>
</thead>
<tbody>
{rows.map((row, i) => (
<tr
key={i}
className={`border-b border-gray-100 ${
highlightRow === i ? 'bg-accent-500/10 font-medium' : i % 2 === 0 ? 'bg-white' : 'bg-gray-50/50'
}`}
>
{row.map((cell, j) => (
<td key={j} className="px-4 py-3 text-gray-700">
{typeof cell === 'number' ? (
<span className="font-mono">{cell}</span>
) : (
cell
)}
</td>
))}
</tr>
))}
</tbody>
</table>
</div>
);
}