development #4

Merged
SavioCarvalhoMoraes merged 25 commits from development into main 2022-12-18 22:34:41 +00:00
9 changed files with 1560 additions and 873 deletions

View File

@ -7,29 +7,109 @@ export default class Footer {
async init() {
await this.selectors();
// this.onUpdate();
this.onUpdate();
/*await this.pegarInfo(
"https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319"
);*/
await this.renderIconCreditCards();
await this.renderIconVtexPci();
await this.renderIconsDeveloped();
await this.trocaTitle();
await this.trocaFrete();
await this.trocaUnidade();
await this.trocaNotiCliente();
/*await this.trocaNoCep();*/
await this.trocaIdentificao();
this.events();
}
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.checkoutVazio = await waitElement(".empty-cart-content");
this.tituloCarrinho = await waitElement("#cart-title");
this.footerIconsCreditCards = await waitElement(".footerCheckout__payments");
this.footerIconVtexPci = await waitElement(".footerCheckout__vtexpci");
this.footerIconsDeveloped = await waitElement(".footerCheckout__developedBy");
this.titleCart = await waitElement(".empty-cart-title");
this.subTitleCart = await waitElement(".empty-cart-message");
this.buttonCart = await waitElement("#cart-choose-products");
this.prateleiraInfoCards = await waitElement(".footerCheckout__prateleira");
this.freteCarrinho = await waitElement(".shipping-date");
this.unidadeCarrinho = await waitElement(".product-price");
this.notiCliente = await waitElement(".client-notice");
this.identificacaoUser = await waitElement(
"#client-profile-data > div > div.accordion-heading > span > span",
0
);
/*
Cep bugou o programa, não tem nada de diferente que fiz dos outros métodos.
this.noCep = await waitElement(
"#shipping-preview-container > div > div > div.vtex-shipping-preview-0-x-pc.srp-postal-code > form > div > p > small > a",
0
);*/
}
events() {
window.addEventListener("hashchange", () => {
this.onUpdate();
if (window.location.hash == "#/cart" && this.checkoutVazio.style.display == "none") {
this.listaInfocards.style.display = "flex";
//this.slickOn();
}
if (window.location.hash != "#/cart") {
this.listaInfocards.style.display = "none";
}
});
}
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 prateleiraItens = this.prateleiraInfoCards;
let titulo = this.tituloCarrinho;
if (target.style.display == "none" && window.location.hash == "#/cart") {
titulo.style.display = "block";
this.pegarInfo(
"https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319"
);
prateleiraItens.style.display = "flex";
this.slickOn();
} else {
titulo.style.display = "none";
prateleiraItens.style.display = "none";
}
let config = { childList: true, attributes: true };
let observer = new MutationObserver((mutations) => {
this.pegarInfo(
"https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319"
);
//console.log("oi", mutations);
mutations.forEach(function (mutation) {
console.log(mutation.type);
console.log("oi", mutation);
if (target.style.display != "none") {
//this.slickOff();
prateleiraItens.style.display = "none";
titulo.style.display = "none";
} else {
prateleiraItens.style.display = "flex";
//this.slickOn();
titulo.style.display = "block";
}
});
});
observer.observe(target, config);
}
ligaDesligaElementos(observado) {
if (observado.style.display === "none") {
observado.style.display = "block";
} else {
observado.style.display = "none";
}
}
async addCarrossel() {
const elemento = await waitElement("#my-element");
$(elemento).slick({
@ -37,4 +117,109 @@ export default class Footer {
slidesToScroll: 1,
});
}
produtos(data) {
return {
imagem: data["items"][0]["images"][0]["imageUrl"],
link: data["link"],
nome: data["productName"],
tamanho: data["items"].map((val) => val["name"]),
};
}
async pegarInfo(url) {
const response = await fetch(url);
//console.log(response);
const data = await response.json();
//console.log(data);
const Items = data.map((val) => this.produtos(val));
console.log(Items);
await this.renderInfoCards(Items);
}
estruturaInfoCard(items) {
let listaInfocards = ``;
for (const i of items) {
const elem = `<li class="infoCard">
<img class="infoCard__image" src="${i["imagem"]}" /><p class="infoCard__text">${
i["nome"]
}</p>
${this.tamanhosProdutos(i["tamanho"], i["link"])}
<a class="infoCard__link" href="${i["link"]}">VER PRODUTO</a></li>`;
listaInfocards += elem;
}
return listaInfocards;
}
tamanhosProdutos(tam, link) {
let listaTamanhos = `<ul class="infoCard__tamanhos">`;
for (const n of tam) {
const nums = `<li class=infoCard__tamanho><a class=infoCard__tamanho__link href="${link}">${n}</a></li>`;
listaTamanhos += nums;
}
listaTamanhos += `</ul>`;
return listaTamanhos;
}
async renderInfoCards(Items) {
this.prateleiraInfoCards.innerHTML = `<h2 class="prateleira__subtitle">Você também pode gostar:</h2><ul class="infoCards">${this.estruturaInfoCard(
Items
)}</ul>`;
this.slickOn();
}
renderIconCreditCards() {
this.footerIconsCreditCards.innerHTML = `
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/masterCardM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/visaM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/amexM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/eloM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/hiperCardM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/payPalM3Academy.png" />
<img class="IconCredImg" src="https://agenciamagma.vteximg.com.br/arquivos/boletoM3Academy.png" />`;
}
renderIconVtexPci() {
this.footerIconVtexPci.innerHTML = `<img class="IconVtexImg" src="https://agenciamagma.vteximg.com.br/arquivos/vtexPCIM3Academy.png" />`;
}
renderIconsDeveloped() {
this.footerIconsDeveloped.innerHTML = `
<li><a href="https://vtex.com/br-pt/"><span>Powered By</span><img class="iconDevV" src="https://agenciamagma.vteximg.com.br/arquivos/logoVTEXM3Academy.png"/> </a></li>
<li><a href="https://vtex.com/br-pt/"><span>Developed By</span><img class="iconDeveLM3" src="https://agenciamagma.vteximg.com.br/arquivos/logoM3M3Academy.png"/> </a></li>`;
}
trocaTitle() {
const tituloCart = document.querySelector(".empty-cart-title");
tituloCart.innerHTML = `<h2>SEU CARRINHO ESTÁ VAZIO</h2>`;
this.subTitleCart.innerHTML = `<p></p>`;
this.buttonCart.innerHTML = `Continuar comprando`;
}
trocaFrete() {
this.freteCarrinho.innerHTML = `Frete`;
}
trocaUnidade() {
this.unidadeCarrinho.innerHTML = `Unidade`;
}
trocaNotiCliente() {
this.notiCliente.innerHTML = ``;
}
/*
async trocaNoCep() {
this.noCep.innerHTML = `Não sei meu código postal`;
}*/
trocaIdentificao() {
this.identificacaoUser.innerHTML = `Identificação`;
}
//slick
slickOn() {
$(".infoCards").slick({
dots: false,
infinite: true,
slidesToShow: 3,
slidesToScroll: 1,
});
}
slickOff() {
$(".infoCards").slick("unslick");
}
}

View File

@ -8,14 +8,103 @@ export default class Header {
async init() {
await this.selectors();
console.log(this.item);
//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");
}
progressBarHTML() {
if (this.progressBar && window.innerWidth > 1024) {
this.progressBar.innerHTML = `
<ul>
<li>
<div class="containerLi"><div><p class="progress-bar-text">Meu Carrinho</p><p id="progress-bar-circle-1" class="progress-bar-circle-1"></p><p id="progress-bar-line-1" class="progress-bar-line-1"></p></div></div> </li>
<li>
<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><p class="progress-bar-text">Pagamento</p><p id="progress-bar-circle-3" class="progress-bar-circle-3"></p><p id="progress-bar-line-2" class="progress-bar-line-2"></p></div></div> </li>
</ul>
`;
}
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") {
this.trataPonto(li, 1);
} 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"
) {
this.trataPonto(li, 2);
} else if (
window.location.href === "https://m3academy.myvtex.com/checkout/#/payment"
) {
this.trataPonto(li, 3);
}
window.addEventListener("hashchange", () => {
if (window.location.hash == "#/cart") {
this.trataPonto(li, 1);
} else if (
window.location.hash == "#/email" ||
window.location.hash == "#/profile" ||
window.location.hash == "#/shipping"
) {
this.trataPonto(li, 2);
} else if (window.location.hash == "#/payment") {
this.trataPonto(li, 3);
}
});
});
}
}
marcarPonto(li, local) {
if (li.children[0].children[0].children["progress-bar-circle-" + local]) {
li.children[0].children[0].children["progress-bar-circle-" + local].classList.add(
"active"
);
}
}
removerPonto(li, local) {
if (li.children[0].children[0].children["progress-bar-circle-" + local]) {
if (
li.children[0].children[0].children[
"progress-bar-circle-" + local
].classList.contains("active")
) {
li.children[0].children[0].children[
"progress-bar-circle-" + local
].classList.remove("active");
}
}
}
trataPonto(li, local) {
const indice = [1, 2, 3];
let indicesPontoBranco = indice.splice(local - 1, 1);
this.marcarPonto(li, local);
for (const i of indice) {
this.removerPonto(li, i);
}
}
}

View File

@ -6,9 +6,11 @@
.link-cart {
a {
font-family: $font-family-secundary;
font-weight: 400;
color: $color-black;
font-size: 14px;
text-transform: uppercase;
&:hover {
color: lighen($color-black, 10);
}
@ -25,12 +27,19 @@
margin-bottom: 16px;
span {
color: #303030;
font-family: $font-family-secundary;
color: $color-black-100;
font-size: 24px;
font-weight: 400;
text-transform: uppercase;
}
small {
color: $color-gray4;
font-family: $font-family-secundary;
color: $color-black-100;
font-size: 24px;
font-weight: 400;
text-transform: uppercase;
}
}
}
@ -40,12 +49,17 @@
input {
box-shadow: none;
color: $color-black;
color: $color-black-100;
font-family: $font-family;
padding: 0 16px;
border: 2px solid $color-gray3;
font-size: 12px;
border: 1px solid $color-black-100;
border-radius: 5px 8px 8px 5px;
box-sizing: border-box;
border-radius: 5px;
&:placeholder {
color: $color-black-100;
}
@media (max-width: 490px) {
width: auto;
@ -53,13 +67,19 @@
}
button {
background-color: $color-black;
border-radius: 5px;
background-color: $color-blue-300;
border-radius: 0px 8px 8px 0px;
border: none;
color: $color-black-100;
font-weight: 700;
font-family: $font-family;
height: 54px;
right: 0;
top: 0;
text-transform: uppercase;
&:hover {
cursor: pointer;
}
@media (max-width: 490px) {
height: 48px;
@ -69,18 +89,26 @@
}
span.help.error {
color: red;
font-family: $font-family;
color: $color-red;
font-size: 12px;
font-weight: 700;
}
}
.emailInfo {
margin-top: 31px;
padding: 16px;
background-color: $color-white;
border: 1px solid $color-gray4;
border-radius: 0;
border: 1px solid $color-black-100;
border-radius: 5px;
h3 {
color: #303030;
color: $color-black-100;
font-family: $font-family;
font-weight: 700;
font-size: 12px;
line-height: 16px;
margin: 0 0 8px 0;
}
@ -90,10 +118,13 @@
li {
span {
color: $color-black;
font-family: $font-family;
font-weight: 700;
font-size: 12px;
}
i::before {
color: $color-black;
color: $color-blue-300;
font-size: 1rem;
opacity: 1;
}
@ -112,54 +143,86 @@
.payment-data,
.client-profile-data {
.accordion-group {
border-radius: 0;
border: 1px solid $color-gray4;
border-radius: 8px;
border: 1px solid $color-gray3;
font-family: $font-family;
padding: 16px;
.accordion-heading {
span {
color: #303030;
font-family: $font-family-secundary;
color: $color-black;
margin-bottom: 8px;
font-size: 16px;
font-weight: 400;
padding: 0;
i::before {
fill: #303030;
display: none;
fill: white;
}
}
a {
align-items: center;
background-color: #303030;
background-color: $color-white;
border-radius: 8px;
border: none;
color: $color-white;
display: flex;
justify-content: center;
padding: 6px 5px 6px 8px;
.icon-edit {
width: 20px;
height: 20px;
background-color: white;
color: white;
content: url(" https://agenciamagma.vteximg.com.br/arquivos/lapisM3Academy.png");
}
}
}
.accordion-inner {
padding: 0;
padding: 0; /*
#opt-in-newsletter {
right: 200px;
}*/
/* General configurations */
.newsletter {
margin-bottom: 35px;
#opt-in-newsletter {
width: 18px;
height: 20px;
margin-right: 8px;
position: relative;
top: -5px;
}
.newsletter-text {
font-family: $font-family;
font-style: normal;
font-size: 12px;
color: $color-gray100;
}
}
.client-notice {
color: $color-black;
}
p {
label {
color: $color-black;
font-weight: 500;
color: $color-gray2;
font-family: $font-family;
font-weight: 400;
font-size: 14px;
}
select,
input {
border-radius: 0;
border: 1px solid $color-gray4;
max-width: 100%;
border-radius: 5px;
border: 1px solid $color-gray3;
box-shadow: none;
height: 42px;
}
.help.error {
@ -170,6 +233,7 @@
.box-client-info-pj {
.link a#is-corporate-client,
.link a#not-corporate-client {
display: none;
color: $color-black;
font-weight: 500;
text-decoration: underline;
@ -181,12 +245,18 @@
}
button.submit {
width: 100%;
border: none;
border-radius: 5px;
background: $color-black;
font-family: $font-family;
font-size: 14px;
font-weight: 700;
color: $color-white;
border-radius: 8px;
background: $color-blue-300;
margin-top: 8px;
outline: none;
transition: all 0.2s linear;
text-transform: uppercase;
&:hover {
background: lighten($color-black, 5);
@ -276,12 +346,19 @@
}
.vtex-omnishipping-1-x-deliveryChannelsToggle {
background-color: #d8c8ac;
background-color: #41115d;
border: 1px solid #d8c8ac;
}
.vtex-omnishipping-1-x-deliveryOptionActive {
background: $color-white;
font-family: $font-family;
color: #41115d;
border: 1px solid $color-black;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
border-radius: 100px;
text-shadow: 1.3px 1px lighten($color-black, 50);
text-transform: uppercase;
}
}
}

View File

@ -111,10 +111,11 @@
}
th {
font-family: $font-family-secundary;
color: $color-black;
padding: 0 0 16px;
font-style: normal;
font-weight: bold;
font-weight: normal;
font-size: 14px;
line-height: 16px;
@ -147,15 +148,12 @@
}
}
.product-name {
padding-right: 0;
@include mq(lg, max) {
width: 250px;
}
a {
color: $color-blue;
color: #000;
font-style: normal;
font-weight: normal;
font-size: 12px;
@ -163,7 +161,7 @@
transition: ease-in 0.22s all;
&:hover {
color: darken($color-blue, 10);
color: darken($color-black, 10);
text-decoration: none;
}
@ -242,6 +240,7 @@
margin: 0 !important;
padding: 8px 0;
width: 38px;
font-family: $font-family-secundary;
color: $color-gray2;
box-shadow: none;
@ -262,15 +261,21 @@
.icon-minus-sign {
&:before {
content: "-";
font-size: 16px;
color: $color-blue-300;
font-size: 20px;
&:hover {
cursor: pointer;
}
}
}
.icon-plus-sign {
&:before {
content: "+";
font-size: 14px;
font-size: 20px;
color: $color-blue-300;
&:hover {
cursor: pointer;
}
}
}
@ -296,11 +301,18 @@
display: none;
}
span {
font-style: normal;
font-weight: normal;
font-family: $font-family-secundary;
font-weight: 400;
font-size: 14px;
line-height: 16px;
color: $color-black;
text-transform: lowercase;
}
.total-selling-price {
text-transform: uppercase;
font-weight: 700;
}
}
@ -336,9 +348,9 @@
border-bottom-color: #d8c8ac;
}
}
}
}
.summary {
.summary {
.cart-more-options {
margin: 0;
width: max-content;
@ -351,12 +363,13 @@
}
.srp-main-title {
font-family: $font-family;
margin: 32px 0 12px;
font-style: normal;
font-weight: normal;
font-size: 24px;
line-height: 28px;
color: $color-gray2;
color: $color-black-100;
@include mq(md, max) {
margin-top: 0;
@ -405,7 +418,7 @@
}
.srp-pickup-my-location__button {
background-color: $color-black;
background-color: $color-blue-300;
border: none;
border-radius: 5px;
color: $color-white;
@ -444,12 +457,12 @@
}
&__current {
border: 1px solid $color-blue;
border: 1px solid $color-black-100;
border-radius: 100px;
}
.blue {
color: $color-blue;
color: $color-black;
}
label {
@ -462,6 +475,9 @@
}
.srp-postal-code {
.ship-country {
display: none;
}
.ship-postalCode {
label {
font-family: $font-family;
@ -474,7 +490,7 @@
}
input {
border: 1px solid $color-gray3;
border: 1px solid #c4c4c4;
border-radius: 5px;
box-shadow: none;
color: $color-gray3;
@ -485,7 +501,7 @@
}
& ~ button {
background-color: $color-black;
background-color: $color-blue-300;
border: none;
border-radius: 5px;
color: $color-white;
@ -510,13 +526,17 @@
}
small a {
font-family: $font-family;
font-family: $font-family-secundary;
font-style: normal;
font-weight: normal;
font-size: 10px;
line-height: 12px;
color: $color-blue;
color: $color-black-100;
margin-top: 7px;
&:hover {
text-decoration: underline;
cursor: pointer;
}
}
span.help.error {
@ -597,6 +617,8 @@
.coupon-data {
#cart-link-coupon-add {
text-decoration: none;
font-family: $font-family-secundary;
&:hover {
text-decoration: underline;
cursor: pointer;
@ -608,7 +630,7 @@
font-weight: normal;
font-size: 12px;
line-height: 14px;
color: $color-blue;
color: #000;
text-decoration: none;
}
}
@ -630,6 +652,8 @@
}
.coupon-label label {
display: flex;
align-self: flex-start;
margin-bottom: 12px;
font-family: $font-family;
font-style: normal;
@ -664,7 +688,7 @@
font-size: 12px;
height: 34px;
padding: 0 12px;
max-width: 160px;
width: 54%;
@include mq(sm, max) {
max-width: 100%;
@ -673,17 +697,17 @@
}
button {
background: $color-black;
background: $color-blue-300;
border: none;
border-radius: 5px;
color: $color-white;
color: $color-black-100;
font-size: 12px;
height: 36px;
letter-spacing: 1px;
margin-left: 6px;
outline: none;
transition: all 0.2s linear;
width: 94px;
width: 35%;
text-transform: uppercase;
@include mq(md, max) {
@ -712,6 +736,7 @@
&.info,
&.monetary {
font-family: $font-family-secundary;
font-style: normal;
font-weight: normal;
font-size: 14px;
@ -733,18 +758,20 @@
tfoot {
td.info,
td.monetary {
font-family: $font-family;
font-style: normal;
font-weight: normal;
font-size: 18px;
line-height: 21px;
font-weight: 700;
color: $color-black;
}
}
}
}
}
}
.cart-links-bottom {
.cart-links-bottom {
display: flex;
flex-direction: column;
width: 343px;
@ -771,18 +798,18 @@
}
a {
font-family: $font-family;
font-family: $font-family-secundary;
font-style: normal;
font-weight: normal;
font-size: 12px;
line-height: 14px;
color: $color-blue;
color: $color-black-100;
}
}
.btn-place-order-wrapper {
a {
background: $color-green;
background: $color-blue-300;
border: none;
border-radius: 5px;
display: block;
@ -792,15 +819,17 @@
&:hover {
background-color: darken($color-green, 5);
cursor: pointer;
}
&:after {
content: "finalizar compra";
font-family: $font-family;
font-weight: 500;
font-size: 13px;
font-weight: 700;
font-size: 14px;
font-style: normal;
letter-spacing: 0.05em;
color: $color-white;
color: $color-black-100;
text-transform: uppercase;
vertical-align: middle;
line-height: 19px;
@ -808,5 +837,4 @@
}
}
}
}
}

View File

@ -9,7 +9,7 @@ html {
}
footer .footerCheckout__wrapper {
width: 94.9734%;
width: 100%;
margin: auto auto 0 auto;
}
footer .footerCheckout__prateleira,
@ -68,13 +68,14 @@ body {
#cart-title,
#orderform-title {
color: $color-gray2;
color: $color-black-100;
font-family: $font-family;
font-weight: 500;
font-size: 36px;
line-height: 42px;
font-weight: 700;
font-size: 24px;
line-height: 33px;
margin: 40px 0 30px;
letter-spacing: 0.1em;
letter-spacing: 0.05em;
text-transform: uppercase;
@include mq(md, max) {

View File

@ -43,9 +43,10 @@
position: relative;
left: 0;
top: 0;
display: block;
display: flex;
margin-left: auto;
margin-right: auto;
gap: 16px;
&:before,
&:after {
@ -104,11 +105,16 @@
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-mini-M3Academy.svg")
no-repeat center center;
z-index: 4;
left: 10px;
left: 23px;
line-height: 27px;
border: none;
}
.slick-next {
z-index: 4;
right: 10px;
right: 17px;
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-mini-M3Academy.svg");
line-height: 27px;
border: none;
}
.slick-arrow.slick-hidden {
display: none;

View File

@ -1,23 +1,141 @@
/* _footer.scss */
.footerCheckout {
border-top: none;
margin: 0 !important;
width: 100% !important;
display: flex;
flex-direction: column;
margin-top: 100%;
color: $color-gray2;
margin-top: auto;
&__wrapper {
align-items: center;
display: flex;
justify-content: space-between;
margin: 50px 0 0 0 !important;
border-top: 1px solid #000000;
}
.container {
padding: 27px 32px 24px 32px;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
//margin: 0 0 0 16px !important;
}
&__prateleira {
//display: none;
margin: 0 !important;
width: 100% !important;
display: flex;
flex-direction: column;
align-items: center;
.prateleira__subtitle {
font-size: 24px;
font-family: $font-family-secundary;
font-weight: 400;
color: #000;
line-height: 38px;
}
.infoCards {
width: 80%;
display: flex;
height: 390px;
align-items: center;
gap: 16px;
margin-bottom: 54px;
.infoCard {
width: 100%;
height: 390px;
//border: 1px solid #000;
display: flex;
flex-direction: column;
align-items: center;
&__image {
min-width: 100%;
height: 242px;
object-fit: fit;
border-radius: 8px;
}
&__text {
display: flex;
width: 100%;
margin-top: 20px;
margin-bottom: 0;
font-family: $font-family;
font-size: 13px;
color: #000;
font-weight: 400;
justify-content: center;
}
&__tamanhos {
margin-top: 20px;
width: 100%;
display: flex;
flex-direction: row;
list-style: none;
margin-left: 0%;
gap: 5px;
justify-content: center;
}
&__tamanho {
background-color: $color-blue-300;
border-radius: 8px;
height: 28px;
display: flex;
justify-content: center;
&__numero {
display: flex;
justify-content: center;
}
&__link {
color: $color-white;
margin: 4px;
font-family: $font-family;
font-size: 13px;
font-weight: 700;
}
}
&__link {
padding: 12px 0;
display: flex;
justify-content: center;
width: 100%;
height: 17px;
margin-top: 17px;
font-family: $font-family;
font-weight: 700;
font-size: 13px;
line-height: 18px;
color: $color-white;
background-color: $color-blue-300;
border-radius: 8px;
&::hoover {
cursor: pointer;
}
}
}
}
}
&__address {
color: $color-gray2;
color: $color-black;
font-family: $font-family;
font-style: normal;
font-weight: normal;
font-size: 10px;
line-height: 12px;
text-transform: capitalize;
max-width: 40%;
width: 269px;
margin-right: 45px;
&:span {
width: 269px;
}
@include mq(md, max) {
margin-bottom: 24px;
@ -26,14 +144,21 @@
}
&__stamps {
width: 31.56%;
align-items: center;
display: flex;
justify-self: center;
list-style: none;
margin-right: 166px;
flex-direction: row;
//margin-right: 189px;
ul {
margin: 0 0 0 0 !important;
}
@include mq(md, max) {
align-self: center;
margin-bottom: 12px;
//margin-bottom: 12px;
}
&__divider {
@ -43,19 +168,31 @@
margin: 0 8px;
width: 1px;
}
&__payments {
display: flex;
flex-direction: row;
}
.IconCredImg {
width: 12.25%;
}
.IconVtexImg {
width: 87%;
}
}
&__developedBy {
width: 26.6%;
align-items: center;
display: flex;
list-style-type: none;
margin: 0;
li:last-child {
margin-left: 16px;
margin-left: 5px;
}
a {
width: 120px;
align-items: center;
color: $color-gray2;
display: flex;
@ -69,6 +206,69 @@
span {
margin-right: 8px;
}
.iconDevV {
width: 30.65%;
}
.iconDeveLM3 {
width: 30.65%;
}
}
}
}
/*Cart*/
.cart-items th {
font-family: $font-family-secundary !important;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 16px;
color: $color-black;
}
.cart-template .cart-items td.quantity .icon-plus-sign:before {
color: $color-blue-300;
}
/*
.product {
font-family: $font-family-secundary;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 16px;
color: $color-black;
}*/
/*CSS Body*/
.container-cart {
#cart-title {
display: none;
}
.empty-cart-content {
display: flex;
margin-top: 170px;
.empty-cart-title {
margin: 0 !important;
h2 {
font-family: $font-family;
font-weight: 700;
font-size: 24px;
line-height: 33px;
}
}
.empty-cart-links {
margin-top: 32px;
#cart-choose-products {
margin: 0;
padding: 16px 64px;
background-color: $color-white;
color: $color-black;
border: 1px solid #000;
font-family: $font-family-secundary;
font-weight: 400;
font-size: 14px;
&:hover {
cursor: pointer;
}
}
}
}
}

View File

@ -1,15 +1,110 @@
/* _header.scss */
.headerCheckout {
margin: 0 !important;
width: 100% !important;
.container {
width: auto !important;
margin: 0 !important;
width: 100% !important;
&::after {
margin: 30px 0 0 0;
width: 100%;
transform: translateY(-50%);
height: 1px;
border-bottom: 1px solid #000000;
}
#progressBar {
width: 446px;
ul {
list-style-type: none;
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 !important;
}
li .containerLi {
width: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
position: relative;
}
li.central .containerLi {
align-items: center;
margin-left: 7px;
}
li:last-child .containerLi {
align-items: flex-end;
}
li .containerLi div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
li {
display: flex;
flex-direction: column;
align-items: center;
}
li.central {
width: auto;
}
li #progress-bar-circle-1,
li #progress-bar-circle-2,
li #progress-bar-circle-3 {
width: 12px;
height: 12px;
border: 1px solid #000;
border-radius: 50%;
@media (min-width: 2500px) {
width: 24px;
height: 24px;
}
}
li #progress-bar-circle-1.active,
li #progress-bar-circle-2.active,
li #progress-bar-circle-3.active {
border: none;
background-color: #000;
}
li .progress-bar-line-1 {
position: absolute;
left: 58%;
transform: translateY(-50%);
bottom: 4px;
width: 176px;
height: 1px;
border-top: 1px solid #000;
}
li .progress-bar-line-2 {
position: absolute;
right: 60%;
transform: translateY(-50%);
bottom: 4px;
width: 171px;
height: 1px;
border-top: 1px solid #000;
}
p {
font-family: $font-family-secundary;
font-weight: 400;
font-size: 12px;
color: $color-black-100;
}
}
}
&__wrapper {
margin-top: 30px;
align-items: center;
display: flex;
justify-content: space-between;
}
&__logo {
padding-left: 131px;
img {
height: 52px;
width: auto;
@ -17,19 +112,23 @@
}
&__safeBuy {
padding-right: 131px;
display: flex;
span {
align-items: center;
display: flex;
flex-direction: row;
text-transform: uppercase;
font-family: $font-family;
font-style: normal;
font-weight: normal;
font-size: 12px;
line-height: 14px;
color: $color-gray;
line-height: 16px;
color: $color-black;
}
i {
img {
width: 10%;
margin-right: 8px;
}
}

View File

@ -2,11 +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-100: #000;
$color-white: #fff;
$color-gray: #6c6c6c;
@ -14,8 +14,10 @@ $color-gray2: #7d7d7d;
$color-gray3: #f0f0f0;
$color-gray4: #8d8d8d;
$color-gray5: #e5e5e5;
$color-gray100: #808080;
$color-red: #ff0000;
$color-blue: #4267b2;
$color-blue-300: #00c8ff;
$color-green: #4caf50;
@ -26,7 +28,7 @@ $grid-breakpoints: (
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
xl: 1200px,
) !default;
$z-index: (
@ -34,5 +36,5 @@ $z-index: (
level2: 10,
level3: 15,
level4: 20,
level5: 25
level5: 25,
) !default;