Onboarding : carte de l'étape « Classer une transaction à la main » (Transactions) #399
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#399
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 4/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 5 ouvre la page Transactions sur les transactions non catégorisées, toutes dates confondues, et met en évidence la catégorie de la première ligne.
À faire
useTransactions(initialFilters?)accepte des filtres de départ ; son reducer reste exporté.TransactionsPagedémarre avec{ dateFrom: null, uncategorizedOnly: true }quandreadOnboardingNavState(location.state).guidedest vrai. Le filtre par défaut part sinon du 1er janvier (useTransactions.ts:67), et en janvier les relevés d'exemple tombent l'année précédente.totalCount === 0alors que le filtre guidé est actif, le reducer retireuncategorizedOnlyet relance la lecture, une seule fois. Pas de compteuruncategorized: le prédicat reste celui degetTransactionPage(t.category_id IS NULL,t.parent_transaction_id IS NULL).data-onboarding-targetetdata-onboarding-highlight, autour de la catégorie de la première ligne affichée (TransactionTable.tsx:190-201).TransactionTablereçoitonboardingTarget?: boolean;CategoryComboboxne change pas.transactionsCardModel({ uncategorizedOnly }): texteuncategorizedquand le filtre est appliqué, sinonall. La page rendOnboardingStepCarden premier enfant, avant son en-tête.CARD_PAGESreçoit/transactions.Textes (FR / EN)
onboarding.card.transactions.uncategorizedonboarding.card.transactions.all{{filter}}:transactions.filters.uncategorized, en minuscules dans la phrase. L'affirmation « la catégorisation automatique ne le remplacera pas » est vraie :autoCategorizeTransactionsne touche quecategory_id IS NULL AND is_manually_categorized = 0.Fichiers concernés
transactionsCardModel,CARD_PAGES)Depends on
Critères d'acceptation
useTransactions(tests) : filtres de départ appliqués ; repli du filtre guidé surtotalCount === 0, une seule fois ; une visite ordinaire garde les filtres par défaut.TransactionTable: aveconboardingTarget, exactement un élément porte la mise en évidence, autour de la catégorie de la première ligne (test de rendu).transactionsCardModel: les deux textes.npm run buildetnpx vitest runverts.Review caveats
readOnboardingNavState(CWE-476).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)