Nouvelle page /dashboard/repartition, renomme "Dashboard" en "SAS" dans le menu

Nouvelle page "Répartition/Soldes" entre "SAS" (ex-"Dashboard") et "Par
compte" dans le menu : reprend "Solde par compte" et "Évolution du solde
par compte", retirés du dashboard général pour le recentrer sur
l'activité/CA/type/client. Mêmes données déjà exposées par
/dashboard/api/stats (solde_par_compte, solde_par_compte_par_annee),
aucun changement backend nécessaire pour cette page.

js/dashboard-repartition.js reprend le HBarChart/MiniTrend de
dashboard.js -- dupliqués plutôt que partagés, même convention que
dashboard-compte.js. Racine Vue volontairement le même id
#figli-dashboard-app que les deux autres pages dashboard (pas un id
dédié) : dashboard.css scope ses variables CSS (thème clair/sombre) sur
ce sélecteur, réutiliser le même id est comment les trois pages héritent
du même thème sans feuille de style séparée -- vérifié en dark mode.

Le lien de menu "Dashboard" devient "SAS" partout (les 3 templates Twig
+ le nav en render array de HistoryController, qui n'a pas de template
Twig propre).

dashboard.js : MiniTrend/soldeParCompteItems/comptesOrdonnes/
trendValues supprimés (code mort après le déplacement, plus rien ne les
utilise sur le dashboard général).
This commit is contained in:
2026-09-08 15:00:22 +02:00
parent 43817dcdce
commit 8dfb4af98a
11 changed files with 267 additions and 85 deletions
@@ -40,7 +40,23 @@ class DashboardController extends ControllerBase {
}
/**
* Third page: one compte associé (freelance) at a time -- entrées client
* Third page: solde par compte, all-time and year by year -- split out
* of the general /dashboard so that page stays focused on activité/CA/
* type/client rather than per-compte balances. Same
* /dashboard/api/stats data as /dashboard, just a different slice of it.
*/
public function repartitionView() {
return [
'#theme' => 'figli_compta_dashboard_repartition',
'#current_route' => 'figli_compta_ledger.dashboard_repartition',
'#attached' => [
'library' => ['figli_compta_ledger/dashboard_repartition'],
],
];
}
/**
* Fourth page: one compte associé (freelance) at a time -- entrées client
* vs versements freelance, and above all which entrées haven't been
* (fully) paid out yet. Complements the aggregate /dashboard above,
* which mixes every compte and every type together.
@@ -62,10 +62,10 @@ class HistoryController extends ControllerBase {
// pinned next to the page title) -- this controller has no twig
// template of its own to put a real <nav> in, but the CSS only
// ever targets the class, not the tag, so a render-array
// 'container' (<div>) here looks identical. None of the three
// 'container' (<div>) here looks identical. None of the four
// links is ever "active" here since this history feed isn't one
// of them -- same as visiting it from any of the other pages'
// nav, which doesn't include a 4th "Historique" entry either.
// nav, which doesn't include a 5th "Historique" entry either.
'nav' => [
'#type' => 'container',
'#attributes' => ['class' => ['figli-page-nav']],
@@ -76,9 +76,14 @@ class HistoryController extends ControllerBase {
],
'dashboard' => [
'#type' => 'link',
'#title' => $this->t('Dashboard'),
'#title' => $this->t('SAS'),
'#url' => Url::fromRoute('figli_compta_ledger.dashboard'),
],
'dashboard_repartition' => [
'#type' => 'link',
'#title' => $this->t('Répartition/Soldes'),
'#url' => Url::fromRoute('figli_compta_ledger.dashboard_repartition'),
],
'dashboard_compte' => [
'#type' => 'link',
'#title' => $this->t('Par compte'),