forked from M3-Academy/m3-academy-template-checkout
feat(home): adicionando prateleira só quando o carrinho não está vazio
home
This commit is contained in:
parent
c8df2d9a0d
commit
6d2904fe25
@ -9,7 +9,6 @@ export default class Footer {
|
|||||||
await this.selectors();
|
await this.selectors();
|
||||||
this.onUpdate();
|
this.onUpdate();
|
||||||
this.footerList();
|
this.footerList();
|
||||||
await this.prateleiraFooterHTML();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async selectors() {
|
async selectors() {
|
||||||
@ -22,23 +21,6 @@ export default class Footer {
|
|||||||
this.footerPrateleira = await waitElement(".footerCheckout__prateleira");
|
this.footerPrateleira = await waitElement(".footerCheckout__prateleira");
|
||||||
}
|
}
|
||||||
|
|
||||||
onUpdate() {
|
|
||||||
//Função qeu fará a verificação se o carrinho está vazio para remover a prateleira de produtos:
|
|
||||||
// vocês devem olhar a doc fornecida no Desafio para aprender a usar a MutationObserver
|
|
||||||
// sempre que o carrinho estiver vazio o elemento chcekoutVazio fica display: none e isso pode ser usado como atributo para a MutationObserver
|
|
||||||
let target = this.checkoutVazio;
|
|
||||||
let config = { childList: true, attributes: true };
|
|
||||||
let observer = new MutationObserver((mutations) => {
|
|
||||||
mutations.forEach(function (mutation) {
|
|
||||||
// console.log(mutation);
|
|
||||||
// console.log(mutation.target);
|
|
||||||
});
|
|
||||||
|
|
||||||
//monitorar display none -> target.style.display === "none"
|
|
||||||
});
|
|
||||||
observer.observe(target, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
async prateleiraFooterHTML() {
|
async prateleiraFooterHTML() {
|
||||||
this.footerPrateleira.innerHTML += `
|
this.footerPrateleira.innerHTML += `
|
||||||
<h2 class="footerCheckout__prateleira__title"> Você também pode gostar: </h2>
|
<h2 class="footerCheckout__prateleira__title"> Você também pode gostar: </h2>
|
||||||
@ -158,4 +140,30 @@ export default class Footer {
|
|||||||
|
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onUpdate() {
|
||||||
|
//Função qeu fará a verificação se o carrinho está vazio para remover a prateleira de produtos:
|
||||||
|
// vocês devem olhar a doc fornecida no Desafio para aprender a usar a MutationObserver
|
||||||
|
// sempre que o carrinho estiver vazio o elemento chcekoutVazio fica display: none e isso pode ser usado como atributo para a MutationObserver
|
||||||
|
|
||||||
|
const footerPrateleiraList = document.querySelector(".footerCheckout__prateleira__list");
|
||||||
|
let target = this.checkoutVazio;
|
||||||
|
let observer = new MutationObserver((mutations) => {
|
||||||
|
mutations.forEach(() => {
|
||||||
|
if (target.style.display == "none") {
|
||||||
|
this.footerPrateleira.classList.remove("desable");
|
||||||
|
this.prateleiraFooterHTML();
|
||||||
|
} else {
|
||||||
|
this.footerPrateleira.classList.add("desable");
|
||||||
|
this.footerPrateleira.innerHTML = "";
|
||||||
|
footerPrateleiraList.innerHTML = "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//monitorar display none -> target.style.display === "none"
|
||||||
|
});
|
||||||
|
observer.observe(this.checkoutVazio, {
|
||||||
|
attributes: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -184,8 +184,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.desable {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
&__prateleira {
|
&__prateleira {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&__item {
|
&__item {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
Loading…
Reference in New Issue
Block a user