'use client' import type { AuditLogEntry } from '@/lib/sdk/training/types' const ACTION_LABELS: Record = { assigned: 'Zugewiesen', started: 'Gestartet', completed: 'Abgeschlossen', quiz_submitted: 'Quiz eingereicht', escalated: 'Eskaliert', certificate_issued: 'Zertifikat ausgestellt', content_generated: 'Content generiert', } const ACTION_COLORS: Record = { assigned: 'bg-blue-100 text-blue-700', started: 'bg-yellow-100 text-yellow-700', completed: 'bg-green-100 text-green-700', quiz_submitted: 'bg-purple-100 text-purple-700', escalated: 'bg-red-100 text-red-700', certificate_issued: 'bg-emerald-100 text-emerald-700', content_generated: 'bg-gray-100 text-gray-700', } export default function AuditTab({ auditLog }: { auditLog: AuditLogEntry[] }) { return (

{auditLog.length} Eintraege

{auditLog.length === 0 ? (
Keine Audit-Eintraege gefunden.
) : (
{auditLog.map(entry => ( ))}
Zeitpunkt Aktion Entitaet Details
{new Date(entry.created_at).toLocaleString('de-DE')} {ACTION_LABELS[entry.action] ?? entry.action} {entry.entity_type} {entry.entity_id && {entry.entity_id.slice(0, 8)}} {Object.keys(entry.details).length > 0 ? Object.entries(entry.details).map(([k, v]) => `${k}: ${v}`).join(', ') : '—'}
)}
) }