/** * Zentrales Findings-Panel für Progressionsgraph-QA (Phase B.2). */ import React from 'react' function severityStyle(pathQa) { if (!pathQa) return {} return { background: pathQa.overall_ok ? 'color-mix(in srgb, var(--accent) 8%, var(--surface2))' : 'color-mix(in srgb, var(--danger) 8%, var(--surface2))', } } export default function ProgressionFindingsPanel({ pathQa = null, gapFillOffers = [], loading = false, error = '', onEvaluate, onApplyGapOffer, evaluateDisabled = false, }) { return (

Graph-Bewertung

Prüft den aktuellen Slot-Stand (inkl. KI-Entwürfe) ohne erneutes Übungs-Matching.

{error ? (

{error}

) : null} {pathQa ? (
Pfad-QS: {pathQa.overall_ok ? 'OK' : 'Hinweise'} {pathQa.quality_score != null ? ` (${Math.round(Number(pathQa.quality_score) * 100)} %)` : ''} {pathQa.topic_coverage ? (

{pathQa.topic_coverage}

) : null} {Array.isArray(pathQa.issues) && pathQa.issues.length > 0 ? ( ) : null} {Array.isArray(pathQa.recommendations) && pathQa.recommendations.length > 0 ? ( <>

Empfehlungen

) : null} {Number(pathQa.off_topic_count) > 0 ? (

{pathQa.off_topic_count} Schritt(e) ohne Bezug zum Pfad-Thema.

) : null} {pathQa.roadmap_qa_mode === 'roadmap_first_lite' ? (

QS an Roadmap gekoppelt (keine Brücken zwischen Major Steps).

) : null}
) : (

Noch keine Bewertung. Slots befüllen und „Graph bewerten“ ausführen.

)} {Array.isArray(gapFillOffers) && gapFillOffers.length > 0 ? (

Lücken-Angebote

) : null}
) }