Onboarding : carte de l'étape « Saisir un premier budget » (Budget) #400
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#400
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?
Milestone
planned-2026-10-06-onboarding-parcours-guide, issue 5/6. Phase 2 de l'onboarding (#391) : bandeau de démarrage sur chaque page, et cartes d'étape avec mise en évidence. La spec (spec-decisions-onboarding-parcours-guide.mdetspec-plan-onboarding-parcours-guide.md) est locale et ignorée par git : ce corps est auto-suffisant.La carte de l'étape 6 guide jusqu'à une première saisie dans la grille du budget. La grille s'ouvre repliée et seules les lignes feuilles sont modifiables. La carte met donc en évidence « Tout déplier », puis la cellule du mois courant.
À faire
Fonction pure
budgetOnboardingTarget(visibleRows, hasGroups, monthIdx), exportée et testée. Elle rend :{ kind: "cell", categoryId, monthIdx }pour la cellule du mois courant de la première ligne feuille visible ;{ kind: "expandAll" }s'il existe des groupes ;null.BudgetTablereçoitonboardingTarget?: booleanetonOnboardingTargetChange?: (kind: "cell" | "expandAll" | null) => void. Il posedata-onboarding-targetetdata-onboarding-highlightselon la fonction :BudgetTable.tsx:320-326) ;:404-413).Une seule cible à la fois. Il remonte le
kindpar le rappel quand il change. L'état replié vit dansBudgetTable(useCollapsibleGroups, clébudget-grid-expanded), d'où le rappel.budgetCardModel({ target }): textecollapsedpourexpandAll, texteflatpour une cellule.BudgetPagerendOnboardingStepCarden premier enfant, avant son en-tête.CARD_PAGESreçoit/budget. En édition Gratuite, la page n'est jamais montée (RequireFeature,App.tsx:123-125), donc aucune carte Budget n'apparaît.CHANGELOG FR et EN (Added).
Textes (FR / EN)
onboarding.card.budget.collapsedonboarding.card.budget.flat{{expand}}:reports.collapse.expandAll. Comportement clavier vérifié : Entrée ou la sortie du champ enregistrent (BudgetTable.tsx:101-106), et Tab enregistre puis passe au mois suivant (:123-138).Fichiers concernés
budgetOnboardingTarget)budgetCardModel,CARD_PAGES)Depends on
Critères d'acceptation
budgetOnboardingTarget(tests) : groupes repliés, première feuille visible, sans groupes, aucune ligne.budgetCardModel: les deux textes.npm run buildetnpx vitest runverts.Review caveats
BudgetTable, qui demanderait de simuler le stockage et un hook.Décisions prises en planification
onboarding_checklist_hiddenpar profil ; masquer le bandeau masque la liste, et le réaffichage depuis Paramètres → Utilisateurs rétablit tout.hidden, étapes passées, initialisation).Spec source
spec-plan-onboarding-parcours-guide.md (et spec-decisions-onboarding-parcours-guide.md)