diff --git a/frontend/app/features/admin/UserFormDialog.tsx b/frontend/app/features/admin/UserFormDialog.tsx index 12ad2c3..f13ea44 100644 --- a/frontend/app/features/admin/UserFormDialog.tsx +++ b/frontend/app/features/admin/UserFormDialog.tsx @@ -1,3 +1,5 @@ +import { useMemo, useState } from "react"; +import { ChevronDown } from "lucide-react"; import type { Employee, Role, Workspace } from "../../services/api"; import { AppFormDialog, @@ -59,6 +61,18 @@ export function UserFormDialog({ onClose: () => void; onResetPassword?: () => void; }) { + const roleOptions = useMemo( + () => (editing ? roles : createRoleOptions), + [editing, roles, createRoleOptions], + ); + const [roleMenuOpen, setRoleMenuOpen] = useState(false); + const roleDisabled = editing + ? editing.user_id === currentUserId || roles.length === 0 + : createRoleOptions.length === 0; + const selectedRole = + roleOptions.find((role) => role.role_code === form.role_code) ?? + roleOptions[0]; + return ( {!editing && ( Workspace Python Editor - {script.relative_path} + {displayScriptPath(script.relative_path)}

- {script.relative_path} + {displayScriptPath(script.relative_path)}