PageSourceSearch

https://spacewaves2.net/template/default/js/privacy-consent.js

js spacewaves2.net collected 2026-09-26 03:39:24 UTC 5,508 bytes, 118 lines download raw bytes

1'use strict';
2
3(function () {
4    var copy = {
5        en: {
6            title: 'Your privacy choices',
7            text: 'We use Google Analytics and may use Google AdSense cookies to measure traffic and support this site. You can accept or reject optional cookies.',
8            accept: 'Accept',
9            reject: 'Reject',
10            privacy: 'Privacy Policy'
11        },
12        'pt-br': {
13            title: 'Suas escolhas de privacidade',
14            text: 'Usamos o Google Analytics e podemos usar cookies do Google AdSense para medir o tráfego e manter este site. Você pode aceitar ou rejeitar cookies opcionais.',
15            accept: 'Aceitar',
16            reject: 'Rejeitar',
17            privacy: 'Política de Privacidade'
18        },
19        nl: {
20            title: 'Uw privacykeuzes',
21            text: 'We gebruiken Google Analytics en mogelijk Google AdSense-cookies om verkeer te meten en deze site te ondersteunen. U kunt optionele cookies accepteren of weigeren.',
22            accept: 'Accepteren',
23            reject: 'Weigeren',
24            privacy: 'Privacybeleid'
25        },
26        sv: {
27            title: 'Dina integritetsval',
28            text: 'Vi använder Google Analytics och kan använda Google AdSense-cookies för att mäta trafik och stödja webbplatsen. Du kan godkänna eller avvisa valfria cookies.',
29            accept: 'Godkänn',
30            reject: 'Avvisa',
31            privacy: 'Integritetspolicy'
32        },
33        es: {
34            title: 'Tus opciones de privacidad',
35            text: 'Usamos Google Analytics y podemos usar cookies de Google AdSense para medir el tráfico y mantener este sitio. Puedes aceptar o rechazar las cookies opcionales.',
36            accept: 'Aceptar',
37            reject: 'Rechazar',
38            privacy: 'Política de Privacidad'
39        },
40        fr: {
41            title: 'Vos choix de confidentialité',
42            text: 'Nous utilisons Google Analytics et pouvons utiliser des cookies Google AdSense pour mesurer le trafic et financer ce site. Vous pouvez accepter ou refuser les cookies facultatifs.',
43            accept: 'Accepter',
44            reject: 'Refuser',
45            privacy: 'Politique de confidentialité'
46        },
47        de: {
48            title: 'Ihre Datenschutzauswahl',
49            text: 'Wir verwenden Google Analytics und möglicherweise Google-AdSense-Cookies, um Zugriffe zu messen und diese Website zu finanzieren. Sie können optionale Cookies akzeptieren oder ablehnen.',
50            accept: 'Akzeptieren',
51            reject: 'Ablehnen',
52            privacy: 'Datenschutzerklärung'
53        }
54    };
55
56    var lang = (document.documentElement.lang || 'en').toLowerCase();
57    var strings = copy[lang] || copy[lang.split('-')[0]] || copy.en;
58    var banner;
59
60    function updateConsent(value) {
61        var granted = value === 'granted';
62        if (window.gtag) {
63            window.gtag('consent', 'update', {
64                ad_storage: granted ? 'granted' : 'denied',
65                analytics_storage: granted ? 'granted' : 'denied',
66                ad_user_data: granted ? 'granted' : 'denied',
67                ad_personalization: granted ? 'granted' : 'denied'
68            });
69        }
70        try { window.localStorage.setItem('spacewaves_consent_v1', value); } catch (e) {}
71        window.__spacewavesConsentSaved = true;
72        if (banner) banner.hidden = true;
73    }
74
75    function showBanner() {
76        if (banner) banner.hidden = false;
77    }
78
79    function buildBanner() {
80        banner = document.createElement('section');
81        banner.className = 'privacy-consent';
82        banner.id = 'privacy-consent';
83        banner.setAttribute('role', 'dialog');
84        banner.setAttribute('aria-modal', 'false');
85        banner.setAttribute('aria-labelledby', 'privacy-consent-title');
86        banner.innerHTML =
87            '<h2 class="privacy-consent__title" id="privacy-consent-title"></h2>' +
88            '<p class="privacy-consent__text"><span></span> <a href="/privacy-policy/" target="_blank" rel="noopener noreferrer"></a></p>' +
89            '<div class="privacy-consent__actions">' +
90                '<button class="privacy-consent__button" type="button" data-consent="denied"></button>' +
91                '<button class="privacy-consent__button privacy-consent__button--accept" type="button" data-consent="granted"></button>' +
92            '</div>';
93        banner.querySelector('.privacy-consent__title').textContent = strings.title;
94        banner.querySelector('.privacy-consent__text span').textContent = strings.text;
95        banner.querySelector('.privacy-consent__text a').textContent = strings.privacy;
96        banner.querySelector('[data-consent="denied"]').textContent = strings.reject;
97        banner.querySelector('[data-consent="granted"]').textContent = strings.accept;
98        banner.addEventListener('click', function (event) {
99            var button = event.target.closest('[data-consent]');
100            if (button) updateConsent(button.getAttribute('data-consent'));
101        });
102        document.body.appendChild(banner);
103        banner.hidden = !!window.__spacewavesConsentSaved;
104    }
105
106    document.addEventListener('click', function (event) {
107        if (event.target.closest('[data-open-privacy-settings]')) {
108            event.preventDefault();
109            showBanner();
110        }
111    });
112
113    if (document.readyState === 'loading') {
114        document.addEventListener('DOMContentLoaded', buildBanner);
115    } else {
116        buildBanner();
117    }
118})();

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.