'use client' import { useActionState, useState, useTransition } from 'react' import { de } from '@/lib/i18n/de' import { reclassifyPersonnelAction, updatePersonnelAction, type ActionResult, } from '../actions' type File = { id: string displayName: string serviceNumber: string | null rank: string | null department: string | null status: string | null note: string | null classification: number userId: string | null } /** * Kopfdaten einer Personalakte: lesen und ändern in derselben Ansicht. * * Die Klassifizierung steht bewusst getrennt. Sie ändert, wer die Akte * überhaupt sieht, und eine Herabstufung braucht eine Begründung — das gehört * nicht in dasselbe Formular wie eine Korrektur der Dienstnummer. */ export function PersonnelHead({ file, canEdit, levels, }: { file: File canEdit: boolean levels: { level: number; name: string }[] }) { const [editing, setEditing] = useState(false) const [state, action, pending] = useActionState( updatePersonnelAction, null, ) if (!editing) { return (
{file.note ? (

{file.note}

) : null} {canEdit ? (
) : null}
) } return (
setEditing(false)} className="max-w-(--container-measure) space-y-4" >