'use client'; import DataTable, { DataTableColumn } from '@/components/table/DataTable'; import { SriBondRow } from '@/types/market'; import { formatKrwCompact } from '@/lib/utils/stock'; import { formatRatePercent } from '@/lib/utils/market'; function buildColumns(): DataTableColumn[] { return [ { key: 'name', header: '종목명', align: 'left', priority: 'high', cellClassName: 'data-table__cell--name', cell: (row) => ( {row.name} {row.code} ) }, { key: 'issuer', header: '발행기관', align: 'left', priority: 'medium', cell: (row) => row.issuerName }, { key: 'sriType', header: '유형', align: 'center', priority: 'medium', cell: (row) => {row.sriBondType} }, { key: 'coupon', header: '표면금리', align: 'right', priority: 'high', cell: (row) => formatRatePercent(row.couponRate, 3) }, { key: 'issueAmount', header: '발행액', align: 'right', priority: 'high', cell: (row) => formatKrwCompact(row.issueAmount) }, { key: 'redemption', header: '상환일', align: 'center', priority: 'low', cell: (row) => row.redemptionDate || '—' } ]; } export default function SriBondsTable({ rows }: { rows: SriBondRow[] }) { return ( caption='SRI 채권 목록 — 종목명, 발행기관, 유형, 표면금리, 발행액, 상환일' columns={buildColumns()} rows={rows} rowKey={(row) => row.code} emptyMessage='표시할 SRI 채권이 없습니다.' /> ); }