Função Appisendrequest Resp e Spinner 1500ms Infinito Rodar 360deg
#form-appi-edit-account-request,
#form-appi-requests-request,
#form-appi-personal-information-request,
#form-appi-orders-request,
#form-appi-personal-data-report-request,
#form-appi-delete-account-request ,
#form-appi-do-not-sell-request {
display: none;
}
#appi_page button {
background-color: transparent;
border: 0;
border-bottom: 1px solid black;
padding: 0px;
}
/* Fundo do Modal */
#data-verification-background {
display: none;
position: fixed;
z-index: 1;
padding-top: calc(50vh - 83px);
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0,0.4);
opacity: unset;
z-index: 9999;
}
/* Conteúdo do Modal */
#data-verification-modal {
background-color: #fefefe;
margem: auto;
padding: 16px;
border: 1px solid #888;
width: 38%;
}
/* Botão de Fechar Modal */
.data-verification-close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
line-height: 17px;
background-color: transparent;
border: 0px;
padding: 0px;
}
.data-verification-close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
}
/* Texto da Caixa de Seleção */
#data-verification-container p{
display: inline-block;
acolchoamento: 0;
margem: 0;
altura-da-linha: 24px;
acolchoamento-esquerdo: 10px;
alinhamento-vertical: top;
largura: calc(100% - 45px);
}
#data-verification-container a, #data-verification-container a:hover{
text-decoration: underline!important;
cor: #4285f4;
}
#data-verification-container input {
opacity: 0;
largura: 0;
altura: 0;
margem: 0;
acolchoamento: 0;
}
/* Ícone da Caixa de Seleção */
#data-verification-icon {
cursor: pointer;
position: relative;
margem: auto;
largura: 18px;
altura: 18px;
-webkit-tap-highlight-color: transparent;
transform: translate3d(0, 0, 0);
margem-topo: 2px;
}
#data-verification-icon:before {
content: "";
posição: absolute;
top: -7px;
left: -7px;
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(34,50,84,0.03);
opacity: 0;
transition: opacity 0.2s ease;
}
#data-verification-icon svg {
position: relative;
z-index: 1;
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
stroke: #c8ccd4;
stroke-width: 1.5;
transform: translate3d(0, 0, 0);
transition: all 0.2s ease;
}
#data-verification-icon svg path {
stroke-dasharray: 60;
deslocamento-do-traço: 0;
}
#data-verification-icon svg polyline {
array-do-traço: 22;
deslocamento-do-traço: 66;
}
#data-verification-icon:hover:before {
opacidade: 1;
}
#data-verification-container:hover #data-verification-icon svg {
traço: #4285f4;
}
#data-verification-icon.clicked svg {
traço: #4285f4;
}
#data-verification-icon.clicked svg path {
deslocamento-do-traço: 60;
transição: tudo 0.3s linear;
}
#data-verification-icon.clicked svg polyline {
deslocamento-do-traço: 42;
transição: tudo 0.2s linear;
atraso-da-transição: 0.15s;
}
/* Design de acessibilidade */
#data-verification-icon:focus, .data-verification-close:focus, #data-verification-container input:focus ~ #data-verification-icon svg, #data-verification-container a:focus {
sombra-da-caixa: 0 0 0 3px rgba(21, 156, 228, 0.4);
transição: tudo 0.3s facilidade;
contorno: nenhum;
transform: scale(1.06);
}
#appi_page .list-unstyled li button {
cursor: pointer;
}
.show-isense {
transition: opacity 400ms !important;
}
.hide-isense {
opacity: 0 !important;
transition: 0.4s ease-out;
}
/* Alterações do Modal na resolução móvel */
@media only screen and (max-width: 600px) {
#data-verification-modal {
width: 90%;
}
}
/* Elemento de Carregamento */
.loading {
display: none;
top:50vh;
left:50vw;
position:fixed;
}
.loading:not(:required):after {
content: '';
display: block;
font-size: 10px;
width: 1em;
height: 1em;
margin-top: -0.5em;
-webkit-animation: spinner 1500ms infinito linear;
-moz-animation: spinner 1500ms infinito linear;
-ms-animation: spinner 1500ms infinito linear;
-o-animation: spinner 1500ms infinito linear;
animation: spinner 1500ms infinito linear;
border-radius: 0.5em;
-webkit-box-shadow: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;
box-shadow: rgba(255,255,255, 1) 1.5em 0 0 0, rgba(255,255,255, 1) 1.1em 1.1em 0 0, rgba(255,255,255, 1) 0 1.5em 0 0, rgba(255,255,255, 1) -1.1em 1.1em 0 0, rgba(255,255,255, 1) -1.5em 0 0 0, rgba(255,255,255, 1) -1.1em -1.1em 0 0, rgba(255,255,255, 1) 0 -1.5em 0 0, rgba(255,255,255, 1) 1.1em -1.1em 0 0;
}
/* Animação */
@-webkit-keyframes spinner {
0% {
-webkit-transform: rodar(0deg);
-moz-transform: rodar(0deg);
-ms-transform: rodar(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-moz-keyframes spinner {
0% {
-webkit-transform: rodar(0deg);
-moz-transform: rodar(0deg);
-ms-transform: rodar(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-o-keyframes spinner {
0% {
-webkit-transform: rodar(0deg);
-moz-transform: rodar(0deg);
-ms-transform: rodar(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spinner {
0% {
-webkit-transform: rodar(0deg);
-moz-transform: rodar(0deg);
-ms-transform: rodar(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
Quando envia um pedido de acesso ao titular dos dados (DSAR) através da página de conformidade, o nosso fornecedor de conformidade Consentmo processa apenas o endereço IP e o endereço de e-mail para gerir o pedido. Este processamento limitado de dados é realizado para proteger a sua privacidade enquanto garante uma gestão eficiente do pedido. Para mais detalhes, consulte a política de processamento de dados da Consentmo.
Correção de dados
Se os dados da sua conta estiverem incorretos, pode facilmente atualizar ou corrigir as informações usando o link abaixo. Esta funcionalidade garante que os seus dados pessoais estão sempre precisos e atualizados, permitindo-lhe utilizar os nossos serviços sem problemas.
Portabilidade de dados
Pode descarregar todos os dados que armazenamos e utilizamos para proporcionar uma melhor experiência na nossa loja usando o link abaixo. Isto permite-lhe gerir completamente as suas informações e, se necessário, transferi-las para outros serviços. Esta funcionalidade é especialmente útil ao verificar o histórico de encomendas e informações pessoais de produtos como malas e carteiras femininas.
Acesso a dados pessoais
Pode solicitar um relatório abrangente que inclui todas as informações pessoais que armazenamos usando o link abaixo. Responderemos a este pedido dentro de 30 dias. Isto permite-lhe compreender claramente como os seus dados estão a ser utilizados.
Recusa de venda de informações pessoais a terceiros
Se não concordar com a recolha ou venda dos seus dados pessoais a terceiros, pode enviar um pedido. Esta opção respeita as suas definições de privacidade e protege-o contra partilha indesejada de dados.
Direito a ser esquecido
Se desejar eliminar os seus dados pessoais e outros dados relacionados da nossa loja, utilize esta opção. Note que este processo eliminará completamente a sua conta, impedindo qualquer acesso ou uso futuro. Esta é uma funcionalidade importante para apagar completamente a sua pegada digital.
Direito à limitação do tratamento
特定の状況下で、お客様の個人データの処理を制限または一時的に停止するよう要求できます。この権利は、お客様のデータが不正確である場合や、処理に異議を唱える場合に特に重要です。サポートが必要な場合は、stiledonnabags@gmail.comまでご連絡ください。
Direito de oposição
ダイレクトマーケティングや正当な利益に基づく処理など、特定のタイプのデータ処理に対して異議を唱える権利があります。この権利は、お客様が望まない目的でデータが使用されるのを防ぐために提供されています。異議の申し立てについては、stiledonnabags@gmail.comまでご連絡ください。
Informações de contacto
Para questões relativas aos seus dados pessoais ou direitos de privacidade, contacte o nosso Encarregado de Proteção de Dados (DPO). Comprometemo-nos a responder às suas perguntas de forma rápida e atenciosa.
Email: stiledonnabags@gmail.com
Endereço: Via Testulla 149, 95122 Catania Catania, Italy
Direito de apresentar uma reclamação
Se estiver insatisfeito com a forma como processamos os seus dados, tem o direito de apresentar uma reclamação junto da autoridade nacional de proteção de dados. Os seus direitos são a nossa prioridade máxima e garantimos que as suas preocupações serão devidamente tratadas.
/* DESLIZAR PARA CIMA */
let slideUp = (target, duration=500) => {
target.style.transitionProperty = 'height, margin, padding';
target.style.transitionDuration = duration + 'ms';
target.style.boxSizing = 'border-box';
target.style.height = target.offsetHeight + 'px';
target.offsetHeight;
target.style.overflow = 'hidden';
target.style.height = 0;
target.style.paddingTop = 0;
target.style.paddingBottom = 0;
target.style.marginTop = 0;
target.style.marginBottom = 0;
window.setTimeout( () => {
target.style.display = 'none';
target.style.removeProperty('height');
target.style.removeProperty('padding-top');
target.style.removeProperty('padding-bottom');
target.style.removeProperty('margin-top');
target.style.removeProperty('margin-bottom');
target.style.removeProperty('overflow');
target.style.removeProperty('transition-duration');
target.style.removeProperty('transition-property');
}, duration);
}
/* DESLIZAR PARA BAIXO */
let slideDown = (target, duration=500) => {
setTimeout(function(){
target.style.removeProperty('display');
let display = window.getComputedStyle(target).display;
if (display === 'none') display = 'block';
target.style.display = display;
let height = target.offsetHeight;
target.style.overflow = 'hidden';
target.style.height = 0;
target.style.paddingTop = 0;
target.style.paddingBottom = 0;
target.style.marginTop = 0;
target.style.marginBottom = 0;
target.offsetHeight;
target.style.boxSizing = 'border-box';
target.style.transitionProperty = "height, margin, padding";
target.style.transitionDuration = duration + 'ms';
target.style.height = height + 'px';
target.style.removeProperty('padding-top');
target.style.removeProperty('padding-bottom');
target.style.removeProperty('margin-top');
target.style.removeProperty('margin-bottom');
window.setTimeout( () => {
target.style.removeProperty('height');
target.style.removeProperty('overflow');
target.style.removeProperty('transition-duration');
target.style.removeProperty('transition-property');
}, duration);
}, 100)
}
/* ALTERNAR */
var slideToggle = (target, duration = 500) => {
if (window.getComputedStyle(target).display === 'none') {
return slideDown(target, duration);
} else {
return slideUp(target, duration);
}
}
/* DESVANECER */
var toggleFadeiSense = (elem, show) => {
if (show) {
elem.style.display = "block";
setTimeout(function(){
elem.classList.add('show-isense');
elem.classList.remove('hide-isense');
},20)
} else {
elem.classList.remove('show-isense');
elem.classList.add('hide-isense');
setTimeout(() => {
elem.style.display = 'none';
}, 400)
}
}
var appiSlideUpAll = function() {
slideUp(document.querySelector('#form-appi-edit-account-request'), 100);
document.querySelector('#btn-appi-edit-account-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-requests-request'), 100);
document.querySelector('#btn-appi-requests-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-personal-information-request'), 100);
document.querySelector('#btn-appi-personal-information-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-orders-request'), 100);
document.querySelector('#btn-appi-orders-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-personal-data-report-request'), 100);
document.querySelector('#btn-appi-personal-data-report-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-do-not-sell-request'), 100);
document.querySelector('#btn-appi-do-not-sell-request').setAttribute("aria-expanded", "false");
slideUp(document.querySelector('#form-appi-delete-account-request'), 100);
document.querySelector('#btn-appi-delete-account-request').setAttribute("aria-expanded", "false");
document.querySelector('#appi_page button').setAttribute("aria-expanded", "false");
};
var email, type, consentGiven = false;
var verificationModalContent = '
Dou o meu consentimento para a recolha do meu email e endereço IP para efeitos de processamento deste pedido. Para mais informações consulte a Política de Privacidade & Termos de Serviço.
';
var isEmailValid = function(email) {
let regex = /^(([^()\[\]\\.,;:\s@"]+(\.[^()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (email == '' || email == undefined) {
return false;
} else {
return regex.test(email);
}
}
var appiSendRequest = 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();
if (type === 'customer/do-not-sell') {
isenseGDPR.Cookies.set('cookieconsent_preferences_disabled', 'analytics,marketing,functionality,', { expires: 365 });
isenseGDPR.Cookies.set('cookieconsent_status', 'accept_selected', { expires: 365 });
if (typeof window.Shopify.customerPrivacy !== 'undefined' && typeof window.Shopify.customerPrivacy.setTrackingConsent === 'function') {
window.Shopify.customerPrivacy.setTrackingConsent(
{
"sale_of_data": false,
},
() => { console.log('sale_of_data: false')}
);
} else {
console.log('A API de Privacidade do Cliente não está definida na página atual');
}
if (document.querySelector('.cc-window')) {
document.querySelector('.cc-window').style.display = 'none';
}
// redefinir texto do popup
document.querySelector('#appi-modal-container-text').innerHTML = 'Dou o meu consentimento para a recolha do meu email e endereço IP para efeitos de processamento deste pedido. Para mais informações consulte Política de Privacidade & Termos de Serviço.';
}
formData.append('shop', Shopify.shop);
formData.append('email', email);
formData.append('type', type);
formData.append('sourceOfRequest', 3);
formData.append('ipAddress', ipInfo);
formData.append('consentGiven', consentGiven);
formData.append('page', 'appi');
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', {
método: 'POST',
body: formData
})
.then(resp => resp.json())
.then(resp => {
if (!resp.error) {
appiSlideUpAll();
if (resp.message.length) {
alert(resp.message);
} else {
alert('O seu pedido foi enviado com sucesso. Por favor, verifique o seu email para mais informações.');
}
} else {
alert(resp.message);
}
if (typeof callback == 'function') {
callback(resp);
}
})
.catch(error => {
alert(error.message);
})
}
else {
alert(resp.message);
}
})
}
//Adicionar modal ao body, porque caso contrário não ficará centrado (mesmo que a posição seja fixa)
document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent);
document.addEventListener("DOMContentLoaded", function() {
let searchParams = new URLSearchParams(window.location.search);
let param = searchParams.get('id');
if(param) {
document.getElementById(param).scrollIntoView();
}
// Quando o utilizador clicar em (x), fechar o modal
document.querySelector('.data-verification-close').addEventListener('click', function(e) {
e.preventDefault();
closeVerificationModal();
// Focar o botão do tipo de pedido que foi selecionado
let appiForms = document.querySelectorAll('.form-appi-request');
appiForms.forEach(function(appiForm) {
if (appiForm.style.display !== "none") {
let appiFormLinks = appiForm.previousElementSibling.querySelectorAll('li');
if (appiFormLinks.length === 1) {
appiFormLinks[0].querySelector('button').focus();
}
}
});
});
document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) {
e.preventDefault();
// Detectar clique num href, porque está sobrescrito.
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;
appiSendRequest(function(resp) {
consentGiven = false;
closeVerificationModal();
});
}, 400);
});
});
function openVerificationModal(){
if(!isEmailValid(email)) {
alert('Email inválido');
return;
}
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';
// Focar o botão do tipo de pedido que foi selecionado
let appiForms = document.querySelectorAll('.form-appi-request');
appiForms.forEach(function(appiForm) {
if (appiForm.style.display !== "none") {
let appiFormLinks = appiForm.previousElementSibling.querySelectorAll('li');
if (appiFormLinks.length === 1) {
appiFormLinks[0].querySelector('button').focus();
} else {
// Lógica de foco para pedidos de Portabilidade de Dados
appiFormLinks = appiForm.parentElement;
if (appiFormLinks.nodeName === 'LI') {
appiFormLinks.querySelector('button').focus();
}
}
}
});
}
document.querySelector('#btn-appi-edit-account-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-edit-account-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-edit-account-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-edit-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-edit-account-request-email').value;
type = 'customer/edit';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-requests-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-requests-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-requests-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-requests-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-requests-request-email').value;
type = 'customer/requests';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-personal-information-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-personal-information-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-personal-information-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-personal-information-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-personal-information-request-email').value;
type = 'customer/personal_info';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-orders-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-orders-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-orders-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-orders-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-orders-request-email').value;
type = 'customer/orders';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-personal-data-report-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-personal-data-report-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-personal-data-report-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-personal-data-report-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-personal-data-report-request-email').value;
type = 'customer/report';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-do-not-sell-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-do-not-sell-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-do-not-sell-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-do-not-sell-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-do-not-sell-request-email').value;
type = 'customer/do-not-sell';
// Verificar se o cliente está ligado
if (__st.cid != undefined) {
document.querySelector('#appi-modal-container-text').innerHTML = 'Dou o meu consentimento para a recolha do meu email e endereço IP para efeitos de processamento deste pedido. Para mais informações consulte Política de Privacidade & Termos de Serviço.';
} else {
document.querySelector('#appi-modal-container-text').innerHTML = 'Dou o meu consentimento para a recolha do meu email e endereço IP para efeitos de processamento deste pedido. Para mais informações consulte Política de Privacidade & Termos de Serviço. Aviso: Se for um utilizador convidado ou não estiver ligado à sua conta, a sua escolha de exclusão só será eficaz para esta sessão do navegador.';
}
appiSendRequest(function(resp) {
consentGiven = true;
});
});
document.querySelector('#btn-appi-delete-account-request').addEventListener('click', function(e) {
e.preventDefault();
let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false;
appiSlideUpAll();
if(!isExpanded) {
slideDown(document.querySelector('#form-appi-delete-account-request'), 200);
this.setAttribute("aria-expanded", "true");
} else {
slideUp(document.querySelector('#form-appi-delete-account-request'), 200);
this.setAttribute("aria-expanded", "false");
}
});
document.querySelector('#form-appi-delete-account-request-submit').addEventListener('click', function(e) {
e.preventDefault();
email = document.querySelector('#form-appi-delete-account-request-email').value;
type = 'customer/delete';
appiSendRequest(function(resp) {
consentGiven = true;
});
});
// Navegação por teclado no modal de verificação de dados para acessibilidade
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');
// Esta função poupa-nos o incómodo de chamar e.preventDefault() após cada foco
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);
}
}
}
});

