chore: fix front
This commit is contained in:
@@ -419,10 +419,11 @@ export default function UsersScreen() {
|
||||
}
|
||||
}
|
||||
setCreating(true);
|
||||
const usernameToCreate = createUsername.trim();
|
||||
try {
|
||||
if (createType === "client") {
|
||||
await createClientByAdmin({
|
||||
username: createUsername.trim(),
|
||||
username: usernameToCreate,
|
||||
password: createPassword.trim(),
|
||||
nom: createNom.trim(),
|
||||
prenom: createPrenom.trim(),
|
||||
@@ -430,7 +431,7 @@ export default function UsersScreen() {
|
||||
});
|
||||
} else {
|
||||
await createUserByAdmin({
|
||||
username: createUsername.trim(),
|
||||
username: usernameToCreate,
|
||||
password: createPassword.trim(),
|
||||
role: createType,
|
||||
});
|
||||
@@ -438,6 +439,29 @@ export default function UsersScreen() {
|
||||
setCreateModal(false);
|
||||
await loadData();
|
||||
} catch (e: any) {
|
||||
// Erreur réseau : pas de réponse HTTP reçue — le backend a peut-être
|
||||
// quand même créé l'utilisateur. On recharge et on vérifie.
|
||||
if (!e.response) {
|
||||
try {
|
||||
if (createType === "client") {
|
||||
const freshClients = await getAllClients();
|
||||
setClients(freshClients);
|
||||
if (freshClients.find((c) => c.username === usernameToCreate)) {
|
||||
setCreateModal(false);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
const freshUsers = await getAllUsers();
|
||||
setUsers(freshUsers);
|
||||
if (freshUsers.find((u: any) => u.username === usernameToCreate)) {
|
||||
setCreateModal(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
/* ignore, on affiche l'erreur originale */
|
||||
}
|
||||
}
|
||||
showError("Erreur", e.response?.data?.error || e.message);
|
||||
} finally {
|
||||
setCreating(false);
|
||||
|
||||
Reference in New Issue
Block a user