Files
breakpilot-compliance/admin-compliance/app/sdk/iace/[projectId]/cra/page.tsx
T
Benjamin Admin f0a0a887fd revert(redesign): Design-Tokens + Ebene-2 "Cyber trifft Safety" zurueckziehen
Das Frontend-Redesign wird vorerst pausiert (Fokus MVP). Der komplette
Stand ist im Git-Tag redesign-archive-20260619 (Commit 42d4b4d9)
archiviert und jederzeit fortsetzbar; die Handoff-Docs bleiben unter
design/redesign/ erhalten. Diese Aenderung zieht nur den aktiven Code
zurueck (Tokens, Chips, CyberMeetsSafety, design-system-Seite, Font-Setup) —
die UI kehrt zum vorherigen Stand zurueck.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 09:22:19 +02:00

39 lines
1.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'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'
import { ScannerRepoPicker } from './_components/ScannerRepoPicker'
export default function CRAPage() {
const params = useParams()
const projectId = params?.projectId as string | undefined
const { data, live, weights, setWeights, snapshots, saveSnapshot, viewSnapshot, scannerRepo, setScannerRepo } = useCRA(projectId)
if (!data) {
return <p className="text-sm text-gray-500">CRA-Risikobeurteilung wird geladen </p>
}
return (
<div className="space-y-6">
<div className="flex items-center justify-between gap-3">
<span className="text-sm text-gray-500">
Projektgebundene CE × Cyber-Analyse
</span>
<a href="/sdk/cra" className="text-sm text-purple-600 hover:underline whitespace-nowrap">
Allgemeiner CRA-Readiness-Check
</a>
</div>
{!live && (
<p className="text-sm text-amber-600 dark:text-amber-400">
Backend nicht erreichbar statisches Szenario angezeigt.
</p>
)}
<ScannerRepoPicker value={scannerRepo} onChange={setScannerRepo} />
<WeightsControl weights={weights} onChange={setWeights} />
<CRACyberView data={data} scannerRepo={scannerRepo} />
<SnapshotPanel snapshots={snapshots} onSave={saveSnapshot} onView={viewSnapshot} />
</div>
)
}