refactored cookies-consent to remove dependencies

master
Gustavo Luigi 2023-10-03 17:18:37 -03:00
parent 0e6faecba7
commit 49112c8209
3 changed files with 31 additions and 17 deletions

View File

@ -184,7 +184,7 @@
<p style="font-size: 13px;">
Diese Seite speichert Daten wie Cookies und verwendet ähnliche Technologien, um die wichtigen Funktionen unserer Website zu aktivieren, damit alles funktioniert, wenn du diese besuchst. Außerdem setzen wir optionale Cookies und verwenden ähnliche Technologien, um dich zu erkennen und deine Nutzung unsere Website zu analysieren, damit wir unsere Leistung verbessern und dich anhand deiner Online-Aktivitäten besser ansprechen können. Ohne deine Einwilligung setzen wir aber keine optionalen Cookies. In diesem Rahmen werden deine Daten auch in Ländern außerhalb des EWR verarbeitet, in denen Daten nicht in der gleichen Weise geschützt sind wie im EWR. Du kannst deine Zustimmung für die Zukunft widerrufen. Deine Cookie-Präferenzen kannst du über die Schaltfläche „Cookie-Einstellungen“ verwalten. Cookies zur Datenverarbeitung: Speicherung von und/oder Zugang zu Informationen, die auf einem Gerät gesichert sind, Optimierung und Personalisierung von Website-Funktionen sowie Messungen, Analyse und Verbesserung der Website, Einrichtung von Benutzerprofilen und Personalisierung von Werbung und Inhalten. Mehr Informationen finden Sie in unserer <a href="{{url('/datenschutz')}}" class="text-light">Datenschutzerklärung</a> . Sie können auch alle nicht erforderlichen Cookies ablehnen, wenn Sie mit den beschriebenen Datenverarbeitungen nicht einverstanden sind. Sie können auch <a href="#" class="text-light btn-cookies-consent" data-cookies="0">alle nicht essenziellen Cookies wiederrufen</a> , wenn Sie mit den beschriebenen Datenverarbeitungen nicht einverstanden sind.
</div>
<div class="col">
<div class="col mt-1">
<button type="button" class="btn btn-light btn-cookies-consent" data-cookies="1">Alle Zulassen</button>
<button type="button" class="btn btn-link btn-sm text-light" data-bs-toggle="modal" data-bs-target="#modal-cookie-settings">Cookie-Einstelungen</button>
</div>

View File

@ -0,0 +1,30 @@
window.addEventListener("load", function () {
if (document.cookie.indexOf('cookies-consent') === -1) {
let cookieSettings = document.getElementById("cookie-settings");

cookieSettings.style.bottom = '0%';
setTimeout(() => { cookieSettings.style.transition = "bottom 1s"; cookieSettings.style.bottom = '0%'; }, 0);

document.querySelectorAll('.btn-cookies-consent').forEach(button => {
button.addEventListener('click', function (event) {
event.preventDefault();
let cookiesConsent = this.getAttribute('data-cookies');
if (cookiesConsent !== null) {
document.cookie = `cookies-consent=${cookiesConsent};max-age=${365 * 24 * 60 * 60}`;
} else {
if (document.getElementById('functional-cookies').checked && document.getElementById('analytics-cookies').checked && document.getElementById('profile-cookies').checked) {
document.cookie = 'cookies-consent=1;max-age=' + 365 * 24 * 60 * 60;
} else {
document.cookie = 'cookies-consent=0;max-age=' + 365 * 24 * 60 * 60;
}
}

let modal = new bootstrap.Modal(document.getElementById('modal-cookie-settings'));
modal.hide();

cookieSettings.style.transition = "bottom 1s";
cookieSettings.style.bottom = '-100%';
});
});
}
});

View File

@ -1,16 +0,0 @@
$(window).on('load', function () {
if (Cookies.get('cookies-consent') == undefined) {
$("#cookie-settings").animate({ bottom: '0%' }, 1000);
$('.btn-cookies-consent').click(function (event) {
event.preventDefault();
let cookiesConsent = $(this).attr('data-cookies');
if (cookiesConsent != undefined) Cookies.set('cookies-consent', cookiesConsent, { expires: 365 });
else {
if ($('#functional-cookies').prop('checked') && $('#analytics-cookies').prop('checked') && $('#profile-cookies').prop('checked')) Cookies.set('cookies-consent', 1, { expires: 365 });
else Cookies.set('cookies-consent', 0, { expires: 365 });
}
$('#modal-cookie-settings').modal('hide');
$("#cookie-settings").animate({ bottom: '-100%' }, 1000);
});
}
});