Bilan #3 — Page /balance + graphique évolution #141
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#141
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?
Refs: spec-decisions-bilan.md + spec-plan-bilan.md (v2)
Depends on #138, #140
Tâches
Critères dacceptation
/review-spec — améliorations Frontend
Issues remontées par l'agent Architecture sur la couche front du Bilan.
🟡 Sur-découpage components / services / hooks
1. 11 composants pour 3 routes — trop
Référence :
budget/a 5 composants pour BudgetPage entier,transactions/a 5. Les composants triviaux :TransactionTransferIcon,PriceFetchButton,PriceFetchConsentModal.Fix : Inliner les triviaux.
TransactionTransferIcon→ simple span dansTransactionTable.PriceFetchButton+PriceFetchConsentModal→ un seulPriceFetchControl. Cible 6-7 composants.2.
useBalancemega-hook viole le pattern par-pageLes hooks projet sont scoped par page :
useTransactions,useBudget,useCompare. LeuseBalanceproposé agrège categories + accounts + snapshots + currentSnapshot + evolution + returns dans un reducer unique — produira des actions cross-cutting et un fat reducer.Fix : Splitter en 3 hooks :
useBalanceAccounts(AccountsPage),useSnapshotEditor(SnapshotEditPage),useBalanceOverview(BalancePage).3. 3 services pour 1 domaine sur-découpe
Pattern existant : 1 service par domaine.
priceFetcheretreturnCalculatorsont chacun 1 wrapper de commande Tauri.Fix : Garder
balance.service.tsunique avec sous-sections (CRUD, prices, returns). Splitter seulement si > ~400 lignes commetransactionService.ts.