Réordonner le wizard d'inscription : compte → préférences → foyer → sources #129
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Origine : ticket #3, puce 2 — « Changer l'ordre du wizard d'inscription : 1 Compte, 2 préférence, 3 foyer, 4 (si création foyer) sources ».
Ordre actuel (vérifié dans App.tsx:133-164 + chaque page) :
/signupSignupPage/onboarding/regime(SignupPage.tsx:55)/onboarding/regimeOnboardingDietPage/onboarding/foyer/onboarding/foyerOnboardingHouseholdPage/onboarding/sourcessi foyer créé ou rejoint, sinon/onboarding/allergenes(OnboardingHouseholdPage.tsx:58-60)/onboarding/sourcesOnboardingSourcesPage/onboarding/allergenes/onboarding/allergenesOnboardingAllergensPage/getCurrentHouse()au montage (OnboardingAllergensPage.tsx:37-55)Donc aujourd'hui : compte → régime → foyer → [sources] → allergènes, et
/onboarding/sourcesapparaît pour tout foyer (créé ou rejoint).Comportement souhaité
compte → préférences (régime + allergènes) → foyer → sources (uniquement si le foyer vient d'être créé)
/onboarding/sourcesdevient le dernier écran, et seulement si l'utilisateur a créé un foyer (rejoindre un foyer existant ⇒ ses sources sont déjà configurées, on saute).void navigate("/").Fichiers à toucher
apps/web/src/App.tsx— ordre des 4 blocs<Route path="/onboarding/...">+ commentaire de doc du groupe (App.tsx:56-61).SignupPage.tsx—navigatevers la 1re étape (/onboarding/regimeconservé, ou renommé).OnboardingDietPage.tsx— enchaîne sur allergènes (plus foyer) ; compteur.OnboardingAllergensPage.tsx— enchaîne sur/onboarding/foyer(plus/) ; supprime legetCurrentHouse()+totalStepsdynamique (OnboardingAllergensPage.tsx:32-59), devenu inutile.OnboardingHouseholdPage.tsx—goToNextSteproute vers/onboarding/sourcesseulement sur le chemin « création » (pas « rejoint »), sinon/.CreateHouseholdForm/JoinHouseholdForm/SkipButton(OnboardingHouseholdPage.tsx:90-177) doivent transmettre « créé vs rejoint » àonDone.OnboardingSourcesPage.tsx— dernier écran :void navigate("/")au submit et sur le court-circuit « aucune source » (OnboardingSourcesPage.tsx:43-53).t("onboarding.step", { current, total })), aucun état de wizard partagé (voir le commentaire de OnboardingAllergensPage.tsx:20-25). Un réordonnancement les casse tous ⇒ soit les recalculer à la main, soit (recommandé) introduire un petit module partagéonboarding-steps.tsqui définit la séquence et dérivecurrent/totalselon le chemin (foyer créé / rejoint / passé).apps/web/src/locales/fr/translation.jsononboarding.*— titres regroupés si « Préférences » devient un seul écran.Découpage proposé
Une PR — surtout du câblage de navigation. Si trop gros : (1) séquence + compteurs partagés, (2) réordonnancement effectif + condition « création only » sur les sources.
Tests (obligatoires, cf.
specs/dev-conventions.md)onboarding.feature/onboarding.cy.ts) : parcours compte → régime → allergènes → foyer créé → sources → home ; parcours foyer rejoint → home (pas de sources) ; parcours foyer passé → home. Compteurs corrects sur chaque chemin.getCurrentHouse()défensives existantes (OnboardingHouseholdPage.tsx:32-50) restent valides.Documentation à mettre à jour
specs/frontend-architecture.md— description du wizard d'onboarding (ordre, condition sources)./onboarding/*dansApp.tsx.Points restant à trancher en revue
/onboarding/regime+/onboarding/allergenestelles quelles (juste réordonnées) ou renommer en/onboarding/preferences/*? (garder = zéro casse de lien.)🤖 Filed by Claude Code