Skip to content

Commit f2a1fa0

Browse files
Update script.js
1 parent fdccedd commit f2a1fa0

1 file changed

Lines changed: 13 additions & 55 deletions

File tree

script.js

Lines changed: 13 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,8 @@ document.querySelectorAll('.cta-bot').forEach(a => { a.href='https://t.me/Metrid
197197
var btn = lb.querySelector('.mdx-close');
198198
img.src = src;
199199
lb.classList.add('open');
200-
document.body.classList.add('mdx-no-scroll');
201-
lb.removeAttribute('hidden');
202-
function close(){ lb.classList.remove('open'); lb.setAttribute('hidden',''); document.body.classList.remove('mdx-no-scroll'); }
200+
lb.removeAttribute('hidden');
201+
function close(){ lb.classList.remove('open'); lb.setAttribute('hidden',''); }
203202
lb.addEventListener('click', close, {once:true});
204203
btn && btn.addEventListener('click', close, {once:true});
205204
document.addEventListener('keydown', function esc(e){ if(e.key==='Escape'){ close(); document.removeEventListener('keydown', esc);} });
@@ -314,9 +313,8 @@ lb.removeAttribute('hidden');
314313
currentSet = set; currentIdx = idx;
315314
lbImg.src = set[idx];
316315
lb.classList.add('open');
317-
document.body.classList.add('mdx-no-scroll');
318-
}
319-
function hide(){ lb && lb.classList.remove('open'); document.body.classList.remove('mdx-no-scroll'); }
316+
}
317+
function hide(){ lb && lb.classList.remove('open'); }
320318
function trigger(dir){
321319
if(!currentSet.length) return;
322320
if(dir==='prev') currentIdx = (currentIdx-1+currentSet.length)%currentSet.length;
@@ -690,61 +688,21 @@ lb.removeAttribute('hidden');
690688
})();
691689

692690

693-
// === Screens RESET (AURUM-DELTA 2025-10-02) ===
691+
// === Lightbox harden (2025-10-02) ===
694692
(function(){
695-
const body = document.body;
696693
const lb = document.querySelector('.mdx-lightbox');
697694
if(!lb) return;
695+
// Always attach to body to avoid stacking-context issues
696+
if(lb.parentElement !== document.body){
697+
document.body.appendChild(lb);
698+
}
699+
const body = document.body;
698700
const lbImg = lb.querySelector('.mdx-lb-img');
699701
const btnClose = lb.querySelector('.mdx-close');
700702
const btnPrev = lb.querySelector('.mdx-lb-prev');
701703
const btnNext = lb.querySelector('.mdx-lb-next');
702704

703-
let currentGroup = null;
704-
let currentIndex = -1;
705-
let groups = {};
706-
707-
document.querySelectorAll('#screens .screen').forEach(sc => {
708-
const group = sc.getAttribute('data-group') || 'g';
709-
const imgs = Array.from(sc.querySelectorAll('.mdx-track img')).map(img => img.getAttribute('src'));
710-
groups[group] = imgs;
711-
sc.querySelectorAll('.mdx-track img').forEach((img, idx) => {
712-
img.addEventListener('click', () => openLB(group, idx));
713-
});
714-
const track = sc.querySelector('.mdx-track');
715-
sc.querySelector('.mdx-prev').addEventListener('click', () => track.scrollBy({left:-track.clientWidth, behavior:'smooth'}));
716-
sc.querySelector('.mdx-next').addEventListener('click', () => track.scrollBy({left: track.clientWidth, behavior:'smooth'}));
717-
});
718-
719-
function openLB(group, index){
720-
currentGroup = group;
721-
currentIndex = index;
722-
const src = groups[group][index];
723-
lbImg.setAttribute('src', src);
724-
lb.removeAttribute('hidden');
725-
lb.classList.add('open');
726-
body.classList.add('mdx-no-scroll');
727-
}
728-
function closeLB(){
729-
lb.classList.remove('open');
730-
lb.setAttribute('hidden','');
731-
body.classList.remove('mdx-no-scroll');
732-
}
733-
function step(delta){
734-
if(currentGroup==null) return;
735-
const arr = groups[currentGroup];
736-
currentIndex = (currentIndex + delta + arr.length) % arr.length;
737-
lbImg.setAttribute('src', arr[currentIndex]);
738-
}
739-
740-
btnClose.addEventListener('click', closeLB);
741-
btnPrev.addEventListener('click', () => step(-1));
742-
btnNext.addEventListener('click', () => step(1));
743-
lb.addEventListener('click', (e) => { if(e.target === lb) closeLB(); });
744-
document.addEventListener('keydown', (e) => {
745-
if(!lb.classList.contains('open')) return;
746-
if(e.key === 'Escape') closeLB();
747-
if(e.key === 'ArrowLeft') step(-1);
748-
if(e.key === 'ArrowRight') step(1);
749-
});
705+
// If previous handlers exist, remove by cloning (simple reset)
706+
const lbClone = lb.cloneNode(true);
707+
lb.replaceWith(lbClone);
750708
})();

0 commit comments

Comments
 (0)