Fix: search results disappear when interacting with the media player (#732)
Search results live in an overlay dismissed by an outside-click handler whose allow-list omitted the floating media player. Clicking the mini player to open the now-playing modal (or clicking inside that modal) registered as an outside click and tore the results down, forcing a re-search. Add the media player containers (#media-player mini bar and #np-modal-overlay expanded modal) to the dismiss allow-lists in both the Search page (search.js) and the global search widget (downloads.js), which share the same outside-click pattern. Additive change: only adds exceptions, so every existing dismiss case is unchanged.
This commit is contained in:
parent
a4ab70a42c
commit
d9a24d48c6
2 changed files with 11 additions and 1 deletions
|
|
@ -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);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue