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}` : ''}
)}
)
}