Use localstorage for cookiconsent response instead of setting a cookie.

This commit is contained in:
Fredrik Jonsson 2021-12-13 10:50:23 +01:00
commit 767119d014

View file

@ -3,39 +3,29 @@
'use strict';
if (typeof Cookies !== 'undefined') {
const cookieconsent = document.querySelector('.cookieconsent');
const cookiebanner = document.querySelector('.cookieconsent');
const cookieconsent = localStorage.getItem('cookieconsent');
if (typeof Cookies.get('cookieconsent') === 'undefined' && cookieconsent) {
cookieconsent.classList.remove('hidden');
cookieconsent.classList.add('js-cookieconsent-open');
}
const cookie_buttons = Array.prototype.slice.call(
document.querySelectorAll('button[data-consent]')
);
const sitedomain = window.location.hostname.split('.').slice(-2);
const cookiedomain = sitedomain.join('.');
let cookie_options = [];
cookie_options['domain'] = cookiedomain;
cookie_options['sameSite'] = 'strict';
cookie_options['expires'] = 365;
if (window.location.protocol === 'https:') {
cookie_options['secure'] = true;
}
cookie_buttons.forEach(function (button) {
button.addEventListener('click', function () {
if (button.getAttribute('data-consent') === 'true') {
Cookies.set('cookieconsent', 'accept', cookie_options);
}
else {
Cookies.set('cookieconsent', 'decline', cookie_options);
}
cookieconsent.classList.remove('js-cookieconsent-open');
cookieconsent.classList.add('hidden');
});
});
if (cookiebanner && !cookieconsent) {
cookiebanner.classList.remove('hidden');
cookiebanner.classList.add('js-cookieconsent-open');
}
const cookie_buttons = Array.prototype.slice.call(
document.querySelectorAll('button[data-consent]')
);
cookie_buttons.forEach(function (button) {
button.addEventListener('click', function () {
if (button.getAttribute('data-consent') === 'true') {
localStorage.setItem('cookieconsent', 'accept');
}
else {
localStorage.setItem('cookieconsent', 'decline');
}
cookiebanner.classList.remove('js-cookieconsent-open');
cookiebanner.classList.add('hidden');
});
});
})();