import type { ReactNode } from "react"; import { DataTable, type DataTableColumn } from "@/components/data-table"; import { SectionCard } from "@/components/section-card"; export type K8sResourceColumn = { header: string; render: (resource: T) => ReactNode; className?: string; }; type K8sResourceTableCardProps = { title: string; description: string; emptyMessage: string; resources: readonly T[]; columns: readonly K8sResourceColumn[]; }; export function K8sResourceTableCard({ title, description, emptyMessage, resources, columns, }: K8sResourceTableCardProps) { const tableColumns: readonly DataTableColumn[] = columns.map((column) => ({ id: column.header, header: column.header, cell: column.render, className: column.className, })); return ( {resources.length === 0 ? (
{emptyMessage}
) : ( resource.name ?? index} /> )}
); }