feat(reports/trends): add stacked-area chart option for category trends #105

Closed
opened 2026-04-19 00:27:02 +00:00 by maximus · 0 comments
Owner

Contexte

Sur /reports/trends dans la sous-vue "Par catégorie" (CategoryOverTimeChart), l'évolution mensuelle est rendue en courbes (une ligne par catégorie). Quand plusieurs catégories sont sélectionnées, il est difficile de voir la composition totale.

Proposition

Ajouter un toggle de type de graphique dans la sous-vue "Par catégorie" de ReportsTrendsPage :

  • Lignes (actuel, par défaut) — bon pour voir les tendances individuelles.
  • Surface empilée (nouveau) — <AreaChart stackId="1"> Recharts : permet de voir la composition totale et comment chaque catégorie y contribue dans le temps.

Les deux options partagent la même palette (couleurs de catégorie) et les mêmes patterns SVG.

Fichiers concernés

  • src/components/reports/CategoryOverTimeChart.tsx — ajouter un prop chartType: 'line' | 'area'.
  • src/pages/ReportsTrendsPage.tsx — ajouter un toggle segmenté, mémorisé dans localStorage (reports-trends-category-charttype).
  • i18n : reports.trends.chartLine / reports.trends.chartArea.

Critères d'acceptation

  • Sur /reports/trends sous-vue "Par catégorie", un toggle permet de basculer entre lignes et surface empilée.
  • Le type de graphique choisi est mémorisé entre navigations.
  • Les patterns SVG (signature visuelle) sont conservés dans les deux modes.
  • Traductions FR/EN des libellés du toggle.
  • CHANGELOG mis à jour.
## Contexte Sur `/reports/trends` dans la sous-vue "Par catégorie" (`CategoryOverTimeChart`), l'évolution mensuelle est rendue en courbes (une ligne par catégorie). Quand plusieurs catégories sont sélectionnées, il est difficile de voir la composition totale. ## Proposition Ajouter un **toggle de type de graphique** dans la sous-vue "Par catégorie" de `ReportsTrendsPage` : - **Lignes** (actuel, par défaut) — bon pour voir les tendances individuelles. - **Surface empilée** (nouveau) — `<AreaChart stackId="1">` Recharts : permet de voir la composition totale et comment chaque catégorie y contribue dans le temps. Les deux options partagent la même palette (couleurs de catégorie) et les mêmes patterns SVG. ## Fichiers concernés - `src/components/reports/CategoryOverTimeChart.tsx` — ajouter un prop `chartType: 'line' | 'area'`. - `src/pages/ReportsTrendsPage.tsx` — ajouter un toggle segmenté, mémorisé dans `localStorage` (`reports-trends-category-charttype`). - i18n : `reports.trends.chartLine` / `reports.trends.chartArea`. ## Critères d'acceptation - [ ] Sur `/reports/trends` sous-vue "Par catégorie", un toggle permet de basculer entre lignes et surface empilée. - [ ] Le type de graphique choisi est mémorisé entre navigations. - [ ] Les patterns SVG (signature visuelle) sont conservés dans les deux modes. - [ ] Traductions FR/EN des libellés du toggle. - [ ] CHANGELOG mis à jour.
maximus added this to the spec-refonte-rapports milestone 2026-04-19 00:27:02 +00:00
maximus added the
status:approved
type:feature
source:human
labels 2026-04-19 00:27:02 +00:00
maximus added
status:ready
and removed
status:approved
labels 2026-04-19 00:41:40 +00:00
maximus added
status:review
and removed
status:ready
labels 2026-04-19 11:24:16 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-04-19 11:26:47 +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#105
No description provided.