36570c5bdc
- Fix MUI v9 API: PaperProps/InputLabelProps/inputProps → slotProps in 6 components - Add ExternalMarketResult alias, PropertyUnit import, OPERATIONS workspace config - Fix TradeOff.description → .concern, ScoreFactor.label → .criterion - Make schattenmarktRelease.leadTimeMonths optional, fix mock-data enum values - Fix useMatchDetailData query typing, weightingService missing WeightProfile keys - Split Pipeline/Compare/MatchDetail/IntelligenceMatchCard into sub-components - Fix all test fixtures (CreateNeedInput, CreatePropertyInput, TradeOffInput, etc.) - Add vercel.json for deployment, zero tsc errors Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
1008 B
TypeScript
25 lines
1008 B
TypeScript
import { memo } from 'react'
|
|
import type { ReactNode } from 'react'
|
|
import { TableCell, TableRow } from '@mui/material'
|
|
import { LABEL_SX, DATA_SX } from './compareUtils'
|
|
|
|
// ── Props ─────────────────────────────────────────────────────────────────────
|
|
|
|
export interface CompareMetricRowProps {
|
|
label: string
|
|
cells: ReactNode[]
|
|
}
|
|
|
|
// ── Component ─────────────────────────────────────────────────────────────────
|
|
|
|
export const CompareMetricRow = memo(function CompareMetricRow({ label, cells }: CompareMetricRowProps) {
|
|
return (
|
|
<TableRow hover>
|
|
<TableCell sx={LABEL_SX}>{label}</TableCell>
|
|
{cells.map((cell, i) => (
|
|
<TableCell key={i} sx={DATA_SX}>{cell}</TableCell>
|
|
))}
|
|
</TableRow>
|
|
)
|
|
})
|