Files
hugo_cookie_consent/assets/js/cookie-consent.js
T
2026-06-14 11:14:34 +02:00

51 lines
1.5 KiB
JavaScript

(function () {
var KEY = 'cookie_consent';
var banner = document.getElementById('cookie-banner');
if (!banner) return;
updateStatus();
var consent = localStorage.getItem(KEY);
if (!consent) banner.style.display = 'flex';
function dismiss() {
banner.classList.add('fade-out');
setTimeout(function () { banner.style.display = 'none'; }, 500);
}
function updateStatus() {
var el = document.getElementById('cookie-status');
if (!el) return;
var consent = localStorage.getItem(KEY);
el.textContent = consent === 'accepted' ? el.dataset.accepted
: consent === 'declined' ? el.dataset.declined
: el.dataset.none;
}
document.getElementById('cookie-accept').onclick = function () {
localStorage.setItem(KEY, 'accepted');
updateStatus();
dismiss();
window.dispatchEvent(new Event('cookieAccepted'));
};
document.getElementById('cookie-decline').onclick = function () {
localStorage.setItem(KEY, 'declined');
updateStatus();
dismiss();
};
window.reopenCookieBanner = function () {
localStorage.removeItem(KEY);
updateStatus();
banner.classList.remove('fade-out');
banner.style.display = 'flex';
};
window.addEventListener('cookieAccepted', function () {
if (typeof window.trackVisit === 'function') window.trackVisit();
});
if (localStorage.getItem(KEY) === 'accepted') {
if (typeof window.trackVisit === 'function') window.trackVisit();
}
})();