fix(mobile): R6.8 — la connexion routait toujours vers "Ma journée"

connexion.tsx faisait router.replace('/(tabs)/journee') en dur — trouvé
en recette : Karim (Demandeur) atterrissait sur l'écran du Technicien
après avoir basculé de compte démo. La redirection par rôle
(ongletAccueil) n'était branchée qu'à l'aiguillage initial (app/index.tsx,
R6.1), pas au retour de connexion — le chemin réellement emprunté à
chaque bascule de compte (pas de sélecteur de rôle en direct sur mobile,
changer de compte = se déconnecter puis se reconnecter).

useLogin()/useDemoLogin() (auth/session.tsx) renvoient maintenant la
réponse complète (contient user.role.name) au lieu de la jeter après en
avoir extrait le jeton. connexion.tsx : entrer(role) route vers
/(tabs)/${ongletAccueil(role)} pour les deux chemins (connexion classique
et sélecteur démo).

Au passage : sous-titre "Technicien" et accroche "sur le terrain — même
sans réseau" (reste de R4, mobile alors réservé au Technicien) devenus
trompeurs pour les autres rôles depuis R6 — généricisés.

Typecheck/tests/lint verts sur les 4 paquets.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
pr-daaif
2026-08-03 09:37:12 +01:00
parent 19076a91d3
commit 39320d081e
4 changed files with 51 additions and 9 deletions

View File

@@ -4,6 +4,37 @@ Trace chronologique des sessions (la plus récente en premier). Le **playbook**
---
## 2026-08-03 — Pr. Daaif (+ Claude) — R6.8 : connexion routait toujours vers « Ma journée »
**Contexte** — en recette, le référent a basculé sur Karim Doukkali (Demandeur) et a atterri sur
« Ma journée » (l'écran du Technicien, « Aucun OT en cours ») au lieu d'« Accueil ». Cause :
`app/connexion.tsx` — la fonction `entrer()` faisait `router.replace('/(tabs)/journee')` **en
dur**, quel que soit le rôle du compte choisi. La redirection par rôle (`ongletAccueil`) n'avait
été branchée qu'à l'aiguillage initial (`app/index.tsx`, R6.1) — pas au retour de connexion, le
chemin réellement emprunté à chaque bascule de compte démo (changer de compte = se déconnecter
puis se reconnecter, il n'y a pas de sélecteur de rôle en direct sur mobile).
**Actions**
- `useLogin()`/`useDemoLogin()` (`auth/session.tsx`) renvoient maintenant la réponse complète
(contient `user.role.name`) au lieu de la jeter après en avoir extrait le jeton.
- `connexion.tsx` : `entrer(role)` route vers `/(tabs)/${ongletAccueil(role)}` — les deux
boutons (connexion classique et sélecteur démo) passent le rôle réellement retourné par l'API,
jamais un onglet figé.
- Au passage : le sous-titre « Technicien » et l'accroche « sur le terrain — même sans réseau »
de l'écran de connexion étaient un reste de R4 (mobile alors réservé au Technicien) — devenus
trompeurs pour les autres rôles depuis R6, généricisés.
- Typecheck/tests/lint verts sur les 4 paquets.
**Décisions**
- Aucune — correction directe, aucun changement de comportement voulu au-delà du routage.
**Prochaine étape** : reprendre la recette Demandeur (Accueil, Nouvelle demande filtrée à Tour
Atlas, scan QR) une fois ce correctif rechargé sur l'iPhone.
---
## 2026-08-02 — Pr. Daaif (+ Claude) — R6.7 : assignation à l'approbation (mobile)
**Contexte** — en recette, le référent a signalé que le Gestionnaire doit pouvoir affecter un OT