'use client' import { useState } from 'react' import { ChevronDown, ChevronRight, Library } from 'lucide-react' import type { EvidenceUnit } from '@/lib/sdk/advisor/contract' import { resolveRegulation } from '@/lib/sdk/advisor/regulation-display' import { EvidenceUnitCard } from './EvidenceUnitCard' import { PaneHeader } from './PaneHeader' interface Group { key: string label: string units: EvidenceUnit[] } function groupByFamily(units: EvidenceUnit[]): Group[] { const map = new Map() for (const u of units) { const d = resolveRegulation({ code: u.document, short: u.document }) const g = map.get(d.familyKey) ?? { key: d.familyKey, label: d.familyLabel, units: [] } g.units.push(u) map.set(d.familyKey, g) } return [...map.values()].sort((a, b) => b.units.length - a.units.length) } function EvidenceGroup({ group, highlightedId }: { group: Group; highlightedId?: string }) { const [open, setOpen] = useState(group.units.length <= 3) return (
{open && (
{group.units.map((u) => ( ))}
)}
) } /** Evidence pane — units grouped by document/regulation family, count + expandable. */ export function EvidencePane({ evidence, highlightedId, }: { evidence: EvidenceUnit[] highlightedId?: string }) { const groups = groupByFamily(evidence) return (
} title="Evidence" count={evidence.length} /> {groups.length === 0 ? (

Keine strukturierte Evidence zu dieser Antwort.

) : (
{groups.map((g) => ( ))}
)}
) }