diff --git a/CHANGELOG.md b/CHANGELOG.md index 738df10..4801e36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ Format : [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/) — versionnag --- +## [1.6.35] - 2026-05-19 + +### Corrigé +- `visitors.json` : utilisation de `+` au lieu de `array_merge` pour préserver les clés entières 7/14/30 (array_merge les renumérote en 0/1/2) +- Admin stats / Visiteurs par pays : bouton ✕ déplacé hors du div 9rem (il était écrasé par le nom de l'AS) ; `e.stopPropagation()` ajouté pour ne pas déclencher l'accordéon +- Admin stats / Visiteurs par pays : listener délégué stocké et retiré avant réajout (évite l'accumulation de handlers après chaque `renderCountry()`) + +### Modifié +- Graphique "Trafic total" → "Visiteurs uniques / jour" calculé depuis les IPs du top 200 (approximation) + +--- + ## [1.6.34] - 2026-05-19 ### Ajouté diff --git a/public/assets/js/admin-stats.js b/public/assets/js/admin-stats.js index aec83be..257b94f 100644 --- a/public/assets/js/admin-stats.js +++ b/public/assets/js/admin-stats.js @@ -75,6 +75,7 @@ var _csrf = (typeof FOLIO_CSRF !== 'undefined') ? FOLIO_CSRF : ''; var ipData = (typeof FOLIO_IP_DATA !== 'undefined') ? FOLIO_IP_DATA : {}; if (!el || !asList.length) { return; } + var _countryClickHandler = null; var dispNames = null; try { dispNames = new Intl.DisplayNames(['fr'], { type: 'region' }); } catch (e) {} function countryName(code) { @@ -277,17 +278,17 @@ var _csrf = (typeof FOLIO_CSRF !== 'undefined') ? FOLIO_CSRF : ''; var toggleAttrs = hasIps ? ' data-bs-toggle="collapse" data-bs-target="#' + asId + '" role="button"' : ''; var chevron = hasIps ? '▾' : ''; var excludeBtn = n.asn - ? '' + ? '' : ''; return '
Trafic total — 30 derniers jours
' + 'Visiteurs uniques / jour — 30 derniers jours (top 200 IPs)
' + '