import { Alert, Box, LinearProgress, Typography } from '@mui/material' import type { MissingDataItem } from '../../domain/match' interface Props { dataQualityScore: number missingData: MissingDataItem[] compact?: boolean } export function MatchDataQualitySummary({ dataQualityScore, missingData, compact }: Props) { const pct = Math.round(dataQualityScore * 100) const hasCritical = missingData.some(m => m.importance === 'CRITICAL') const criticalItem = missingData.find(m => m.importance === 'CRITICAL') const progressColor: 'success' | 'warning' | 'error' = pct >= 80 ? 'success' : pct >= 60 ? 'warning' : 'error' if (compact) { if (!hasCritical) return null return ( Kritische Daten fehlen: {criticalItem?.field} ) } return ( Datenqualität {hasCritical && ( Kritische Daten fehlen: {criticalItem?.field} )} {pct}% {missingData.length > 0 && ( {missingData.length} fehlende{missingData.length > 1 ? '' : 's'} Feld{missingData.length > 1 ? 'er' : ''} {criticalItem ? ` · kritisch: ${criticalItem.field}` : ''} )} ) }