'use client'
import { useState } from 'react'
import { Risk, RiskStatus } from '@/lib/sdk'
export function RiskCard({
risk,
onEdit,
onDelete,
onStatusChange,
}: {
risk: Risk
onEdit: () => void
onDelete: () => void
onStatusChange: (status: RiskStatus) => void
}) {
const [showMitigations, setShowMitigations] = useState(false)
const severityColors = {
CRITICAL: 'border-red-200 bg-red-50',
HIGH: 'border-orange-200 bg-orange-50',
MEDIUM: 'border-yellow-200 bg-yellow-50',
LOW: 'border-green-200 bg-green-50',
}
return (
{risk.title}
{risk.severity}
{risk.description}
Wahrscheinlichkeit:
{risk.likelihood}/5
Auswirkung:
{risk.impact}/5
Inherent:
{risk.inherentRiskScore}
Residual:
{risk.residualRiskScore}
{risk.residualRiskScore < risk.inherentRiskScore && (
({risk.inherentRiskScore} → {risk.residualRiskScore})
)}
Status:
{risk.mitigation.length > 0 && (
)}
{showMitigations && risk.mitigation.length > 0 && (
{risk.mitigation.map((m, idx) => (
{m.controlId || `Mitigation ${idx + 1}`}
{m.status === 'IMPLEMENTED' ? 'Implementiert' :
m.status === 'IN_PROGRESS' ? 'In Bearbeitung' : m.status || 'Geplant'}
{m.description &&
{m.description}
}
))}
)}
)
}