chore: fix

This commit is contained in:
2026-03-26 17:25:25 +01:00
parent afd4cb6ffd
commit 75bf4caaa1
@@ -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<string, any> = {};
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"
/>
<TextInput
label="Nouveau mot de passe (laisser vide pour ne pas changer)"
value={editUserPassword}
onChangeText={setEditUserPassword}
secureTextEntry
autoCapitalize="none"
/>
<Text style={styles.roleEditLabel}>Rôle</Text>
<View style={styles.roleEditRow}>
{["livreur", "cabine", "admin"].map((r) => (