From cb37b461c507c793854f20201f9d8a450a9d0758 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Fri, 29 May 2026 13:39:33 +0200 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=C3=A9dition=20de=20membre=20via?= =?UTF-8?q?=20dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nouvelle page /admin/members/:slug/edit avec : - Preview avatar live (initiales/URL mis à jour à la saisie) - Form complet : display_name, slug, initials, kind, bio, email, website, avatar - Envoie un diff au PATCH (champs vides -> null, pas chaîne vide) - Si le slug change, redirige automatiquement vers la nouvelle URL - Encart "Projets attachés" en lecture (avec lien vers chaque fiche) pour rappeler l'impact d'une suppression ou d'un changement de slug - Bouton Supprimer en header avec confirm qui mentionne le nb de projets - Banner vert "Modifications enregistrées" sur succès - Gestion erreurs : 422 -> fieldErrors, 401, 409 (slug collision), réseau Backend - Aucune nouvelle route : PATCH /api/members/:slug existait déjà - Le contrôleur gère déjà slug auto-unique, initials, kind enum, etc. UI - AdminMembersPage : nouveau lien "Éditer" par ligne, à côté de Supprimer - Router : route nommée admin-member-edit avec guard admin Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/pages/admin/AdminMemberEditPage.vue | 299 ++++++++++++++++++ frontend/src/pages/admin/AdminMembersPage.vue | 16 +- frontend/src/router/index.ts | 1 + 3 files changed, 311 insertions(+), 5 deletions(-) create mode 100644 frontend/src/pages/admin/AdminMemberEditPage.vue diff --git a/frontend/src/pages/admin/AdminMemberEditPage.vue b/frontend/src/pages/admin/AdminMemberEditPage.vue new file mode 100644 index 0000000..05a12e2 --- /dev/null +++ b/frontend/src/pages/admin/AdminMemberEditPage.vue @@ -0,0 +1,299 @@ + + +