import React from 'react'; /** * Reusable DataTable component matching the premium Branch Management style. * * @param {Array} columns - Array of column definitions: { header: string, key?: string, render?: (row) => node, align?: 'left'|'right', width?: string } * @param {Array} data - Array of data objects to display. * @param {boolean} loading - Loading state for the table. * @param {Function} onRowClick - Optional callback for row click events. * @param {string} emptyMessage - Message to show when no data is available. */ export default function DataTable({ columns, data, loading = false, onRowClick, emptyMessage = "No records found matching your criteria." }) { return (
{columns.map((col, idx) => ( ))} {loading ? ( ) : data && data.length > 0 ? ( data.map((row, rowIdx) => ( onRowClick && onRowClick(row)} > {columns.map((col, colIdx) => ( ))} )) ) : ( )}
{col.header}

Loading data...

{col.render ? ( col.render(row) ) : ( {row[col.key] || '-'} )}

{emptyMessage}

); }