'use client' import { useState, useTransition } from 'react' import { de } from '@/lib/i18n/de' import { ASSIGNMENT_ROLES } from '@/lib/personnel/terms' import { addAssignmentAction, removeAssignmentAction } from '../actions' type Zuordnung = { id: string role: string user: { id: string; displayName: string } } /** * Mitglieder der Abteilung, die an dieser Personalakte hängen. * * Wie die Beteiligten einer Fallakte ist das zugleich der Weg zum * ausnahmsweisen Zugang — der Hinweis steht deshalb direkt am Formular. */ export function Assignments({ personnelFileId, assignments, members, canEdit, }: { personnelFileId: string assignments: Zuordnung[] members: { id: string; displayName: string }[] canEdit: boolean }) { const [open, setOpen] = useState(false) const [role, setRole] = useState('HANDLER') const [userId, setUserId] = useState('') const [error, setError] = useState(null) const [pending, startTransition] = useTransition() return (
{assignments.length === 0 ? (

{de.assignment.empty}

) : (
    {assignments.map((zuordnung) => (
  • {de.assignment.roles[zuordnung.role] ?? zuordnung.role} {zuordnung.user.displayName} {canEdit ? ( ) : null}
  • ))}
)} {error ?

{error}

: null} {canEdit ? ( open ? (

{de.assignment.hint}

) : ( ) ) : null}
) }