From 96edde8f81011c634301bf01d45ee86999b47822 Mon Sep 17 00:00:00 2001 From: DiTus Date: Sat, 21 Mar 2026 09:20:33 +0100 Subject: [PATCH] Fix mobile touch events for settings panel close --- js/ui/chart.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/js/ui/chart.js b/js/ui/chart.js index 3a5978c..bda3a10 100644 --- a/js/ui/chart.js +++ b/js/ui/chart.js @@ -509,11 +509,17 @@ constructor() { settingsPopup.classList.toggle('hidden'); }); - document.addEventListener('click', (e) => { - if (!settingsPopup.contains(e.target) && e.target !== btnSettings) { + document.addEventListener('click', closeSettingsPopup); + document.addEventListener('touchstart', closeSettingsPopup, { passive: true }); + + function closeSettingsPopup(e) { + const isInside = settingsPopup.contains(e.target) || e.target === btnSettings; + const isSettingsButton = e.target.closest('#btnSettings'); + + if (!isInside && !isSettingsButton) { settingsPopup.classList.add('hidden'); } - }); + } } // Initialize state from storage