'use client' import { StepHeader, STEP_EXPLANATIONS } from '@/components/sdk/StepHeader' import { RiskMatrix } from './_components/RiskMatrix' import { RiskForm } from './_components/RiskForm' import { RiskCard } from './_components/RiskCard' import { LoadingSkeleton } from './_components/LoadingSkeleton' import { useRisks } from './_hooks/useRisks' export default function RisksPage() { const { state, showForm, setShowForm, editingRisk, setEditingRisk, loading, error, setError, matrixFilter, setMatrixFilter, handleSubmit, handleDelete, handleStatusChange, handleEdit, handleMatrixCellClick, stats, filteredRisks, } = useRisks() const stepInfo = STEP_EXPLANATIONS['risks'] return (
{!showForm && ( )} {error && (
{error}
)}
Gesamt
{stats.totalRisks}
Kritisch
{stats.criticalRisks}
Hoch
{stats.highRisks}
Mit Mitigation
{stats.mitigatedRisks}
{showForm && ( { setShowForm(false); setEditingRisk(null) }} initialData={editingRisk || undefined} /> )} {loading && } {!loading && ( )} {matrixFilter && (
Gefiltert: L={matrixFilter.likelihood} I={matrixFilter.impact}
)} {!loading && state.risks.length > 0 && (

{matrixFilter ? `Risiken (L=${matrixFilter.likelihood}, I=${matrixFilter.impact})` : 'Alle Risiken'}

{filteredRisks.map(risk => ( handleEdit(risk)} onDelete={() => handleDelete(risk.id)} onStatusChange={(status) => handleStatusChange(risk.id, status)} /> ))}
)} {!loading && state.risks.length === 0 && !showForm && (

Keine Risiken erfasst

Beginnen Sie mit der Erfassung von Risiken fuer Ihre KI-Anwendungen.

)}
) }