Add GDPR cookie-consent banner (Consent Mode v2)
- consent.js: self-contained, non-blocking bottom banner in EN/MK/SI, remembers the choice in localStorage, links to the per-language cookie policy. Accept -> gtag consent 'update' granted; Decline stays denied. - Head GA snippet restores a returning visitor's prior "granted" choice before the first hit; loads /consent.js on every page. - Re-openable via window.msosOpenConsent() for a "manage cookies" link. Verified in-browser: shows for new visitors, Accept grants + remembers, reload keeps consent without re-prompting, Slovene text + /si/ policy link. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
9a6d2c335c
commit
f24fc704d6
203 files changed
+1100
No files matched your search
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Več kot 200 študentov se je zbralo v Mariboru in s športom zbralo 1.000 € za podporo družinam, ki jih je prizadela tragedija v Kočanih.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/humanitarian-tournament-in-maribor/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/humanitarian-tournament-in-maribor/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="8. februarja 2025 so se makedonski študenti v Ljubljani zbrali na mirnem javnem dogodku v počastitev spomina na Frosino Kulakovo, ki je le nekaj dni prej…">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/in-memory-of-frosina-kulakova/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/in-memory-of-frosina-kulakova/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="21. marca 2025 se je na Kongresnem trgu v Ljubljani zbralo več kot 600 ljudi na mirnem javnem zboru v počastitev žrtev tragičnega požara v Kočanih.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/in-memory-of-the-kochani-victims/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/in-memory-of-the-kochani-victims/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Dogodki, projekti in trenutki, ki povezujejo makedonsko študentsko skupnost v Sloveniji.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Od ideje do zabave s 500 študenti, tako se je začela naša zgodba!">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/macedonian-student-night-in-ljubljana/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/macedonian-student-night-in-ljubljana/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Preko iskrenih izkušenj iz prve roke so bodoči študenti prejeli podporo za prvi korak v njihov novi dom.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/meet-student-slovenia-2023/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/meet-student-slovenia-2023/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Ko se študentske zgodbe spremenijo v prvi korak proti novemu domu.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/meet-student-slovenia-2024/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/meet-student-slovenia-2024/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Ko izpiti postanejo lažji ob sobotni jutranji kavi, bureku in dobri družbi pred CTK!">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/morning-coffee-in-front-of-ctk/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/morning-coffee-in-front-of-ctk/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Slikanje, vino in glasba so v Gorici združili študente ob praznovanju dneva žena in prvem dogodku MŠOS Nova Gorica.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/paint-and-wine-at-sunset/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/paint-and-wine-at-sunset/">
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied',
|
||||
analytics_storage: 'denied', wait_for_update: 500
|
||||
});
|
||||
// Restore a returning visitor's prior choice before the first hit.
|
||||
try { if (localStorage.getItem('msos-consent') === 'granted') {
|
||||
gtag('consent', 'update', { ad_storage:'granted', ad_user_data:'granted',
|
||||
ad_personalization:'granted', analytics_storage:'granted' }); } } catch(e){}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'G-WVYV807VSS');
|
||||
</script>
|
||||
<script src="/consent.js" defer></script>
|
||||
<meta name="description" content="Od Ljubljane do Maribora so makedonski študenti napolnili kavarne z navijaškimi vzkliki, zastavami in smehom med gledanjem rokometne reprezentance.">
|
||||
<link rel="canonical" href="https://msosorg.com/si/projects/watching-handball-together-in-slovenia/">
|
||||
<link rel="alternate" hreflang="en" href="https://msosorg.com/en/projects/watching-handball-together-in-slovenia/">
|
||||
|
||||
Reference in new issue
Block a user