Fix mobile touch events for settings panel close
This commit is contained in:
@ -509,11 +509,17 @@ constructor() {
|
|||||||
settingsPopup.classList.toggle('hidden');
|
settingsPopup.classList.toggle('hidden');
|
||||||
});
|
});
|
||||||
|
|
||||||
document.addEventListener('click', (e) => {
|
document.addEventListener('click', closeSettingsPopup);
|
||||||
if (!settingsPopup.contains(e.target) && e.target !== btnSettings) {
|
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');
|
settingsPopup.classList.add('hidden');
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize state from storage
|
// Initialize state from storage
|
||||||
|
|||||||
Reference in New Issue
Block a user