PageSourceSearch

https://wellbet.ru/wp-content/themes/wellbet2025/assets/js/modules/modals.js?v=

js wellbet.ru collected 2026-10-09 05:06:26 UTC 2,230 bytes, 57 lines download raw bytes

1export function modals(overlay) {
2    const modalTriggers = document.querySelectorAll('[data-modal]');
3    modalTriggers.forEach(btn => {
4        btn.addEventListener('click', e => {
5            e.preventDefault();
6            const modalId = btn.getAttribute('data-modal');
7            const modal = document.getElementById(modalId);
8            modal.style.display = 'block';
9            overlay.style.display = 'block';
10            document.querySelector('body').classList.add('no-scroll');
11            if (modal.classList.contains('contest-popup')) {
12                const marqueeLine = modal.querySelector('.marquee-wrapper');
13                if (marqueeLine) {
14                    const marqueeInner = marqueeLine.querySelector('.marquee-wrapper__inner');
15                    if (!marqueeInner) return;
16                    function bonusMarquee() {
17                        const marqueeWidth = marqueeLine.offsetWidth;
18                        let innerWidth = marqueeInner.scrollWidth;
19            
20                        while (innerWidth < marqueeWidth * 2.5) {
21                            marqueeInner.innerHTML += marqueeInner.innerHTML;
22                            innerWidth = marqueeInner.scrollWidth;
23                        }
24                    }
25                    bonusMarquee();
26                }
27            }
28            setTimeout(() => {
29                modal.style.opacity = '1';
30                overlay.style.opacity = '1';
31                overlay.style.zIndex = '1000';
32            }, (50))
33        });
34    });
35
36    document.addEventListener('click', function (e) {
37        const closeBtn = e.target.closest('.modal .cancel-popup');
38        if (!closeBtn) return;
39
40        const modal = closeBtn.closest('.modal');
41        if (!modal) return;
42
43        modal.style.opacity = '0';
44        overlay.style.opacity = '0';
45        document.querySelector('body').classList.remove('no-scroll');
46
47        if (modal.classList.contains('contest-popup')) {
48            document.querySelector('.special-contest')?.remove();
49        }
50
51        setTimeout(() => {
52            modal.style.display = 'none';
53            overlay.style.display = 'none';
54            overlay.style.zIndex = '100';
55        }, 200);
56    });
57}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.