'use client' import { RequirementStatus } from '@/lib/sdk' import { DisplayRequirement } from '../_types' export function RequirementCard({ requirement, onStatusChange, onDelete, expanded, onToggleDetails, linkedControls, }: { requirement: DisplayRequirement onStatusChange: (status: RequirementStatus) => void onDelete: () => void expanded: boolean onToggleDetails: () => void linkedControls: { id: string; name: string }[] }) { const priorityColors = { critical: 'bg-red-100 text-red-700', high: 'bg-orange-100 text-orange-700', medium: 'bg-yellow-100 text-yellow-700', low: 'bg-green-100 text-green-700', } const statusColors = { compliant: 'bg-green-100 text-green-700 border-green-200', partial: 'bg-yellow-100 text-yellow-700 border-yellow-200', 'non-compliant': 'bg-red-100 text-red-700 border-red-200', 'not-applicable': 'bg-gray-100 text-gray-500 border-gray-200', } return (
{requirement.code} {requirement.priority === 'critical' ? 'Kritisch' : requirement.priority === 'high' ? 'Hoch' : requirement.priority === 'medium' ? 'Mittel' : 'Niedrig'} {requirement.regulation}

{requirement.title}

{requirement.description}

Quelle: {requirement.source}

{requirement.controlsLinked} Kontrollen {requirement.evidenceCount} Nachweise
{expanded && (

Vollstaendige Beschreibung

{requirement.description || 'Keine Beschreibung vorhanden.'}

Zugeordnete Kontrollen ({linkedControls.length})

{linkedControls.length > 0 ? (
{linkedControls.map(c => ( {c.name} ))}
) : (

Keine Kontrollen zugeordnet

)}

Status-Historie

{requirement.status === 'NOT_STARTED' ? 'Nicht begonnen' : requirement.status === 'IN_PROGRESS' ? 'In Bearbeitung' : requirement.status === 'IMPLEMENTED' ? 'Implementiert' : 'Verifiziert'}
)}
) }