[#1] Fondation non-breaking : suppression pivot + squelettes + shared components #69
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#69
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?
Objectif
Poser la fondation de la refonte des rapports sans rien casser : supprimer franchement le pivot, créer les 4 squelettes de pages plates, ajouter les sous-routes, créer les shared components (
ViewModeToggle,Sparkline,ContextMenugénérique). Les 4 rapports existants (trends, byCategory, overTime, budgetVsActual) continuent de fonctionner comme avant.Spec :
spec-refonte-rapports.mdTâches
Suppression franche du pivot
src/components/reports/DynamicReport.tsxsrc/components/reports/DynamicReportPanel.tsxsrc/components/reports/DynamicReportTable.tsxsrc/components/reports/DynamicReportChart.tsxsrc/hooks/useReports.ts: les champspivotConfig,pivotResult, les actionssetPivotConfig, la branchetab === 'dynamic'dans le reducer et les fetchesReportTabdanssrc/shared/types.ts(plus de'dynamic')src/pages/ReportsPage.tsx(constanteTABS, imports, case dans le switch)reports.pivot.*danssrc/i18n/locales/fr.jsoneten.jsonSquelettes des nouvelles pages (plat dans
src/pages/)src/pages/ReportsHighlightsPage.tsx— placeholder{t("common.underConstruction")}src/pages/ReportsTrendsPage.tsx— placeholdersrc/pages/ReportsComparePage.tsx— placeholdersrc/pages/ReportsCategoryPage.tsx— placeholdersrc/App.tsx:/reports/highlights,/reports/trends,/reports/compare,/reports/categoryShared components
src/components/reports/ViewModeToggle.tsx— API{ value: 'chart' | 'table', onChange, storageKey }, persiste dans localStoragesrc/components/reports/Sparkline.tsx— RechartsLineChartcompact sans axessrc/components/shared/ContextMenu.tsx— shell générique{ x, y, items: { label, onClick }[], onClose }avec click-outside + Escapesrc/components/shared/ChartContextMenu.tsxpour composerContextMenu(garder ses props spécifiques aux charts :categoryName,onHide,onViewDetails)i18n
reports.hub.*,reports.viewMode.*,reports.empty.*,common.underConstructionNav
NAV_ITEMSdanssrc/shared/constants/index.ts: aucun changement — l'entrée/reportsreste seule, les sous-rapports ne sont accessibles que via les cartes du hub (Issue #3)Vérifications
npm run buildvertcargo checkvertnpm testvertgrep -ri "DynamicReport\|pivotConfig\|reports\.pivot" src/retourne vide/reports)Critères d'acceptation
ChartContextMenufonctionne toujours là où il est utilisé aujourd'hui)