[feat] image results: dismiss image viewer on back button press on mobile devices

This commit is contained in:
Bnyro 2025-01-16 20:01:11 +01:00
parent 41159fed32
commit 0b81faa003

View file

@ -52,6 +52,7 @@
this.innerText = this.dataset.copiedText;
});
const isMobile = screen.orientation.type.startsWith('portrait');
searxng.selectImage = function (resultElement) {
/* eslint no-unused-vars: 0 */
if (resultElement) {
@ -82,6 +83,11 @@
}
}
d.getElementById('results').classList.add('image-detail-open');
// add a hash to the browser history so that pressing back doesn't return to the previous page
// this allows us to dismiss the image details on pressing the back button on mobile devices
if (isMobile) window.location.hash = 'image-viewer';
searxng.scrollPageToSelected();
}
@ -102,6 +108,13 @@
searxng.selectNext(false);
});
// listen for the back button to be pressed and dismiss the image details when called
if (isMobile) {
window.addEventListener('hashchange', () => {
if (!window.location.hash) searxng.closeDetail();
})
}
w.addEventListener('scroll', function () {
var e = d.getElementById('backToTop'),
scrollTop = document.documentElement.scrollTop || document.body.scrollTop,