From 75bf4caaa1c2c5a5570193b0a9dc19be0d7ea833 Mon Sep 17 00:00:00 2001 From: Xor290 Date: Thu, 26 Mar 2026 17:25:25 +0100 Subject: [PATCH] chore: fix --- frontend-admin/src/screens/admin/UsersScreen.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/frontend-admin/src/screens/admin/UsersScreen.tsx b/frontend-admin/src/screens/admin/UsersScreen.tsx index 0ec3bacf..65601b3d 100644 --- a/frontend-admin/src/screens/admin/UsersScreen.tsx +++ b/frontend-admin/src/screens/admin/UsersScreen.tsx @@ -153,6 +153,7 @@ export default function UsersScreen() { }>({ visible: false, user: null }); const [editUsername, setEditUsername] = useState(""); const [editRole, setEditRole] = useState(""); + const [editUserPassword, setEditUserPassword] = useState(""); // Create user modal const [createModal, setCreateModal] = useState(false); @@ -322,11 +323,16 @@ export default function UsersScreen() { const openEditUser = (user: UserItem) => { setEditUsername(user.username); setEditRole(user.role); + setEditUserPassword(""); setEditUserModal({ visible: true, user }); }; const handleSaveUser = async () => { if (!editUserModal.user) return; + if (editUserPassword.trim() && editUserPassword.trim().length < 8) { + showError("Erreur", "Le mot de passe doit faire au moins 8 caractères"); + return; + } try { const updates: Record = {}; if (editUsername.trim() !== editUserModal.user.username) { @@ -335,6 +341,9 @@ export default function UsersScreen() { if (editRole !== editUserModal.user.role) { updates.role = editRole; } + if (editUserPassword.trim()) { + updates.password = editUserPassword.trim(); + } if (Object.keys(updates).length === 0) { setEditUserModal({ visible: false, user: null }); return; @@ -1042,6 +1051,13 @@ export default function UsersScreen() { onChangeText={setEditUsername} autoCapitalize="none" /> + Rôle {["livreur", "cabine", "admin"].map((r) => (