PageSourceSearch

https://girlsgunsandghouls.com/js/main.min.js

js girlsgunsandghouls.com collected 2026-10-02 13:22:02 UTC 4,860 bytes, 158 lines download raw bytes

1document.addEventListener('DOMContentLoaded', () => {
2    new Swiper('.banners-swiper', {
3        loop: true,
4        speed: 400,
5        slidesPerView: 1,
6        preloadImages: false,
7        lazyPreloadPrevNext: 1,
8        watchSlidesProgress: true,
9
10        pagination: {
11            el: '.swiper-pagination',
12            clickable: true,
13        },
14
15        navigation: {
16            nextEl: '.swiper-button-next',
17            prevEl: '.swiper-button-prev',
18        },
19    });
20});
21
22document.querySelectorAll('.dropdown').forEach((dd) => {
23    dd.addEventListener('click', (e) => {
24        if (e.target.closest('.dropdown-lang a')) return;
25
26        e.preventDefault();
27        e.stopPropagation();
28        dd.classList.toggle('is-open');
29    });
30});
31
32document.addEventListener('click', () => {
33    document.querySelectorAll('.dropdown.is-open')
34        .forEach((dd) => dd.classList.remove('is-open'));
35});
36
37document.addEventListener('keydown', (e) => {
38    if (e.key !== 'Escape') return;
39    document.querySelectorAll('.dropdown.is-open')
40        .forEach((dd) => dd.classList.remove('is-open'));
41});
42
43document.addEventListener('DOMContentLoaded', () => {
44    const burger = document.querySelector('.vavada-header__burger');
45    const menu = document.querySelector('.vavada-header__mobile-menu');
46    const closeBtn = document.querySelector('.vavada-header__mobile-menu-header_close');
47    const closeSecondBtns = document.querySelectorAll('.vavada-header__mobile-menu-navigation-link');
48
49    if (!burger || !menu || !closeBtn) return;
50
51    const lockScroll = () => document.body.classList.add('no-scroll');
52    const unlockScroll = () => document.body.classList.remove('no-scroll');
53
54    const openMenu = () => {
55        menu.classList.add('is-open');
56        lockScroll();
57    };
58
59    const closeMenu = () => {
60        menu.classList.remove('is-open');
61        unlockScroll();
62    };
63
64    burger.addEventListener('click', openMenu);
65    closeBtn.addEventListener('click', closeMenu);
66    closeSecondBtns.forEach(btn => {
67        btn.addEventListener('click', closeMenu);
68    });
69    document.addEventListener('keydown', (e) => {
70        if (e.key === 'Escape') closeMenu();
71    });
72
73    document.addEventListener('click', (e) => {
74        const target = e.target;
75        if (
76            menu.classList.contains('is-open') &&
77            !menu.contains(target) &&
78            !burger.contains(target)
79        ) {
80            closeMenu();
81        }
82    });
83});
84
85
86document.addEventListener('DOMContentLoaded', () => {
87    const trigger = document.querySelector('.vavada-games-scheme__form-providers');
88    const holder = document.querySelector('.vavada-games-scheme__form-providers-holder');
89
90    if (!trigger || !holder) return;
91
92    trigger.addEventListener('click', (e) => {
93        e.preventDefault();
94        const isShown = holder.style.display === 'block';
95        holder.style.display = isShown ? 'none' : 'block';
96    });
97
98    document.addEventListener('click', (e) => {
99        if (!trigger.contains(e.target) && !holder.contains(e.target)) {
100            holder.style.display = 'none';
101        }
102    });
103});
104
105document.addEventListener('DOMContentLoaded', () => {
106    const popup = document.querySelector('.vavada-download');
107    const closeBtn = popup?.querySelector('.vavada-download__close');
108
109    if (!popup || !closeBtn) return;
110
111    const CLOSED_CLASS = 'vavada-download--closed';
112    const SHOW_CLOSE_AFTER_MS = 3000;
113    const SHOW_AFTER_SCROLL_PX = 120;
114
115    let shownOnce = false;
116    let closeTimerId = null;
117
118    const openPopup = () => {
119        if (shownOnce) return;
120        if (!popup.classList.contains(CLOSED_CLASS)) return;
121
122        popup.classList.remove(CLOSED_CLASS);
123        shownOnce = true;
124
125        closeBtn.classList.remove('is-visible');
126        if (closeTimerId) clearTimeout(closeTimerId);
127
128        closeTimerId = setTimeout(() => {
129            if (!popup.classList.contains(CLOSED_CLASS)) {
130                closeBtn.classList.add('is-visible');
131            }
132        }, SHOW_CLOSE_AFTER_MS);
133    };
134
135    const closePopup = () => {
136        popup.classList.add(CLOSED_CLASS);
137        closeBtn.classList.remove('is-visible');
138        if (closeTimerId) clearTimeout(closeTimerId);
139    };
140
141    const onScroll = () => {
142        if (window.scrollY >= SHOW_AFTER_SCROLL_PX) {
143            openPopup();
144            window.removeEventListener('scroll', onScroll);
145        }
146    };
147
148    window.addEventListener('scroll', onScroll, { passive: true });
149
150    closeBtn.addEventListener('click', (e) => {
151        e.preventDefault();
152        closePopup();
153    });
154
155    document.addEventListener('keydown', (e) => {
156        if (e.key === 'Escape') closePopup();
157    });
158});

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.