// 어드민 목록 테이블 공용 컴포넌트. // columns: [{ key, label, render?: (row) => node, className?: string }] // rows: [row] // actions: (row) => node (optional, 우측 액션 열) // emptyMessage: 빈 상태 문구 function AdminTable({ columns, rows, actions, emptyMessage = '데이터가 없습니다.' }) { const showActions = typeof actions === 'function'; if (!rows || rows.length === 0) { return (
| {col.label} | ))} {showActions && (Actions | )}
|---|---|
| {col.render ? col.render(row) : row[col.key]} | ))} {showActions && (
{actions(row)}
|
)}