Skip to content

Commit

Permalink
Update cookies.js
Browse files Browse the repository at this point in the history
  • Loading branch information
pietrolama authored Dec 25, 2024
1 parent 0424ff4 commit b5358cf
Showing 1 changed file with 46 additions and 36 deletions.
82 changes: 46 additions & 36 deletions js/cookies.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,62 @@
document.addEventListener('DOMContentLoaded', function () {
console.log("Caricamento cookies.js avviato...");

// Crea il banner dinamicamente
function createCookieBanner() {
const banner = document.createElement('div');
banner.id = 'cookie-banner';
const banner = document.createElement('div');
banner.id = 'cookie-banner';
banner.style.cssText = `
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #000;
color: #fff;
padding: 15px;
font-size: 14px;
z-index: 1000;
display: flex;
justify-content: space-between;
align-items: center;
`;

banner.innerHTML = `
<span class="cookie-text">Questo sito utilizza cookie per migliorare la tua esperienza. Continuando accetti l'uso dei cookie.</span>
<div class="cookie-buttons">
<button id="accept-cookies" class="cookie-btn">Accetta</button>
<button id="reject-cookies" class="cookie-btn">Rifiuta</button>
<button id="privacy-link" class="cookie-btn">Privacy</button>
</div>
`;

document.body.appendChild(banner);

// Aggiungi un listener per il pulsante Privacy
document.getElementById('privacy-link').addEventListener('click', function () {
window.location.href = '/privacy.html';
});
}
banner.innerHTML = `
<span>
Questo sito utilizza cookie essenziali per login e salvataggio dati. Altri cookie per analisi richiedono il tuo consenso.
</span>
<div>
<button id="accept-cookies">Accetta</button>
<button id="reject-cookies">Rifiuta</button>
<a href="/privacy.html">Privacy</a>
</div>
`;

document.body.appendChild(banner);
}

// Funzione per impostare un cookie
function setCookie(name, value, days) {
const expires = new Date();
expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
document.cookie = `${name}=${value}; path=/; domain=.pizzalab.pizza; expires=${expires.toUTCString()}; Secure; SameSite=Lax`;
}

// Funzione per ottenere un cookie
function getCookie(name) {
const cookies = document.cookie.split('; ');
for (let i = 0; i < cookies.length; i++) {
const [key, value] = cookies[i].split('=');
for (const cookie of cookies) {
const [key, value] = cookie.split('=');
if (key === name) return value;
}
return null;
}

// Funzione per caricare Google Analytics
function loadGoogleSignIn() {
console.log("Caricamento Google Sign-In...");
const script = document.createElement('script');
script.src = "https://apis.google.com/js/platform.js";
script.async = true;
script.onload = () => console.log("Google Sign-In caricato.");
document.head.appendChild(script);
}

function loadGoogleAnalytics() {
console.log("Caricamento Google Analytics...");
(function (i, s, o, g, r, a, m) {
Expand All @@ -57,39 +72,34 @@ document.addEventListener('DOMContentLoaded', function () {
})(window, document, 'script', 0, 'ga');
ga('create', 'G-1CV0W5QPKV', 'auto');
ga('send', 'pageview');
console.log("Google Analytics caricato.");
}

// Funzione principale per la gestione dei cookie
function manageCookies() {
const consent = getCookie('cookieconsent_status');

if (consent === 'allow') {
console.log("Cookie accettati. Caricamento servizi...");
loadGoogleSignIn();
loadGoogleAnalytics();
} else {
console.log("Cookie non accettati. Mostra il banner.");
createCookieBanner();
}
}

// Gestione dei clic sui pulsanti
document.addEventListener('click', function (event) {
if (event.target.id === 'accept-cookies') {
console.log("Clic su 'Accetta' rilevato.");
setCookie('cookieconsent_status', 'allow', 365); // Imposta il consenso
document.getElementById('cookie-banner').remove(); // Rimuovi il banner
loadGoogleAnalytics(); // Carica i servizi
setCookie('cookieconsent_status', 'allow', 365);
document.getElementById('cookie-banner').remove();
loadGoogleSignIn();
loadGoogleAnalytics();
}

if (event.target.id === 'reject-cookies') {
console.log("Clic su 'Rifiuta' rilevato.");
setCookie('cookieconsent_status', 'dismiss', 365); // Registra il rifiuto
document.getElementById('cookie-banner').remove(); // Rimuovi il banner
setCookie('cookieconsent_status', 'dismiss', 365);
document.getElementById('cookie-banner').remove();
}
});

// Esegui la gestione dei cookie all'avvio
manageCookies();

console.log("Caricamento cookies.js completato.");
Expand Down

0 comments on commit b5358cf

Please sign in to comment.