'use client' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table' import { cn } from '@/lib/utils' interface MonthlyRow { month: string value: number label?: string } interface MonthlyTrendTableProps { rows: MonthlyRow[] valueLabel?: string valueSuffix?: string formatValue?: (v: number) => string className?: string } export default function MonthlyTrendTable({ rows, valueLabel = 'Belopp', valueSuffix = 'kr', formatValue, className, }: MonthlyTrendTableProps) { if (rows.length === 0) { return (
Ingen data att visa
) } const maxValue = Math.max(...rows.map(r => Math.abs(r.value)), 1) const fmt = formatValue ?? ((v: number) => v.toLocaleString('sv-SE')) return (
Period {valueLabel} {rows.map((row) => { const barWidth = Math.round((Math.abs(row.value) / maxValue) * 100) return ( {row.label ?? row.month} {fmt(row.value)} {valueSuffix}
) })}
) }