diff --git a/javascript/gallery.js b/javascript/gallery.js index fd8211c25..0c75f685a 100644 --- a/javascript/gallery.js +++ b/javascript/gallery.js @@ -1195,26 +1195,17 @@ async function fetchFilesWS(evt) { // fetch file-by-file list over websockets ws.send(encodeURI(evt.target.name)); } -async function pruneImages() { - // TODO replace img.src with placeholder for images that are not visible -} - -async function galleryVisible() { +async function updateFolders() { // if (el.folders.children.length > 0) return; const res = await authFetch(`${window.api}/browser/folders`); if (!res || res.status !== 200) return; - el.folders.innerHTML = ''; url = res.url.split('/sdapi')[0].replace('http', 'ws'); // update global url as ws need fqdn const folders = await res.json(); + el.folders.innerHTML = ''; for (const folder of folders) { const f = new GalleryFolder(folder); el.folders.appendChild(f); } - pruneImagesTimer = setInterval(pruneImages, 1000); -} - -async function galleryHidden() { - if (pruneImagesTimer) clearInterval(pruneImagesTimer); } async function monitorGalleries() { @@ -1297,12 +1288,9 @@ async function initGallery() { // triggered on gradio change to monitor when ui el.btnSend = gradioApp().getElementById('tab-gallery-send-image'); document.getElementById('tab-gallery-files').style.height = opts.logmonitor_show ? '75vh' : '85vh'; - const intersectionObserver = new IntersectionObserver((entries) => { - if (entries[0].intersectionRatio <= 0) galleryHidden(); - if (entries[0].intersectionRatio > 0) galleryVisible(); - }); - intersectionObserver.observe(el.folders); monitorGalleries(); + updateFolders(); + monitorOption('browser_folders', updateFolders); } // register on startup