[#4] Rapport Tendances : flux global + par categorie #72

Closed
opened 2026-04-13 15:03:41 +00:00 by maximus · 0 comments
Owner

Objectif

Implémenter le rapport tendances : deux sous-vues accessibles par un toggle interne — Flux global (revenus/dépenses/solde net) et Par catégorie (évolution par catégorie sélectionnée).

Spec : spec-refonte-rapports.md
Dépend de #70 (parallélisable avec #71, #72, #73)

Tâches

Page

  • Remplacer le placeholder de src/pages/ReportsTrendsPage.tsx par la vue finale
  • Mini-toggle interne : Flux global / Par catégorie
  • Sélecteur de période commun via useReportsPeriod (query string partagée avec le hub)
  • ViewModeToggle partagé, storage key reports-viewmode-trends

Sous-vue Flux global

  • Réutiliser src/components/reports/MonthlyTrendsChart.tsx tel quel
  • Réutiliser src/components/reports/MonthlyTrendsTable.tsx tel quel
  • Les câbler sur useTrends + useReportsPeriod

Sous-vue Par catégorie

  • Réutiliser src/components/reports/CategoryOverTimeChart.tsx tel quel
  • Réutiliser src/components/reports/CategoryOverTimeTable.tsx tel quel
  • Sélecteur multi-catégories (réutiliser ReportFilterPanel.tsx ou logique équivalente)
  • Câbler sur useTrends + useReportsPeriod

i18n

  • Clés reports.trends.* en FR/EN (subviewGlobal, subviewByCategory, selectCategories, etc.)

Vérifications

  • /reports/trends affiche Flux global par défaut
  • Bascule vers Par catégorie fonctionne
  • Toggle chart/table fonctionne pour les deux sous-vues
  • La période est partagée avec le hub via query string (navigation depuis le hub conserve ?from=...&to=...)
  • npm run build vert

Critères d'acceptation

  • Les deux sous-vues sont fonctionnelles et chacune respecte la période de useReportsPeriod
  • Les composants existants (MonthlyTrendsChart/Table, CategoryOverTimeChart/Table) sont réutilisés sans modification de leur logique
  • Toggle chart/table persisté en localStorage (reports-viewmode-trends)
## Objectif Implémenter le rapport **tendances** : deux sous-vues accessibles par un toggle interne — `Flux global` (revenus/dépenses/solde net) et `Par catégorie` (évolution par catégorie sélectionnée). Spec : `spec-refonte-rapports.md` Dépend de #70 (parallélisable avec #71, #72, #73) ## Tâches ### Page - [ ] Remplacer le placeholder de `src/pages/ReportsTrendsPage.tsx` par la vue finale - [ ] Mini-toggle interne : `Flux global` / `Par catégorie` - [ ] Sélecteur de période commun via `useReportsPeriod` (query string partagée avec le hub) - [ ] `ViewModeToggle` partagé, storage key `reports-viewmode-trends` ### Sous-vue `Flux global` - [ ] Réutiliser `src/components/reports/MonthlyTrendsChart.tsx` tel quel - [ ] Réutiliser `src/components/reports/MonthlyTrendsTable.tsx` tel quel - [ ] Les câbler sur `useTrends` + `useReportsPeriod` ### Sous-vue `Par catégorie` - [ ] Réutiliser `src/components/reports/CategoryOverTimeChart.tsx` tel quel - [ ] Réutiliser `src/components/reports/CategoryOverTimeTable.tsx` tel quel - [ ] Sélecteur multi-catégories (réutiliser `ReportFilterPanel.tsx` ou logique équivalente) - [ ] Câbler sur `useTrends` + `useReportsPeriod` ### i18n - [ ] Clés `reports.trends.*` en FR/EN (subviewGlobal, subviewByCategory, selectCategories, etc.) ### Vérifications - [ ] `/reports/trends` affiche Flux global par défaut - [ ] Bascule vers Par catégorie fonctionne - [ ] Toggle chart/table fonctionne pour les deux sous-vues - [ ] La période est partagée avec le hub via query string (navigation depuis le hub conserve `?from=...&to=...`) - [ ] `npm run build` vert ## Critères d'acceptation - Les deux sous-vues sont fonctionnelles et chacune respecte la période de `useReportsPeriod` - Les composants existants (`MonthlyTrendsChart/Table`, `CategoryOverTimeChart/Table`) sont réutilisés sans modification de leur logique - Toggle chart/table persisté en localStorage (`reports-viewmode-trends`)
maximus added this to the spec-refonte-rapports milestone 2026-04-13 15:03:41 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-04-13 15:03:41 +00:00
maximus added
status:approved
and removed
status:ready
labels 2026-04-14 18:53:06 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/Simpl-Resultat#72
No description provided.