diff --git a/app/missions/equipe/page.tsx b/app/missions/equipe/page.tsx index 44aaced..ef59f0a 100644 --- a/app/missions/equipe/page.tsx +++ b/app/missions/equipe/page.tsx @@ -160,19 +160,30 @@ export default function EquipePage() { const response = await fetch(`/api/users/${userId}`, { method: "PUT", headers: { "Content-Type": "application/json" }, - body: JSON.stringify(editData) + body: JSON.stringify({ + firstName: editData.firstName || "", + lastName: editData.lastName || "", + email: editData.email || "" + }) }); - if (!response.ok) throw new Error("Failed to update user"); + if (!response.ok) { + const errorData = await response.json().catch(() => ({})); + throw new Error(errorData.error || "Failed to update user"); + } - setUsers(prev => prev.map(u => - u.id === userId ? { ...u, ...editData } : u - )); + // Refresh user data + await fetchData(); toast({ title: "Succès", description: "Utilisateur modifié" }); setEditMode(null); } catch (error) { - toast({ title: "Erreur", description: "Échec de la modification", variant: "destructive" }); + console.error("Error updating user:", error); + toast({ + title: "Erreur", + description: error instanceof Error ? error.message : "Échec de la modification", + variant: "destructive" + }); } finally { setActionLoading(null); } @@ -472,70 +483,70 @@ export default function EquipePage() { {activeTab === "users" && ( - - + Nouvel utilisateur
- + setNewUserData({ ...newUserData, username: e.target.value })} - className="mt-1" + className="mt-1 bg-white text-gray-900 border-gray-300" required />
- + setNewUserData({ ...newUserData, firstName: e.target.value })} - className="mt-1" + className="mt-1 bg-white text-gray-900 border-gray-300" required />
- + setNewUserData({ ...newUserData, lastName: e.target.value })} - className="mt-1" + className="mt-1 bg-white text-gray-900 border-gray-300" required />
- + setNewUserData({ ...newUserData, email: e.target.value })} - className="mt-1" + className="mt-1 bg-white text-gray-900 border-gray-300" required />
- + setNewUserData({ ...newUserData, password: e.target.value })} - className="mt-1" + className="mt-1 bg-white text-gray-900 border-gray-300" required />
- +
{roles.map(role => (