import { Alert, Box, Card, Divider, Typography } from '@mui/material' import { MapPin } from 'lucide-react' import { MatchCardHeader } from './MatchCardHeader' import { MatchReasonList } from './MatchReasonList' import { TradeoffList } from './TradeoffList' import { MatchDataQualitySummary } from './MatchDataQualitySummary' import { MatchActionToolbar } from './MatchActionToolbar' import { MatchCardRestrictedState } from './MatchCardRestrictedState' import type { MatchCardViewModel } from './MatchCardViewModel' interface Props { vm: MatchCardViewModel } export function MatchCardExpanded({ vm }: Props) { if (vm.isRestricted) return return ( {/* FUTURE_AVAILABILITY disclaimer — mandatory */} {vm.disclaimer && ( {vm.disclaimer} )} {vm.isReviewRequired && ( Manuelle Überprüfung erforderlich )} {/* Primary summary zone */} {vm.title} {vm.locationLabel} {vm.availabilityLabel && ( Verfügbar: {vm.availabilityLabel} )} {vm.explainabilitySummary && ( {vm.explainabilitySummary} )} {/* Why it matches — all 3 reasons */} {vm.reasons.length > 0 && ( )} {/* Tradeoffs — up to 3 */} {vm.tradeoffs.length > 0 && ( <> )} {/* Data quality — full view */} {vm.sourceLabel && ( Quelle: {vm.sourceLabel} {vm.externalUrl && ( )} )} ) }