Die Anwendung, die zur Sicherstellung der DSGVO/CCPA-CPRA-Konformität dieser Website verwendet wird, erfasst Ihre IP-Adresse und E-Mail-Adresse, um die Daten zu verarbeiten. Weitere Informationen finden Sie in der
Datenschutzerklärung.
Datenberichtigung
Sie können den untenstehenden Link verwenden, um Ihre Kontoinformationen zu aktualisieren, wenn diese nicht korrekt sind.
-
Datenportabilität
Über die untenstehenden Links können Sie alle Daten herunterladen, die wir speichern und für ein besseres Erlebnis in unserem Shop verwenden.
-
-
-
Zugriff auf personenbezogene Daten
Über den untenstehenden Link können Sie einen Bericht anfordern, der alle persönlichen Daten enthält, die wir für Sie speichern.
-
Recht auf Vergessenwerden
Nutzen Sie diese Option, wenn Sie Ihre persönlichen und sonstigen Daten aus unserem Shop entfernen möchten. Beachten Sie, dass durch diesen Vorgang Ihr Konto gelöscht wird, sodass Sie nicht mehr darauf zugreifen oder es verwenden können.
-
`;
var gdprSendRequest = function(callback) {
fetch('https://www.cloudflare.com/cdn-cgi/trace', {
method: 'GET' ,
headers: {
'Content-Type': 'text/plain',
},
})
.then(resp => resp.text())
.then(resp => {
if (!resp.error) {
let ipInfo = resp;
let formData = new FormData();
formData.append('shop', Shopify.shop);
formData.append('email', email);
formData.append('type', type);
formData.append('sourceOfRequest', 1);
formData.append('ipAddress', ipInfo);
formData.append('consentGiven', consentGiven);
formData.append('page', 'gdpr');
formData.append('lang', Shopify.locale ? Shopify.locale : '');
formData.append('gtranslateLang', isenseGDPR.Cookies.get('googtrans') ? isenseGDPR.Cookies.get('googtrans') : '');
fetch('https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest', {
method: 'POST',
body: formData
})
.then(resp => resp.json())
.then(resp => {
if (!resp.error) {
gdprSlideUpAll();
if (resp.message.length) {
alert(resp.message);
} else {
alert('Your request has been submitted successfully. Please check your email for more information.');
}
} else {
alert(resp.message);
}
if (typeof callback == 'function') {
callback(resp);
}
})
.catch(error => {
alert(error.message);
})
}
else {
alert(resp.message);
}
})
}
//Append modal to body, because otherwise it will not stay centered(even if position is fixed)
document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent);
document.addEventListener("DOMContentLoaded", function() {
// When the user clicks on (x), close the modal
document.querySelector('.data-verification-close').addEventListener('click', function(e) {
e.preventDefault();
closeVerificationModal();
});
document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) {
e.preventDefault();
// Detect a href's click, because it is overwritten.
if(e.target.tagName === "A") {
window.open(e.target.href, '_blank');
return;
}
document.querySelector('#data-verification-icon').classList.add("clicked");
setTimeout(()=>{
toggleFadeiSense(document.querySelector("#data-verification-modal"), false);
document.querySelector('#data-verification-background .loading').style.display = 'inline-block';
consentGiven = true;
gdprSendRequest(function(resp) {
consentGiven = false;
closeVerificationModal();
});
}, 400);
});
});
function openVerificationModal(){
toggleFadeiSense(document.querySelector("#data-verification-modal"), true);
toggleFadeiSense(document.querySelector('#data-verification-background'), true);
document.querySelector('#data-verification-container input').focus();
}
function closeVerificationModal(){
toggleFadeiSense(document.querySelector("#data-verification-background"), false);
document.querySelector('#data-verification-icon').classList.remove("clicked");
document.querySelector('#data-verification-background .loading').style.display = 'none';
// Focus the button of the request type that was picked
let gdprForms = document.querySelectorAll('.form-gdpr-request');
gdprForms.forEach(function(gdprForm) {
if (gdprForm.style.display !== "none") {
let gdprFormLinks = gdprForm.previousElementSibling.querySelectorAll('li');
if (gdprFormLinks.length === 1) {
gdprFormLinks[0].querySelector('button').focus();
} else {
// Focus logic for Data Portability requests
gdprFormLinks = gdprForm.parentElement;
if (gdprFormLinks.nodeName === 'LI') {
gdprFormLinks.querySelector('button').focus();
}
}
}
});
}
document.querySelector('#btn-gdpr-edit-account-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-edit-account-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-edit-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-edit-account-request-email').value;
type = 'customer/edit';
openVerificationModal();
});
document.querySelector('#btn-gdpr-requests-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-requests-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-requests-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-requests-request-email').value;
type = 'customer/requests';
openVerificationModal();
});
document.querySelector('#btn-gdpr-personal-information-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-personal-information-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-personal-information-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-personal-information-request-email').value;
type = 'customer/personal_info';
openVerificationModal();
});
document.querySelector('#btn-gdpr-orders-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-orders-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-orders-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-orders-request-email').value;
type = 'customer/orders';
openVerificationModal();
});
document.querySelector('#btn-gdpr-personal-data-report-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-personal-data-report-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-personal-data-report-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-personal-data-report-request-email').value;
type = 'customer/report';
openVerificationModal();
});
document.querySelector('#btn-gdpr-delete-account-request').addEventListener('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
slideDown(document.querySelector('#form-gdpr-delete-account-request'), 200);
this.setAttribute("aria-expanded", "true");
});
document.querySelector('#form-gdpr-delete-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-gdpr-delete-account-request-email').value;
type = 'customer/delete';
openVerificationModal();
});
// Keyboard navigation in data verification modal for accesibility
document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) {
let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab";
let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape";
let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space";
let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter";
let dataVerificationCloseButton = document.querySelector('.data-verification-close');
let dataVerificationCheckbox = document.querySelector('#data-verification-container input');
let dataVerificationLink = document.querySelector('#data-verification-container a');
// This function saves us the trouble of calling e.preventDefault() after every focusing
let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();}
if (isEscapePressed) {
if (dataVerificationCloseButton) {
dataVerificationCloseButton.click();
}
}
if (isSpacePressed || isEnterPressed) {
if (document.activeElement === dataVerificationCheckbox) {
document.querySelector('#data-verification-container #data-verification-icon').click();
}
}
if (isTabPressed) {
if (e.shiftKey) {
if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) {
executeFocus(dataVerificationLink);
}
} else {
if (dataVerificationLink && document.activeElement === dataVerificationLink) {
executeFocus(dataVerificationCloseButton);
}
}
}
});