import { ImagePreviewButton } from '@/components/image-preview-button'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { formatNumber } from '@/lib/format'; import type { Cutting } from './columns'; export function CuttingItemSubRow({ cutting }: { cutting: Cutting }) { const items = cutting.cutting_materials ?? []; const combinations = cutting.cutting_material_combinations ?? []; const groupedMaterials = items.reduce( (acc, item) => { const key = item.combination_id ?? `single-${item.id}`; if (!acc[key]) { acc[key] = { combination: item.combination_id ? (combinations.find((c) => c.id === item.combination_id) ?? null) : null, materials: [], }; } acc[key].materials.push(item); return acc; }, {} as Record< string, { combination: { id: number; material_result: number | null } | null; materials: typeof items; } >, ); return (