feat(reports/trends): add stacked-area chart option for category view (#105) #110
No reviewers
Labels
No labels
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
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#110
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-105-trends-stacked-area"
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?
Summary
/reports/trends"Par catégorie" to switch the category-evolution chart between the current stacked bars (default, unchanged) and a new Recharts<AreaChart stackId="1">that shows total composition over time.ChartPatternDefs/getPatternFill) so the visual signature is preserved.localStorageunderreports-trends-category-charttype. The toggle only renders when the sub-view is "Par catégorie" AND the view mode is "chart".CategoryOverTimeChartgains achartType: 'line' | 'area'prop (default'line'), keeping the dashboard usage untouched.reports.trends.chartLine/chartArea/chartTypeAriaadded in FR + EN. CHANGELOG entries added in both languages.Closes #105
Test plan
npm test -- --run— 109 tests pass (includes 6 new tests forreadTrendsChartType)npm run build— clean tsc + vite build/reports/trends→ "Par catégorie" → toggle "Lignes" ↔ "Surface empilée", confirm same palette + patterns, confirm preference survives a reload🤖 Generated with Claude Code
Revue — APPROVE ✅
Verdict
Implementation propre. J'ai ajouté un commit de suivi pour corriger un nommage trompeur découvert pendant la revue.
Points validés
TrendsChartTypeToggleavec persistance localStorage (reports-trends-category-charttype).<AreaChart stackId="1">correctement stackée, partage palette + patterns SVG grayscale avec le BarChart existant.subView === 'byCategory' && viewMode === 'chart'— pas de pollution UI.CategoryOverTimeChartinchangé (pas de prop → défaut).readTrendsChartType.Fix de suivi (commit
94104c4— rename)L'issue parlait de "Lignes (actuel)" mais le graphique actuel est en réalité un BarChart empilé, pas un LineChart. L'Agent a fidèlement préservé le code mais le label FR/EN "Lignes/Lines" aurait trompé l'utilisateur. J'ai renommé :
'line'→'bar'LineChart→BarChart3(lucide)chartLine→chartBarreadTrendsChartType()convertit un'line'en localStorage vers'bar'Vérifications locales
npm test -- --run: 110/110 verts (7 nouveaux tests total dansTrendsChartTypeToggle.test.ts)npm run build: ✅Rien ne bloque le merge.