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 }); }>({ visible: false, user: null });
const [editUsername, setEditUsername] = useState(""); const [editUsername, setEditUsername] = useState("");
const [editRole, setEditRole] = useState(""); const [editRole, setEditRole] = useState("");
const [editUserPassword, setEditUserPassword] = useState("");
// Create user modal // Create user modal
const [createModal, setCreateModal] = useState(false); const [createModal, setCreateModal] = useState(false);
@@ -322,11 +323,16 @@ export default function UsersScreen() {
const openEditUser = (user: UserItem) => { const openEditUser = (user: UserItem) => {
setEditUsername(user.username); setEditUsername(user.username);
setEditRole(user.role); setEditRole(user.role);
setEditUserPassword("");
setEditUserModal({ visible: true, user }); setEditUserModal({ visible: true, user });
}; };
const handleSaveUser = async () => { const handleSaveUser = async () => {
if (!editUserModal.user) return; 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 { try {
const updates: Record<string, any> = {}; const updates: Record<string, any> = {};
if (editUsername.trim() !== editUserModal.user.username) { if (editUsername.trim() !== editUserModal.user.username) {
@@ -335,6 +341,9 @@ export default function UsersScreen() {
if (editRole !== editUserModal.user.role) { if (editRole !== editUserModal.user.role) {
updates.role = editRole; updates.role = editRole;
} }
if (editUserPassword.trim()) {
updates.password = editUserPassword.trim();
}
if (Object.keys(updates).length === 0) { if (Object.keys(updates).length === 0) {
setEditUserModal({ visible: false, user: null }); setEditUserModal({ visible: false, user: null });
return; return;
@@ -1042,6 +1051,13 @@ export default function UsersScreen() {
onChangeText={setEditUsername} onChangeText={setEditUsername}
autoCapitalize="none" 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> <Text style={styles.roleEditLabel}>Rôle</Text>
<View style={styles.roleEditRow}> <View style={styles.roleEditRow}>
{["livreur", "cabine", "admin"].map((r) => ( {["livreur", "cabine", "admin"].map((r) => (