hackertours-theme/assets/js/cookieconsent.js
2025-03-29 13:26:39 +01:00

39 lines
1.2 KiB
JavaScript

/**
* @file
* A JavaScript file for cookie consent.
*/
(function () {
const cookiebanner = document.querySelector('.cookieconsent');
const cookieconsent = localStorage.getItem('cookieconsent');
if (cookiebanner && !cookieconsent) {
cookiebanner.hidden = false;
cookiebanner.dataset.cookieconsentopen = true;
}
const cookie_buttons = document.querySelectorAll('button[data-consent]');
cookie_buttons.forEach(function (button) {
button.addEventListener('click', function () {
if (button.dataset.consent === 'true') {
localStorage.setItem('cookieconsent', 'accept');
} else {
localStorage.setItem('cookieconsent', 'decline');
}
delete cookiebanner.dataset.cookieconsentopen;
cookiebanner.hidden = true;
});
});
const clear_buttons = document.querySelectorAll('.clearcookieconsent');
clear_buttons.forEach(function (button) {
button.addEventListener('click', function (e) {
e.preventDefault();
if (cookiebanner && cookieconsent) {
localStorage.removeItem('cookieconsent');
cookiebanner.hidden = false;
cookiebanner.dataset.cookieconsentopen = true;
}
});
});
})();