From ade59b3dc4bd94543db179968e46db093c20cbdf Mon Sep 17 00:00:00 2001 From: AdamThomas Date: Wed, 16 Sep 2026 07:50:00 +0200 Subject: [PATCH] =?UTF-8?q?=C3=89cran=20r=C3=A9f=C3=A9rent=20:=20repli=20s?= =?UTF-8?q?ur=20la=20vue=20b=C3=A9n=C3=A9vole,=20tous=20les=20cr=C3=A9neau?= =?UTF-8?q?x=20du=20poste?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deux bugs remontés sur l'écran référent (/mobile-referent), tous deux révélés par le repli documenté « décocher un poste ne rétrograde jamais le compte » (§2) : - Un compte LEAD qui ne référence plus aucun poste (ex. décoché) reste LEAD et atterrit donc sur /mobile-referent après son lien magique — qui affichait un écran référent vide au lieu de sa vue de bénévole classique. `MobileLeadPage` détecte maintenant ce cas et affiche, quand le compte est rattaché à une fiche bénévole, le même contenu que `/mobile-benevole` (planning : poste, jour, horaire, lieu, responsable, téléphone) — extrait dans un composant partagé `VolunteerHomeView`. - Un poste avec plusieurs créneaux n'en montrait qu'un seul (le plus proche de l'heure réelle) : le référent ne pouvait pas voir son équipe sur les autres créneaux. La carte de chaque poste liste maintenant tous ses créneaux, chacun avec sa propre équipe, avec un repère « MAINTENANT » (composant partagé `NowLine`, déjà utilisé côté bénévole) pour se situer parmi eux. Non inclus dans ce commit (édités en parallèle par l'utilisateur, laissés en l'état) : backend/app/seed.py, frontend/tailwind.config.js. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM --- CLAUDE.md | 6 +- frontend/src/components/NowLine.tsx | 16 ++ frontend/src/i18n/locales/fr.json | 2 +- frontend/src/pages/MobileLeadPage.tsx | 238 ++++++++++++--------- frontend/src/pages/MobileVolunteerPage.tsx | 119 +---------- frontend/src/pages/VolunteerHomeView.tsx | 117 ++++++++++ 6 files changed, 282 insertions(+), 216 deletions(-) create mode 100644 frontend/src/components/NowLine.tsx create mode 100644 frontend/src/pages/VolunteerHomeView.tsx diff --git a/CLAUDE.md b/CLAUDE.md index 8361ee8..222fceb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -101,7 +101,11 @@ les tables sauf les tables d'association. poste y crée ou met à niveau (`PATCH /accounts/{id}` : voir plus bas) son compte en `LEAD` — à sa prochaine connexion il voit l'écran référent (`/mobile-referent`) plutôt que l'écran bénévole. Décocher ne fait que - retirer le poste, sans jamais rétrograder le compte automatiquement. + retirer le poste, sans jamais rétrograder le compte automatiquement : un + compte `LEAD` qui ne référence plus aucun poste (tous décochés) reste donc + `LEAD`, mais `/mobile-referent` détecte ce cas et affiche alors, si le + compte est rattaché à une fiche bénévole, sa vue de bénévole classique + (`VolunteerHomeView`) plutôt qu'un écran référent vide. - **`Shift`** : `position_id`, `day_part_id` (nullable ; le créneau type dont il est issu, `SET NULL` si le type est supprimé), `starts_at`, `ends_at` (peut finir le lendemain), `min_staff`, `ideal_staff`. À la création d'un diff --git a/frontend/src/components/NowLine.tsx b/frontend/src/components/NowLine.tsx new file mode 100644 index 0000000..1b5623d --- /dev/null +++ b/frontend/src/components/NowLine.tsx @@ -0,0 +1,16 @@ +import { t } from '@/i18n'; + +/** Repère horizontal « MAINTENANT », à insérer dans une liste triée + * chronologiquement (créneaux d'un bénévole, créneaux d'un poste…) au point + * correspondant à l'heure réelle. Purement visuel. */ +export function NowLine() { + return ( +