diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index 7ef311b..13397d4 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -130,7 +130,9 @@ function YearSelectorKpi() { /* ── Badge de tendance ── */ function TrendBadge({ current, prev, invert = false }) { - if (prev == null || prev === 0) return null; + // prev quasi-nul (résidu flottant) → pourcentage non significatif ; seuil aligné sur + // l'arrondi 2 décimales pour éviter des variations aberrantes type "+39628021025%". + if (prev == null || Math.abs(prev) < 0.005) return null; const diff = current - prev; const pct = (diff / prev) * 100; const up = diff > 0; diff --git a/frontend/src/pages/DepotsRetraits.jsx b/frontend/src/pages/DepotsRetraits.jsx index cbc2f11..589085b 100644 --- a/frontend/src/pages/DepotsRetraits.jsx +++ b/frontend/src/pages/DepotsRetraits.jsx @@ -32,7 +32,9 @@ function dlBlob(content, filename, type) { /* ── Indicateur de progression ── */ function TrendBadge({ current, prev, invert = false }) { - if (prev == null || prev === 0) return null; + // prev quasi-nul (résidu flottant, ex. 1e-12) → pourcentage non significatif (aurait + // affiché des variations du type "+39628021025%"). Seuil aligné sur l'arrondi 2 décimales. + if (prev == null || Math.abs(prev) < 0.005) return null; const diff = current - prev; const pct = (diff / prev) * 100; const up = diff > 0; diff --git a/frontend/src/pages/Investissements.jsx b/frontend/src/pages/Investissements.jsx index c0ba535..1b9e5e8 100644 --- a/frontend/src/pages/Investissements.jsx +++ b/frontend/src/pages/Investissements.jsx @@ -33,7 +33,9 @@ function dlBlob(content, filename, type) { /* ── Indicateur de progression ── */ function TrendBadge({ current, prev, invert = false }) { - if (prev == null || prev === 0) return null; + // prev quasi-nul (résidu flottant) → pourcentage non significatif ; seuil aligné sur + // l'arrondi 2 décimales pour éviter des variations aberrantes type "+39628021025%". + if (prev == null || Math.abs(prev) < 0.005) return null; const diff = current - prev; const pct = (diff / prev) * 100; const up = diff > 0; diff --git a/frontend/src/pages/Plateformes.jsx b/frontend/src/pages/Plateformes.jsx index 88f9d6e..671c43d 100644 --- a/frontend/src/pages/Plateformes.jsx +++ b/frontend/src/pages/Plateformes.jsx @@ -20,7 +20,9 @@ const LOGOS_BASE = '/api/logos/'; /* ── TrendBadge ── */ function TrendBadge({ current, prev, invert = false }) { - if (prev == null || prev === 0) return null; + // prev quasi-nul (résidu flottant) → pourcentage non significatif ; seuil aligné sur + // l'arrondi 2 décimales pour éviter des variations aberrantes type "+39628021025%". + if (prev == null || Math.abs(prev) < 0.005) return null; const diff = current - prev; const pct = (diff / prev) * 100; const up = diff > 0; diff --git a/frontend/src/pages/Remboursements.jsx b/frontend/src/pages/Remboursements.jsx index f7f5979..0bbd4a4 100644 --- a/frontend/src/pages/Remboursements.jsx +++ b/frontend/src/pages/Remboursements.jsx @@ -21,7 +21,9 @@ const MOIS_FR = ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Ao /* ── Indicateur de progression ── */ function TrendBadge({ current, prev, invert = false }) { - if (prev == null || prev === 0) return null; + // prev quasi-nul (résidu flottant) → pourcentage non significatif ; seuil aligné sur + // l'arrondi 2 décimales pour éviter des variations aberrantes type "+39628021025%". + if (prev == null || Math.abs(prev) < 0.005) return null; const diff = current - prev; const pct = (diff / prev) * 100; const up = diff > 0;