11250bea77826187177672859eeca8e330b8a2eb
1. "Entrées sur-versées" and "Versements sans entrée liée" tables get a solde footer, same convention as "Reste à verser" above them -- reuses the totalSurVerse/totalNonLies computeds already backing the summary cards, no new computation. 2. "Répartition de l'activité par type" and "Top clients" keep their all-time chart, now followed by a small-multiples grid of the same chart per année. The type breakdown reuses total_par_type_par_compte_par_annee, a new field on DashboardStatsController::stats() built from the same répartition- level rows already fetched for total_par_type_par_compte (no extra query, just one more level of grouping in the PHP aggregation). Top clients per année is computed client-side from the same entreesDuCompte already used for the all-time version, capped to top 5 (not 10) to keep the grid readable. HBarChart gains a `compact` prop (narrower fixed columns, smaller text) for use inside the small-multiples cards -- the all-time charts above keep the full-width layout unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Description
No description provided
1.2 MiB
Languages
php
44.6%
JavaScript
32.8%
CSS
13.4%
Twig
9.2%