forked from M3-Academy/m3-academy-template-checkout
feat: Cria a prateleira
This commit is contained in:
parent
d6e7308fb3
commit
318c3efcb4
@ -6,13 +6,17 @@ export default class Footer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
|
this.productList = [];
|
||||||
|
this.carregaProdutos();
|
||||||
await this.selectors();
|
await this.selectors();
|
||||||
// this.onUpdate();
|
// this.onUpdate();
|
||||||
|
await this.criaProduto();
|
||||||
}
|
}
|
||||||
|
|
||||||
async selectors() {
|
async selectors() {
|
||||||
//Para verificar se o carrinho está vazio e remover a prateleira de produtos:
|
//Para verificar se o carrinho está vazio e remover a prateleira de produtos:
|
||||||
// vocês devem olhar a doc fornecida no Desafio para aprender a usar o waitElement
|
// vocês devem olhar a doc fornecida no Desafio para aprender a usar o waitElement
|
||||||
|
this.prateleira = await waitElement(".footerCheckout__prateleira");
|
||||||
this.checkoutVazio = await waitElement(".empty-cart-content");
|
this.checkoutVazio = await waitElement(".empty-cart-content");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,11 +34,73 @@ export default class Footer {
|
|||||||
|
|
||||||
observer.observe(target, config);
|
observer.observe(target, config);
|
||||||
}
|
}
|
||||||
|
|
||||||
async addCarrossel() {
|
async addCarrossel() {
|
||||||
const elemento = await waitElement("#my-element");
|
const elemento = await waitElement(".footerCheckout__prateleira");
|
||||||
$(elemento).slick({
|
$(elemento).slick({
|
||||||
slidesToShow: 4,
|
slidesToShow: 4,
|
||||||
slidesToScroll: 1,
|
slidesToScroll: 1,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async criaProduto() {
|
||||||
|
let estrutura = ""
|
||||||
|
let estruturaSkus = ""
|
||||||
|
if(this.prateleira) {
|
||||||
|
console.log(this.productList, "Cria HTMl");
|
||||||
|
this.productList.forEach((product) => {
|
||||||
|
estruturaSkus = ""
|
||||||
|
product.skus.forEach(name => {
|
||||||
|
estruturaSkus += `<span class="prateleira__name">${name}</span>`
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
console.log(product.skus);
|
||||||
|
|
||||||
|
estrutura +=`
|
||||||
|
<div class="prateleira__container">
|
||||||
|
<figure class="prateleira__image-wrapper">
|
||||||
|
<img src=${product.image}>
|
||||||
|
<div class="prateleira__content">
|
||||||
|
<p class="prateleira__title">${product.productName}</p>
|
||||||
|
<div class="prateleira__name-wrapper">
|
||||||
|
${estruturaSkus}
|
||||||
|
</div>
|
||||||
|
<a class="prateleira__button" href=${product.link}>Ver Produto</a>
|
||||||
|
</div>
|
||||||
|
</figure>
|
||||||
|
</div>`
|
||||||
|
})
|
||||||
|
this.prateleira.innerHTML = estrutura;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.addCarrossel();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
carregaProdutos() {
|
||||||
|
fetch("https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319")
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
data.forEach(item => {
|
||||||
|
const arraySKU = [];
|
||||||
|
item.items.forEach(sku => {
|
||||||
|
arraySKU.push(sku.name);
|
||||||
|
})
|
||||||
|
|
||||||
|
const product = {
|
||||||
|
image: item.items[0].images[0].imageUrl,
|
||||||
|
productName: item.productName,
|
||||||
|
link: item.link,
|
||||||
|
skus: arraySKU
|
||||||
|
};
|
||||||
|
|
||||||
|
this.productList.push(product);
|
||||||
|
})
|
||||||
|
console.log(this.productList, "Carrega Lista");
|
||||||
|
})
|
||||||
|
.catch(err => log(err));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ footer .footerCheckout__wrapper {
|
|||||||
width: 94.9734%;
|
width: 94.9734%;
|
||||||
margin: auto auto 0 auto;
|
margin: auto auto 0 auto;
|
||||||
}
|
}
|
||||||
footer .footerCheckout__prateleira,
|
footer .prateleira,
|
||||||
header {
|
header {
|
||||||
width: 79.53125%;
|
width: 79.53125%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
Loading…
Reference in New Issue
Block a user