'use client' import { useState } from 'react' import { updateModule, deleteModule } from '@/lib/sdk/training/api' import type { TrainingModule } from '@/lib/sdk/training/types' import { REGULATION_LABELS, REGULATION_COLORS } from '@/lib/sdk/training/types' export function ModuleEditDrawer({ module, onClose, onSaved }: { module: TrainingModule; onClose: () => void; onSaved: () => void }) { const [title, setTitle] = useState(module.title) const [description, setDescription] = useState(module.description || '') const [durationMinutes, setDurationMinutes] = useState(module.duration_minutes) const [passThreshold, setPassThreshold] = useState(module.pass_threshold) const [isActive, setIsActive] = useState(module.is_active) const [saving, setSaving] = useState(false) const [deleting, setDeleting] = useState(false) const [error, setError] = useState(null) const handleSave = async () => { setSaving(true) setError(null) try { await updateModule(module.id, { title, description, duration_minutes: durationMinutes, pass_threshold: passThreshold, is_active: isActive }) onSaved() } catch (e) { setError(e instanceof Error ? e.message : 'Fehler beim Speichern') } finally { setSaving(false) } } const handleDelete = async () => { if (!window.confirm(`Modul "${module.title}" wirklich loeschen?`)) return setDeleting(true) try { await deleteModule(module.id) onSaved() } catch (e) { setError(e instanceof Error ? e.message : 'Fehler beim Loeschen') setDeleting(false) } } return (
{REGULATION_LABELS[module.regulation_area] || module.regulation_area} {module.nis2_relevant && NIS2}

{module.module_code}

setTitle(e.target.value)} className="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500" />