diff --git a/webui/static/downloads.js b/webui/static/downloads.js index 714ae934..39f0cf5a 100644 --- a/webui/static/downloads.js +++ b/webui/static/downloads.js @@ -5709,6 +5709,11 @@ let _gsController = null; const freshResults = document.getElementById('gsearch-results'); const target = e.target; if (freshBar?.contains(target) || freshResults?.contains(target)) return; + // The media player (mini bar + expanded now-playing modal) + // floats above the page. Clicking it — e.g. opening the full + // modal from the mini player, or anything inside that modal — + // must NOT tear down the global search results (#732). + if (target.closest && target.closest('#media-player, #np-modal-overlay')) return; _gsDeactivate(); }, 100); }); diff --git a/webui/static/search.js b/webui/static/search.js index cd27d34e..f963f465 100644 --- a/webui/static/search.js +++ b/webui/static/search.js @@ -288,7 +288,12 @@ function initializeSearchModeToggle() { const isClickOnSourceRow = e.target.closest('#enh-source-row'); // Modal sits above the dropdown; closing it shouldn't dismiss results. const isClickInModal = e.target.closest('.download-missing-modal'); - if (!isClickInside && !isClickOnSourceRow && !isClickInModal) { + // The media player (mini bar + expanded now-playing modal) floats + // above the page. Interacting with it — e.g. clicking the mini + // player to open the full modal, or anywhere inside that modal — + // must NOT dismiss the search results (#732). + const isClickInPlayer = e.target.closest('#media-player, #np-modal-overlay'); + if (!isClickInside && !isClickOnSourceRow && !isClickInModal && !isClickInPlayer) { hideDropdown(); } }