From 26d0751df673ee87f1f331539152f5c05403edf0 Mon Sep 17 00:00:00 2001 From: Herculino Trotta Date: Sun, 8 Nov 2026 02:25:31 -0300 Subject: [PATCH] fix(datepicker): reset a stale overlay before reattaching it Navigating back while a mobile picker was open reattached its overlay still active, leaving the page covered by an overlay nothing could close. Also skip the reattach when the global container doesn't exist yet. --- frontend/src/js/datepicker.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/js/datepicker.js b/frontend/src/js/datepicker.js index 4a8696a7..6f5f4fbc 100644 --- a/frontend/src/js/datepicker.js +++ b/frontend/src/js/datepicker.js @@ -117,8 +117,10 @@ let mobileOverlay = null; function createAirDatepicker(element, opts) { const datepicker = new AirDatepicker(element, opts); mobileOverlay ??= document.querySelector('.air-datepicker-overlay'); - if (mobileOverlay && !mobileOverlay.isConnected) { - document.getElementById(AirDatepicker.defaultGlobalContainerId).appendChild(mobileOverlay); + const container = document.getElementById(AirDatepicker.defaultGlobalContainerId); + if (mobileOverlay && !mobileOverlay.isConnected && container) { + mobileOverlay.classList.remove('-active-'); // its picker was swapped out while open + container.appendChild(mobileOverlay); } return datepicker; }