const refreshFsLightbox = () => { if (typeof window.requestFsLightboxRefresh === 'function') { return window.requestFsLightboxRefresh(); } if (typeof window.refreshFsLightbox === 'function') { window.refreshFsLightbox(); window.__fsLightboxRefreshPending = false; return true; } window.__fsLightboxRefreshPending = true; return false; }; let refreshTimer = null; const scheduleRefresh = () => { if (refreshTimer) {return;} refreshTimer = window.setTimeout(() => { refreshTimer = null; refreshFsLightbox(); }, 30); }; const initObserver = () => { if (!document.body || typeof MutationObserver === 'undefined') { return; } const observer = new MutationObserver((mutations) => { for (const mutation of mutations) { for (const node of mutation.addedNodes) { if (!(node instanceof HTMLElement)) {continue;} if (node.matches?.('[data-fslightbox]') || node.querySelector?.('[data-fslightbox]')) { scheduleRefresh(); return; } } } }); observer.observe(document.body, { childList: true, subtree: true }); }; if (!refreshFsLightbox()) { scheduleRefresh(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { refreshFsLightbox(); initObserver(); }); } else { refreshFsLightbox(); initObserver(); } if (window.__fsLightboxRefreshPending && typeof window.refreshFsLightbox === 'function') { refreshFsLightbox(); }