'use client' import { ZoneBadge } from './ZoneBadge' interface ZoneInfo { dimension: string current_value: string zone: 'FORBIDDEN' | 'RESTRICTED' | 'SAFE' allowed_values?: string[] forbidden_values?: string[] safeguards?: string[] reason: string obligation_refs: string[] } const DIMENSION_LABELS: Record = { automation_level: 'Automatisierungsgrad', decision_binding: 'Entscheidungsbindung', decision_impact: 'Entscheidungswirkung', domain: 'Branche', data_type: 'Datensensitivitaet', human_in_loop: 'Menschliche Kontrolle', explainability: 'Erklaerbarkeit', risk_classification: 'Risikoklasse', legal_basis: 'Rechtsgrundlage', transparency_required: 'Transparenzpflicht', logging_required: 'Protokollierung', model_type: 'Modelltyp', deployment_scope: 'Einsatzbereich', } export function DimensionZoneTable({ zoneMap }: { zoneMap: Record }) { const dimensions = Object.entries(zoneMap).sort(([, a], [, b]) => { const order = { FORBIDDEN: 0, RESTRICTED: 1, SAFE: 2 } return (order[a.zone] ?? 2) - (order[b.zone] ?? 2) }) return (
{dimensions.map(([dim, info]) => ( ))}
Dimension Aktueller Wert Zone Regelgrund Rechtsgrundlage
{DIMENSION_LABELS[dim] || dim} {info.current_value} {info.reason || '-'} {info.obligation_refs?.join(', ') || '-'}
) }