ee1632cd52
Snapshot/history: "Snapshot speichern" + a version list (status, date, coverage)
you can click through — makes the CRA Art. 13 running system visible (backend
endpoints already live). Measure-class: each finding shows a remediation-class
badge from its CRA evidence_type ("Code-nah" = scan-locatable, code-fix in the
ticket possible; otherwise Prozess/Doku), and the measures section is relabelled
as the Sollzustand (process/build) — no auto-fix buttons on process measures.
Backend: MappedFinding now carries evidence_type.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
'use client'
|
|
|
|
import { useParams } from 'next/navigation'
|
|
import { useCRA } from './_hooks/useCRA'
|
|
import { CRACyberView } from './_components/CRACyberView'
|
|
import { WeightsControl } from './_components/WeightsControl'
|
|
import { SnapshotPanel } from './_components/SnapshotPanel'
|
|
|
|
export default function CRAPage() {
|
|
const params = useParams()
|
|
const projectId = params?.projectId as string | undefined
|
|
const { data, live, weights, setWeights, snapshots, saveSnapshot, viewSnapshot } = useCRA(projectId)
|
|
if (!data) {
|
|
return <p className="text-sm text-gray-500">CRA-Risikobeurteilung wird geladen …</p>
|
|
}
|
|
return (
|
|
<div className="space-y-6">
|
|
{!live && (
|
|
<p className="text-[11px] text-amber-600 dark:text-amber-400">
|
|
Backend nicht erreichbar — statisches Szenario angezeigt.
|
|
</p>
|
|
)}
|
|
<WeightsControl weights={weights} onChange={setWeights} />
|
|
<CRACyberView data={data} />
|
|
<SnapshotPanel snapshots={snapshots} onSave={saveSnapshot} onView={viewSnapshot} />
|
|
</div>
|
|
)
|
|
}
|