forked from M3-Academy/m3-academy-template-checkout
Merge pull request 'develop' (#4) from develop into main
Reviewed-on: #4
This commit is contained in:
commit
d97f29e168
16
bash.exe.stackdump
Normal file
16
bash.exe.stackdump
Normal file
@ -0,0 +1,16 @@
|
||||
Stack trace:
|
||||
Frame Function Args
|
||||
000FFFFCD30 00210062B0E (0021028A770, 00210275E51, 00000000001, 000FFFFB710)
|
||||
000FFFFCD30 0021004846A (00210000000, 00200000000, 00000000000, 00000000001)
|
||||
000FFFFCD30 002100484A2 (000007D0000, 000007D0101, 00000000001, 5C74DE1CAC3C)
|
||||
000FFFFCD30 0021006E416 (00210045323, 00210358970, 00000000000, 0000000000D)
|
||||
000FFFFCD30 0021006E429 (00210045170, 0021023D7E0, 002100448F2, 000FFFFC910)
|
||||
000FFFFCD30 002100713D4 (00000000013, 00000000001, 000FFFFC910, 00210278640)
|
||||
000FFFFCD30 0021005AB65 (000FFFFCA60, 00000000000, 000FFFFCA68, 000FFFFFFFF)
|
||||
000FFFFCD30 0021005B335 (00210358290, 00000001000, 00000000004, 00210355C90)
|
||||
000FFFFCD30 0021005B847 (002100DF51E, 00000000000, 00000000000, 00000000000)
|
||||
000FFFFCD30 0021005BB86 (00000000000, 000FFFFCD30, FFFFFFFFFFFFFFC6, 00000000000)
|
||||
000FFFFCD30 00210048C0C (00000000000, 00000000000, 00000000000, 00000000000)
|
||||
000FFFFFFF0 00210047716 (00000000000, 00000000000, 00000000000, 00000000000)
|
||||
000FFFFFFF0 002100477C4 (00000000000, 00000000000, 00000000000, 00000000000)
|
||||
End of stack trace
|
10970
checkout/package-lock.json
generated
10970
checkout/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -32,9 +32,7 @@ export default class CheckoutUI {
|
||||
toggleFooterDropdown(event) {
|
||||
event.target.classList.toggle("closed");
|
||||
|
||||
event.target.nextElementSibling.classList.toggle(
|
||||
"dropdown__content--closed"
|
||||
);
|
||||
event.target.nextElementSibling.classList.toggle("dropdown__content--closed");
|
||||
}
|
||||
|
||||
init() {
|
||||
@ -56,14 +54,7 @@ export default class CheckoutUI {
|
||||
resizeImages() {
|
||||
$(".product-image img").each((i, el) => {
|
||||
const $el = $(el);
|
||||
$el.attr(
|
||||
"src",
|
||||
alterarTamanhoImagemSrcVtex(
|
||||
$el.attr("src"),
|
||||
this.width,
|
||||
this.height
|
||||
)
|
||||
);
|
||||
$el.attr("src", alterarTamanhoImagemSrcVtex($el.attr("src"), this.width, this.height));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -7,34 +7,182 @@ export default class Footer {
|
||||
|
||||
async init() {
|
||||
await this.selectors();
|
||||
// this.onUpdate();
|
||||
await this.carrinho();
|
||||
this.renderPrateleira();
|
||||
this.onUpdate();
|
||||
}
|
||||
|
||||
async selectors() {
|
||||
//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
|
||||
this.title = await waitElement("#cart-title");
|
||||
this.checkoutVazio = await waitElement(".empty-cart-content");
|
||||
//CARRINHO VAZIO
|
||||
this.fraseCarrinhoVazio = await waitElement(".empty-cart-title");
|
||||
this.continuarCompra = await waitElement("#cart-choose-products");
|
||||
//carrinho
|
||||
this.frete = await waitElement(".shipping-date");
|
||||
this.unidade = await waitElement(".product-price");
|
||||
this.footerPrateleira = await waitElement(".footerCheckout__prateleira");
|
||||
//pagamento
|
||||
this.notification = await waitElement(".notification");
|
||||
//footer
|
||||
this.creditcards = await waitElement(".footerCheckout__payments");
|
||||
this.vtex = await waitElement(".footerCheckout__vtexpci");
|
||||
this.developed = await waitElement(".footerCheckout__developedBy");
|
||||
}
|
||||
|
||||
onUpdate() {
|
||||
async prateleira() {
|
||||
if (this.checkoutVazio.style.display == "none") {
|
||||
this.title.innerHTML = `MEU CARRINHO`;
|
||||
this.requestApi();
|
||||
this.addCarrossel();
|
||||
|
||||
window.addEventListener("hashchange", () => {
|
||||
if (window.location.hash !== "#/cart") {
|
||||
this.removePrateleira();
|
||||
}
|
||||
if (window.location.hash == "#/cart") {
|
||||
this.requestApi();
|
||||
this.addCarrossel();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async removePrateleira() {
|
||||
let prateleira = this.footerPrateleira;
|
||||
prateleira.innerHTML = ``;
|
||||
}
|
||||
|
||||
async requestApi() {
|
||||
let prateleira = this.footerPrateleira;
|
||||
prateleira.innerHTML = `<h2>Você também pode gostar:</h2>
|
||||
<ul class=carrosel-items></ul>`;
|
||||
|
||||
const url = `https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319`;
|
||||
fetch(url)
|
||||
.then((response) => {
|
||||
return response.json();
|
||||
})
|
||||
.then((data) => {
|
||||
return data.map(function (product) {
|
||||
let li = document.createElement("li");
|
||||
li.setAttribute("id", product.productId);
|
||||
li.innerHTML = `
|
||||
<img src="${product.items[0].images[0].imageUrl}" alt="${
|
||||
product.productName
|
||||
}" />
|
||||
<p class="product-name">${product.productName}</p>
|
||||
<div class="product-variation">${product.items
|
||||
.map((name) => {
|
||||
return `<a name="product-variation__variation" class="product-variation__variation">${name.name}</a>`;
|
||||
})
|
||||
.join("")}</div>
|
||||
<button class="product-btn">Ver produto</button>`;
|
||||
prateleira.children[1].appendChild(li);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async addCarrossel() {
|
||||
const prateleira = await waitElement(".carrosel-items", { timeout: 5000, interval: 500 });
|
||||
|
||||
if (window.screen.width > 1024) {
|
||||
$(prateleira).slick({
|
||||
slidesToShow: 4,
|
||||
slidesToScroll: 1,
|
||||
infinite: true,
|
||||
arrows: true,
|
||||
});
|
||||
} else if (window.screen.width < 600) {
|
||||
$(prateleira).slick({
|
||||
slidesToShow: 2,
|
||||
slidesToScroll: 1,
|
||||
infinite: true,
|
||||
arrows: true,
|
||||
});
|
||||
} else if (window.screen.width <= 1024) {
|
||||
$(prateleira).slick({
|
||||
slidesToShow: 3,
|
||||
slidesToScroll: 1,
|
||||
infinite: true,
|
||||
arrows: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async 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.type);
|
||||
mutations.map((mutation) => {
|
||||
const display = mutation.target.attributes.style.nodeValue;
|
||||
console.log(mutation);
|
||||
|
||||
if (display == "display: none;") {
|
||||
this.prateleira();
|
||||
} else if (display == "display: block;") {
|
||||
this.title.innerHTML = ``;
|
||||
this.removePrateleira();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
observer.observe(target, config);
|
||||
}
|
||||
async addCarrossel() {
|
||||
const elemento = await waitElement("#my-element");
|
||||
$(elemento).slick({
|
||||
slidesToShow: 4,
|
||||
slidesToScroll: 1,
|
||||
});
|
||||
|
||||
async renderPrateleira() {
|
||||
if (window.location.hash == "#/cart") {
|
||||
this.onUpdate();
|
||||
this.prateleira();
|
||||
}
|
||||
}
|
||||
|
||||
carrinho() {
|
||||
this.title.innerHTML = ``;
|
||||
this.continuarCompra.innerHTML = `continuar comprando`;
|
||||
this.frete.innerHTML = `Frete`;
|
||||
this.unidade.innerHTML = `Unidade`;
|
||||
//footer
|
||||
this.creditcards.innerHTML = `<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/masterCardM3Academy.png" alt="MasterCard" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/visaM3Academy.png" alt="VisaCard" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/amexM3Academy.png" alt="America Express" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/eloM3Academy.png" alt="Elo" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/hiperCardM3Academy.png" alt="HiperCard" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/payPalM3Academy.png" alt="Paypal" />
|
||||
</figure>
|
||||
<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/boletoM3Academy.png" alt="Boleto" />
|
||||
</figure>`;
|
||||
this.vtex.innerHTML = `<figure>
|
||||
<img src="https://agenciamagma.vteximg.com.br/arquivos/vtexPCIM3Academy.png" alt="VTEX" />
|
||||
</figure>`;
|
||||
this.developed.innerHTML = `<li>
|
||||
<a href="https://vtex.com/br-pt/">
|
||||
<span>Powered By</span>
|
||||
<figure><img src="https://agenciamagma.vteximg.com.br/arquivos/logoVTEXM3Academy.png" alt="VTEX" /></figure>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://agenciam3.com/">
|
||||
<span>Developed By</span>
|
||||
<figure><img src="https://agenciamagma.vteximg.com.br/arquivos/logoM3M3Academy.png" alt="M3" /></figure>
|
||||
</a>
|
||||
</li>`;
|
||||
}
|
||||
}
|
||||
|
@ -8,14 +8,261 @@ export default class Header {
|
||||
|
||||
async init() {
|
||||
await this.selectors();
|
||||
console.log(this.item);
|
||||
this.progressBarHTML();
|
||||
await this.progressBarProgress();
|
||||
}
|
||||
|
||||
async selectors() {
|
||||
this.item = await waitElement("#my-element", {
|
||||
//#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar
|
||||
timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise
|
||||
interval: 1000, // vai verificar a cada 1 segundo se o elemento existe
|
||||
});
|
||||
this.header = await waitElement(".headerCheckout");
|
||||
this.progressBar = await waitElement("#progressBar");
|
||||
|
||||
//#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar
|
||||
//timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise
|
||||
//interval: 1000, // vai verificar a cada 1 segundo se o elemento existe
|
||||
}
|
||||
|
||||
progressBarHTML() {
|
||||
if (this.progressBar && window.innerWidth > 1024) {
|
||||
this.progressBar.innerHTML = `<div id="progressBar" class="progress-bar">
|
||||
<ul>
|
||||
<li>
|
||||
<div class="containerLi div-1">
|
||||
<div>
|
||||
<p class="progress-bar-text">Meu Carrinho</p>
|
||||
<p id="progress-bar-circle-1" class="progress-bar-circle-1"></p>
|
||||
<p class="progress-bar-line-left"></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="central">
|
||||
<div class="containerLi">
|
||||
<div>
|
||||
<p class="progress-bar-text">Dados Pessoais</p>
|
||||
<p id="progress-bar-circle-2" class="progress-bar-circle-2"></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="containerLi div-3">
|
||||
<div>
|
||||
<p class="progress-bar-text">Pagamento</p>
|
||||
<p id="progress-bar-circle-3" class="progress-bar-circle-3"></p>
|
||||
<p class="progress-bar-line-right"></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>`;
|
||||
}
|
||||
if (this.progressBar && window.innerWidth <= 1024) {
|
||||
this.progressBar.innerHTML = ``;
|
||||
}
|
||||
}
|
||||
|
||||
async progressBarProgress() {
|
||||
if (this.progressBar && window.innerWidth > 1024) {
|
||||
const progressBarLista = document.querySelectorAll("#progressBar ul li");
|
||||
|
||||
progressBarLista.forEach((li) => {
|
||||
if (window.location.href === "https://m3academy.myvtex.com/checkout/#/cart") {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
li.children[0].children[0].children["progress-bar-circle-1"].classList.add(
|
||||
"active"
|
||||
);
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
window.location.href === "https://m3academy.myvtex.com/checkout/#/email" ||
|
||||
window.location.href === "https://m3academy.myvtex.com/checkout/#/profile" ||
|
||||
window.location.href === "https://m3academy.myvtex.com/checkout/#/shipping"
|
||||
) {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
li.children[0].children[0].children["progress-bar-circle-2"].classList.add(
|
||||
"active"
|
||||
);
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
window.location.href === "https://m3academy.myvtex.com/checkout/#/payment"
|
||||
) {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
li.children[0].children[0].children["progress-bar-circle-3"].classList.add(
|
||||
"active"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("hashchange", () => {
|
||||
if (window.location.hash == "#/cart") {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.add("active");
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
window.location.hash == "#/email" ||
|
||||
window.location.hash == "#/profile" ||
|
||||
window.location.hash == "#/shipping"
|
||||
) {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.add("active");
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (window.location.hash == "#/payment") {
|
||||
if (li.children[0].children[0].children["progress-bar-circle-1"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-1"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-2"]) {
|
||||
if (
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.contains("active")
|
||||
) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-2"
|
||||
].classList.remove("active");
|
||||
}
|
||||
}
|
||||
|
||||
if (li.children[0].children[0].children["progress-bar-circle-3"]) {
|
||||
li.children[0].children[0].children[
|
||||
"progress-bar-circle-3"
|
||||
].classList.add("active");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,38 +1,39 @@
|
||||
.empty-cart {
|
||||
font-family: $font-family;
|
||||
&-content {
|
||||
color: $color-black;
|
||||
text-align: center;
|
||||
font-family: $font-family;
|
||||
|
||||
@include mq(md, max) {
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
&-content {
|
||||
color: $color-black;
|
||||
text-align: center;
|
||||
|
||||
&-title {
|
||||
font-size: 20px;
|
||||
}
|
||||
@include mq(md, max) {
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
|
||||
&-links {
|
||||
.link-choose-products {
|
||||
background: $color-black;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
transition: ease-in 0.22s all;
|
||||
outline: none;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
letter-spacing: 0.05em;
|
||||
color: $color-white;
|
||||
text-transform: uppercase;
|
||||
&-title {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-black, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
&-links {
|
||||
.link-choose-products {
|
||||
background: $color-black;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
transition: ease-in 0.22s all;
|
||||
outline: none;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
letter-spacing: 0.05em;
|
||||
color: $color-white;
|
||||
text-transform: uppercase;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-black, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,10 @@ footer .footerCheckout__wrapper {
|
||||
}
|
||||
footer .footerCheckout__prateleira,
|
||||
header {
|
||||
width: 79.53125%;
|
||||
margin: 0 auto;
|
||||
@include mq(tablet, min) {
|
||||
width: 79.53125%;
|
||||
margin: 0 auto 56px auto;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
@ -49,7 +51,13 @@ body {
|
||||
}
|
||||
.container-order-form,
|
||||
.container-cart {
|
||||
box-sizing: border-box;
|
||||
width: 80%;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,13 +76,11 @@ body {
|
||||
|
||||
#cart-title,
|
||||
#orderform-title {
|
||||
color: $color-gray2;
|
||||
font-family: $font-family;
|
||||
font-weight: 500;
|
||||
font-size: 36px;
|
||||
line-height: 42px;
|
||||
margin: 40px 0 30px;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
|
||||
@include mq(md, max) {
|
||||
|
@ -1,3 +1,27 @@
|
||||
.footerCheckout {
|
||||
&__prateleira {
|
||||
@include mq(tablet, max) {
|
||||
padding: 0 16px;
|
||||
margin-bottom: 54px;
|
||||
}
|
||||
h2 {
|
||||
font-family: $font-family-secundary;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 24px;
|
||||
line-height: 38px;
|
||||
text-align: center;
|
||||
color: $color-black-500;
|
||||
margin-bottom: 20px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 48px;
|
||||
line-height: 76px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Slider */
|
||||
|
||||
.slick-slider {
|
||||
@ -13,12 +37,13 @@
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
margin: 0;
|
||||
}
|
||||
.slick-list {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin: 0;
|
||||
margin: 0 -8px;
|
||||
padding: 0;
|
||||
|
||||
&:focus {
|
||||
@ -61,7 +86,10 @@
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.slick-slide {
|
||||
margin: 0 8px;
|
||||
|
||||
float: left;
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
@ -69,9 +97,91 @@
|
||||
[dir="rtl"] & {
|
||||
float: right;
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
li {
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
display: block;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
color: $color-black-500;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 26px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
@media (min-width: 1025px) and (max-width: 1110px) {
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
.product-variation {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 15px;
|
||||
|
||||
@include mq(xl, max) {
|
||||
height: 66px;
|
||||
}
|
||||
|
||||
&__variation {
|
||||
height: fit-content;
|
||||
margin: 0 2.5px 5px;
|
||||
background: $color-blue2;
|
||||
border-radius: 8px;
|
||||
padding: 5px;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
color: $color-white;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 26px;
|
||||
line-height: 35px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.product-btn {
|
||||
width: 100%;
|
||||
height: 42px;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
background: $color-blue2;
|
||||
border-radius: 8px;
|
||||
border: none;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
color: $color-white;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 26px;
|
||||
line-height: 35px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.slick-loading img {
|
||||
display: none;
|
||||
}
|
||||
@ -99,16 +209,41 @@
|
||||
.slick-arrow {
|
||||
font-size: 0;
|
||||
position: absolute;
|
||||
width: 13.64px;
|
||||
height: 29.47px;
|
||||
border: none;
|
||||
z-index: 4;
|
||||
top: 45%;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 26px;
|
||||
height: 58px;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
top: 50%;
|
||||
}
|
||||
}
|
||||
.slick-prev {
|
||||
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-mini-M3Academy.svg")
|
||||
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-M3Academy.svg")
|
||||
no-repeat center center;
|
||||
z-index: 4;
|
||||
background-size: contain;
|
||||
left: 10px;
|
||||
|
||||
@include mq(md, max) {
|
||||
left: 0px;
|
||||
}
|
||||
}
|
||||
.slick-next {
|
||||
z-index: 4;
|
||||
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-M3Academy.svg")
|
||||
no-repeat center center;
|
||||
background-size: contain;
|
||||
right: 10px;
|
||||
|
||||
@include mq(md, max) {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
.slick-arrow.slick-hidden {
|
||||
display: none;
|
||||
|
@ -2,25 +2,61 @@
|
||||
.footerCheckout {
|
||||
border-top: none;
|
||||
color: $color-gray2;
|
||||
display: contents; /*testar*/
|
||||
|
||||
&__wrapper {
|
||||
border-top: 1px solid $color-black-500;
|
||||
width: 100% !important;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 0;
|
||||
|
||||
.container {
|
||||
/*width: 91.40625%;*/
|
||||
width: 100%;
|
||||
margin: 16px 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
padding: 16px 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
margin: 16px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__address {
|
||||
color: $color-gray2;
|
||||
margin-right: auto;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-weight: 400;
|
||||
font-size: 10px;
|
||||
line-height: 12px;
|
||||
line-height: 14px;
|
||||
color: $color-black;
|
||||
text-transform: capitalize;
|
||||
max-width: 40%;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 20px;
|
||||
line-height: 27px;
|
||||
}
|
||||
|
||||
@include mq(tablet, max) {
|
||||
margin-bottom: 16px;
|
||||
margin-left: 8px;
|
||||
order: 1;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
margin-bottom: 24px;
|
||||
margin-bottom: 16px;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
@ -30,29 +66,102 @@
|
||||
display: flex;
|
||||
justify-self: center;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
li {
|
||||
display: flex;
|
||||
|
||||
.footerCheckout__payments {
|
||||
display: flex;
|
||||
column-gap: 13px;
|
||||
|
||||
@include mq(md, max) {
|
||||
column-gap: 4px;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
width: 35px;
|
||||
height: 20px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 69px;
|
||||
height: 39px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
vertical-align: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.footerCheckout__vtexpci {
|
||||
display: flex;
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
width: 53px;
|
||||
height: 33px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 103px;
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
vertical-align: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
align-self: center;
|
||||
align-self: flex-start;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
&__divider {
|
||||
background-color: $color-gray4;
|
||||
background-color: $color-gray7;
|
||||
display: inline-block;
|
||||
height: 24px;
|
||||
margin: 0 8px;
|
||||
margin: 0 10px 0 13px;
|
||||
width: 1px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
height: 43px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__developedBy {
|
||||
margin: 0 0 0 auto;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
margin: 0 0 0 8px;
|
||||
|
||||
order: 2;
|
||||
}
|
||||
|
||||
li:last-child {
|
||||
margin-left: 16px;
|
||||
margin-left: 10.73px;
|
||||
figure {
|
||||
width: 28.66px;
|
||||
height: 15.65px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 55px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
@ -67,7 +176,33 @@
|
||||
text-decoration: none;
|
||||
|
||||
span {
|
||||
margin-right: 8px;
|
||||
margin-right: 10px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 9px;
|
||||
line-height: 12px;
|
||||
color: $color-black;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
width: 44.92px;
|
||||
height: 16px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 87px;
|
||||
height: 31px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
vertical-align: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,18 @@
|
||||
/* _header.scss */
|
||||
.headerCheckout {
|
||||
width: 100%;
|
||||
border-bottom: 1px solid $color-black-500;
|
||||
|
||||
.container {
|
||||
width: auto !important;
|
||||
width: 79.53125% !important;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
width: 96.875% !important;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
width: 91.46% !important;
|
||||
}
|
||||
}
|
||||
&__wrapper {
|
||||
align-items: center;
|
||||
@ -10,13 +21,51 @@
|
||||
}
|
||||
|
||||
&__logo {
|
||||
width: 15.2829%;
|
||||
margin: 29px 0;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 19.2161%;
|
||||
}
|
||||
|
||||
@include mq(tablet, max) {
|
||||
width: 155.58px;
|
||||
margin: 16px 0;
|
||||
}
|
||||
|
||||
@include mq(cstm, max) {
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 52px;
|
||||
width: auto;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&__safeBuy {
|
||||
display: flex;
|
||||
width: 15.2829%;
|
||||
|
||||
@include mq(tablet, max) {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 12px;
|
||||
height: 15px;
|
||||
margin-right: 8px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 29.47px;
|
||||
height: 41.46px;
|
||||
margin-right: 7.9px;
|
||||
}
|
||||
|
||||
@include mq(tablet, max) {
|
||||
width: 12px;
|
||||
height: 13.33px;
|
||||
}
|
||||
}
|
||||
span {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
@ -25,12 +74,141 @@
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
color: $color-gray;
|
||||
line-height: 16px;
|
||||
color: $color-black;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 24px;
|
||||
line-height: 33px;
|
||||
}
|
||||
}
|
||||
|
||||
i {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
width: 446px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 1078.86px;
|
||||
}
|
||||
|
||||
@include mq(tablet, max) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 !important;
|
||||
|
||||
li {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: $color-black-500;
|
||||
width: 39.9103%;
|
||||
|
||||
.containerLi {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.progress-bar-text {
|
||||
font-family: $font-family-secundary;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
margin-bottom: 9px;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-bar-line-left,
|
||||
.progress-bar-line-right {
|
||||
position: absolute;
|
||||
transform: translateY(-50%);
|
||||
bottom: 5px;
|
||||
height: 1px;
|
||||
border-top: 1px solid $color-black-500;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
bottom: 11px;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-bar-line-left {
|
||||
left: 26%;
|
||||
width: 96%;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
left: 21.2%;
|
||||
width: 434px;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-bar-line-right {
|
||||
right: 21%;
|
||||
width: 100%;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
right: 17.5%;
|
||||
width: 450px;
|
||||
}
|
||||
}
|
||||
|
||||
.active {
|
||||
border: none;
|
||||
background-color: $color-black-500;
|
||||
}
|
||||
|
||||
.progress-bar-circle-1,
|
||||
.progress-bar-circle-2,
|
||||
.progress-bar-circle-3 {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid $color-black-500;
|
||||
border-radius: 50%;
|
||||
|
||||
@include mq(xxl, min) {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.div-1 {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.div-3 {
|
||||
align-items: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
li.central {
|
||||
margin-left: 0.3px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,11 @@
|
||||
@import url("https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap");
|
||||
$font-family: "Open Sans", sans-serif;
|
||||
$font-family-secundary:"Tenor Sans", sans-serif;
|
||||
$font-family-secundary: "Tenor Sans", sans-serif;
|
||||
|
||||
/* Colors */
|
||||
$color-black: #292929;
|
||||
$color-black-500: #000;
|
||||
|
||||
$color-white: #fff;
|
||||
|
||||
@ -14,25 +15,43 @@ $color-gray2: #7d7d7d;
|
||||
$color-gray3: #f0f0f0;
|
||||
$color-gray4: #8d8d8d;
|
||||
$color-gray5: #e5e5e5;
|
||||
$color-gray6: #989898;
|
||||
$color-gray7: #c4c4c4;
|
||||
$color-gray8: #ededed;
|
||||
$color-gray9: #e0e0e0;
|
||||
$color-gray10: #bdbdbd;
|
||||
$color-gray11: #808080;
|
||||
$color-gray12: #828282;
|
||||
$color-gray13: #f2f2f2;
|
||||
$color-gray14: #58595b;
|
||||
|
||||
$color-blue: #4267b2;
|
||||
$color-blue2: #00c8ff;
|
||||
|
||||
$color-red: #ff0000;
|
||||
|
||||
$color-orange: #f15a31;
|
||||
|
||||
$color-green: #4caf50;
|
||||
$color-green2: #298541;
|
||||
|
||||
/* Grid breakpoints */
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
cstm: 400,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px
|
||||
xs: 0,
|
||||
fold: 350,
|
||||
cstm: 400,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
tablet: 1025px,
|
||||
xl: 1200px,
|
||||
xxl: 2500px,
|
||||
) !default;
|
||||
|
||||
$z-index: (
|
||||
level1: 5,
|
||||
level2: 10,
|
||||
level3: 15,
|
||||
level4: 20,
|
||||
level5: 25
|
||||
level1: 5,
|
||||
level2: 10,
|
||||
level3: 15,
|
||||
level4: 20,
|
||||
level5: 25,
|
||||
) !default;
|
||||
|
Loading…
Reference in New Issue
Block a user