import { Box, Button, Divider, Paper, Typography } from '@mui/material' import { DataQualityProgress } from './DataQualityProgress' import { CriticalFieldWarning } from './CriticalFieldWarning' import { MissingDataList } from './MissingDataList' import { ProvenancePanel } from './ProvenancePanel' import { DataQualityBadge } from './DataQualityBadge' import { getRecommendedActions } from '../../services/dataQualityService' import type { Property } from '../../domain/property' interface DataQualityPanelProps { property: Property } function SectionLabel({ children }: { children: React.ReactNode }) { return ( {children} ) } export function DataQualityPanel({ property }: DataQualityPanelProps) { const q = property.dataQuality const actions = getRecommendedActions(q, q.freshness) return ( {/* ── Score & Dimensions ─────────────────────────────────────────── */} Datenqualität {q.missingCriticalFields.length === 0 ? 'Alle Pflichtfelder vorhanden' : `${q.missingCriticalFields.length} Pflichtfeld(er) fehlen`} {q.missingOptionalFields.length} optionale Felder fehlen {/* ── Critical warnings ──────────────────────────────────────────── */} {/* ── Missing data with actions ──────────────────────────────────── */} Fehlende Daten & Massnahmen {/* ── Provenance ─────────────────────────────────────────────────── */} Datenherkunft & Verifikation {/* ── Action button ──────────────────────────────────────────────── */} {q.missingCriticalFields.length > 0 && ( )} ) }