development #12

Merged
emmanuelvitor merged 22 commits from development into main 2022-12-26 00:31:33 +00:00
14 changed files with 12067 additions and 282 deletions

View File

@ -1,3 +1,4 @@
import { data } from "jquery";
import { waitElement } from "m3-utils"; import { waitElement } from "m3-utils";
export default class Footer { export default class Footer {
@ -7,34 +8,172 @@ export default class Footer {
async init() { async init() {
await this.selectors(); await this.selectors();
// this.onUpdate(); this.onUpdate();
this.insertImagesPayments()
this.insertImagesDevelopedBy();
} }
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.checkoutVazio = await waitElement(".empty-cart-content"); this.checkoutVazio = await waitElement(".empty-cart-content");
this.footerCheckoutWrapper = await waitElement(".footerCheckout__wrapper");
this.footerCheckoutPayments = await waitElement(".footerCheckout__payments");
this.footerCheckoutVtexPci = await waitElement(".footerCheckout__vtexpci");
this.footerCheckoutDevelopedBy = await waitElement(".footerCheckout__developedBy");
this.footerCheckoutShelf = await waitElement(".footerCheckout__prateleira");
this.cartTitle = await waitElement("#cart-title");
} }
onUpdate() { onUpdate() {
//Função qeu fará a verificação se o carrinho está vazio para remover a prateleira de produtos: //Função qu 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 // 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 // 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 target = this.checkoutVazio;
let title = this.cartTitle;
let shelf = this.footerCheckoutShelf;
let config = { childList: true, attributes: true }; let config = { childList: true, attributes: true };
if (window.location.href === "https://m3academy.myvtex.com/checkout/#/cart" && this.checkoutVazio.style.display == "none") {
title.style.visibility = "initial";
shelf.classList.remove("none");
this.createfooterShelf();
} else {
title.style.visibility = "hidden"
shelf.classList.add("none");
}
window.addEventListener("hashchange", () => {
if (window.location.hash == "#/cart" && this.checkoutVazio.style.display == "none") {
title.style.visibility = "initial";
shelf.classList.remove("none")
this.createfooterShelf();
} else if (window.location.hash != "#/cart") {
title.style.visibility = "hidden"
shelf.classList.add("none");
}
});
let observer = new MutationObserver((mutations) => { let observer = new MutationObserver((mutations) => {
mutations.forEach(function (mutation) { mutations.forEach((mutation) => {
console.log(mutation.type); if (target.style.display == "none" && window.location.hash == "#/cart") {
title.style.visibility = "initial";
shelf.classList.remove("none");
this.createfooterShelf();
} else {
title.style.visibility = "hidden"
shelf.classList.add("none");
}
}); });
}); });
observer.observe(target, config); observer.observe(target, config);
} }
async addCarrossel() { async addCarrossel() {
const elemento = await waitElement("#my-element"); const elementSlick = document.querySelector(".footerCheckout__prateleira__list");
$(elemento).slick({
$(elementSlick).slick({
slidesToShow: 4, slidesToShow: 4,
slidesToScroll: 1, slidesToScroll: 1,
infinite: true,
arrows: true,
responsive: [
{
breakpoint: 1025,
settings: {
slidesToShow: 3,
slidesToScroll: 1,
}
},
{
breakpoint: 491,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
}
]
}); });
} }
insertImagesPayments() {
this.footerCheckoutPayments.innerHTML = `
<img src="https://agenciamagma.vteximg.com.br/arquivos/masterCardM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/visaM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/amexM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/eloM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/hiperCardM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/payPalM3Academy.png" />
<img src="https://agenciamagma.vteximg.com.br/arquivos/boletoM3Academy.png" />
`;
this.footerCheckoutVtexPci.innerHTML =
` <img src="https://agenciamagma.vteximg.com.br/arquivos/vtexPCIM3Academy.png" />`
}
insertImagesDevelopedBy() {
this.footerCheckoutDevelopedBy.innerHTML = `
<li>
<a href="https://vtex.com/br-pt/">
<span>Powered By</span>
</a>
</li>
<li>
<a href="https://agenciam3.com/">
<span>Developed By</span>
</a>
</li>
`;
}
async createfooterShelf() {
this.footerCheckoutShelf.innerHTML = ``;
this.footerCheckoutShelf.innerHTML += `
<h2 class="footerCheckout__prateleira__sugestionTitle" >Você também pode gostar:</h2>
<ul class="footerCheckout__prateleira__list"> </ul>
`;
const requestApi = await fetch("https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319")
.then((response) => response.json())
requestApi.forEach((produtos) => {
const getImage = produtos.items[0].images[0].imageUrl;
const getNameProduto = produtos.productName;
const getLink = produtos.link
const footerCheckouShielfList = document.querySelector(".footerCheckout__prateleira__list")
console.log(footerCheckouShielfList);
footerCheckouShielfList.innerHTML += `
<li class="footerCheckout__card">
<div class="footerCheckout__container">
<img class="footerCheckout__container__img" src="${getImage}" alt="" />
<div class="footerCheckout__subContainer">
<h3 class="footerCheckout__subContainer__name">${getNameProduto}</h3>
<ul class="footerCheckout__subContainer__sku">
${produtos.items.map(sku => `<li class="footerCheckout__subContainer__sku__skuName">${sku.name}</li>`
).join("")}
</ul>
<a class="footerCheckout__subContainer__link" href="${getLink}">ver produto</a>
</div>
</div>
</li>
`;
});
this.addCarrossel();
}
} }

View File

@ -9,13 +9,257 @@ export default class Header {
async init() { async init() {
await this.selectors(); await this.selectors();
console.log(this.item); console.log(this.item);
this.createProgressBar();
await this.progressBarProgress();
} }
async selectors() { async selectors() {
this.item = await waitElement("#my-element", { this.item = await waitElement("#progressBar", {
//#my-element pode ser a class ou o id do elemento html qeu vocÊ quer pegar //#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 timeout: 5000, // vai esperar 5 segundos antes de rejeitar a promise
interval: 1000, // vai verificar a cada 1 segundo se o elemento existe interval: 1000, // vai verificar a cada 1 segundo se o elemento existe
}); });
this.header = await waitElement(".headerCheckout");
this.progressBar = await waitElement("#progressBar");
}
createProgressBar() {
if (this.progressBar && window.innerWidth > 1024) {
this.progressBar.innerHTML = `
<ul>
<li>
<div class="containerLi">
<div>
<p class="progress-bar-text meu-carrinho " >Meu carrinho</p>
<p id="progress-bar-circle-1" class="progress-bar-circle-1"></p>
<p class="progress-bar-line-1"></p>
</div>
</div>
</li>
<li class="central">
<div class="containerLi">
<div>
<p class="progress-bar-text dados-pessoais " >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" >Pagamento</p>
<p id="progress-bar-circle-3" class="progress-bar-circle-3"></p>
<p 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 progressBarList = document.querySelectorAll("#progressBar ul li");
progressBarList.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"
);
console.log("ativou 1");
}
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");
console.log("removeu 2");
}
}
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");
console.log("removeu 3");
}
}
} 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")
) {
console.log("remove 1");
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")
) {
console.log("remove 1 hash");
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");
}
}
});
});
}
} }
} }

View File

@ -2,4 +2,5 @@
@import "./lib/slick"; @import "./lib/slick";
@import "./partials/header"; @import "./partials/header";
@import "./partials/footer"; @import "./partials/footer";
@import "./partials/prateleira";
@import "./checkout/checkout.scss"; @import "./checkout/checkout.scss";

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,62 @@ body .container-main.container-order-form .orderform-template.active {
margin-right: 0; margin-right: 0;
float: right; float: right;
} }
.orderform-template-holder { .orderform-template-holder {
width: 66.1132%; width: 66.1132%;
@media (max-width: 1025px) {
width: 100% !important;
}
} }
} }
.row-fluid .span6 {
@media (max-width: 1025px) {
width: 100% !important;
}
}
.payment-group-item {
@media (max-width: 1025px) {
width: 99.81% !important;
}
}
.steps-view {
width: 60%;
@media (min-width: 2500px) {
width: 60%;
}
@media (max-width: 1025px) {
width: 96.77% !important;
margin-top: 12px;
}
}
form.form-step.box-new.row-fluid {
// top: 0;
// position: relative;
// width: 98%;
// @media (max-width: 1024px) {
// top: 0;
// }
&::before {
min-height: 48px;
content: "Solicitamos apenas informações necessárias para realização da sua compra, sem compromenter seus dados.";
font-size: 14px;
line-height: 24px;
width: 95%;
color: $color-gray2;
}
}
p.link.link-gift-card {
display: none !important;
}

View File

@ -1,5 +1,6 @@
.empty-cart { .empty-cart {
font-family: $font-family; font-family: $font-family;
&-content { &-content {
color: $color-black; color: $color-black;
text-align: center; text-align: center;
@ -10,29 +11,53 @@
} }
&-title { &-title {
font-size: 20px;
font-family: $font-family;
font-style: normal;
font-weight: 700;
font-size: 24px;
line-height: 33px;
text-transform: uppercase;
@media (min-width:2500px) {
font-size: 48px;
line-height: 65px
}
} }
&-links { &-links {
.link-choose-products { .link-choose-products {
background: $color-black; background: none;
border: none; border: 1px solid;
border-radius: 5px; border-radius: 0;
transition: ease-in 0.22s all; transition: ease-in 0.22s all;
outline: none; outline: none;
font-family: $font-family; font-family: $font-family-secundary ;
font-style: normal; font-style: normal;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
line-height: 16px; line-height: 16px;
text-align: center; text-align: center;
letter-spacing: 0.05em; letter-spacing: 0.05em;
color: $color-white; color: $color-black2;
text-transform: uppercase; text-transform: uppercase;
padding: 16px 64px;
@media (min-width:2500px) {
font-size: 48px;
line-height: 65px;
padding: 16px 32px;
}
&:hover { &:hover {
background: lighten($color-black, 5); background: lighten($color-black, 5);
color: $color-white;
} }
} }
} }
} }
.empty-cart-message {
display: none;
}

View File

@ -9,13 +9,19 @@ html {
} }
footer .footerCheckout__wrapper { footer .footerCheckout__wrapper {
width: 94.9734%; // width: 94.9734%;
width: 100%;
margin: auto auto 0 auto; margin: auto auto 0 auto;
} }
footer .footerCheckout__prateleira, footer .footerCheckout__prateleira,
header { header {
width: 79.53125%; width: 79.53125%;
margin: 0 auto; margin: 0 auto;
@media (max-width:1024px) {
width: 98%;
}
} }
body { body {
@ -47,9 +53,14 @@ body {
padding-left: 0; padding-left: 0;
} }
} }
.container-order-form, .container-order-form,
.container-cart { .container-cart {
width: 80%; width: 80%;
@media (max-width:1024px) {
width: 100%;
}
} }
} }
@ -68,18 +79,30 @@ body {
#cart-title, #cart-title,
#orderform-title { #orderform-title {
color: $color-gray2; color: $color-black2;
font-family: $font-family; font-family: $font-family;
font-weight: 500; font-weight: 700;
font-size: 36px; font-size: 24px;
line-height: 42px; line-height: 33px;
margin: 40px 0 30px; margin: 40px 0 30px;
letter-spacing: 0.1em; letter-spacing: 0.05em;
text-transform: uppercase; text-transform: uppercase;
@media (min-width:2500px) {
font-size: 48px;
line-height: 65px;
}
@include mq(md, max) { @include mq(md, max) {
margin-left: 30px; margin-left: 30px;
} }
@media (max-width: 1024px) {
margin-left: 20px;
}
} }
.dropdown { .dropdown {
@ -124,3 +147,56 @@ body {
} }
} }
} }
body .container-order-form {
@media (max-width: 1024px) {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
}
// .step.accordion-group.client-profile-data.active {
// @media (max-width: 1025px) {
// width: 93.34%;
// }
// }
// .step.accordion-group.client-profile-data.active {
// @media (max-width: 1025px) {
// width: 93.34%;
// }
// }
.row-fluid div#shipping-data {
@media (max-width: 1025px) {
width: 100%;
margin-left: 0;
}
}
body .container-main.container-order-form .orderform-template.active .mini-cart {
@media (max-width: 1025px) {
width: 100%;
}
}
body .container-main.container-order-form .orderform-template.active .mini-cart {
@media (max-width: 1025px) {
float: none;
}
}
.checkout-container .row-fluid.orderform-template.span12.active {
@media (max-width: 1025px) {
display: flex;
flex-direction: column;
justify-content: center;
}
}

View File

@ -13,7 +13,9 @@
-ms-touch-action: pan-y; -ms-touch-action: pan-y;
touch-action: pan-y; touch-action: pan-y;
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;
} }
.slick-list { .slick-list {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
@ -30,6 +32,7 @@
cursor: hand; cursor: hand;
} }
} }
.slick-slider .slick-track, .slick-slider .slick-track,
.slick-slider .slick-list { .slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0);
@ -47,6 +50,8 @@
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
&:before, &:before,
&:after { &:after {
content: ""; content: "";
@ -60,18 +65,30 @@
.slick-loading & { .slick-loading & {
visibility: hidden; visibility: hidden;
} }
} }
.slick-slide { .slick-slide {
float: left; float: left;
height: 100%; height: 100%;
min-height: 1px; min-height: 1px;
outline: none; outline: none;
margin: 0 8px;
@media (min-width: 2500px) {
margin: 0 8.5px;
}
[dir="rtl"] & { [dir="rtl"] & {
float: right; float: right;
} }
img { img {
display: block; display: block;
} }
&.slick-loading img { &.slick-loading img {
display: none; display: none;
} }
@ -96,26 +113,61 @@
border: 1px solid transparent; border: 1px solid transparent;
} }
} }
.slick-arrow { .slick-arrow {
font-size: 0; font-size: 0;
position: absolute; position: absolute;
border: none;
width: 13.64px;
height: 29.47px;
bottom: 43.33%;
@media (min-width: 2500px) {
width: 26px;
height: 58px;
}
@media (max-width: 490px) {
bottom: 48.33%
}
} }
.slick-prev { .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-mini-M3Academy.svg") no-repeat center center;
no-repeat center center;
z-index: 4; z-index: 4;
left: 20px;
@media (min-width: 2500px) {
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-M3Academy.svg");
}
@media (max-width: 490px) {
left: 10px; left: 10px;
}
} }
.slick-next { .slick-next {
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-mini-M3Academy.svg") no-repeat center center;
z-index: 4; z-index: 4;
right: 10px; right: 20px;
@media (min-width: 2500px) {
background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-M3Academy.svg");
}
@media (max-width: 490px) {
right: 13px;
}
} }
.slick-arrow.slick-hidden { .slick-arrow.slick-hidden {
display: none; display: none;
} }
.slick-dots { .slick-dots {
li { li {
margin: 0.5em; margin: 0.5em;
button { button {
overflow: hidden; overflow: hidden;
text-indent: 999999999px; text-indent: 999999999px;
@ -123,10 +175,12 @@
width: 1em; width: 1em;
border-radius: 1em; border-radius: 1em;
background-color: #fff; background-color: #fff;
:focus { :focus {
outline: none; outline: none;
} }
} }
&.slick-active button { &.slick-active button {
&:focus { &:focus {
outline: none; outline: none;

View File

@ -3,21 +3,64 @@
border-top: none; border-top: none;
color: $color-gray2; color: $color-gray2;
width: 100%;
margin-top: auto;
bottom: 0;
&__wrapper { &__wrapper {
width: 100%;
border-top: 1px solid;
padding: 16px 0;
.container {
width: 94.9734%;
align-items: center; align-items: center;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@media (max-width: 1024px) {
flex-direction: column;
align-items: flex-start;
margin: 0 16px;
}
&::before,
&::after {
content: none;
}
}
} }
&__address { &__address {
color: $color-gray2; color: $color-gray2;
font-family: $font-family; font-family: $font-family;
font-style: normal; font-style: normal;
font-weight: normal; font-weight: 400;
font-size: 10px; font-size: 10px;
line-height: 12px; line-height: 12px;
text-transform: capitalize; text-transform: capitalize;
max-width: 40%; width: 100%;
max-width: 269px;
@media(min-width:2500px) {
font-size: 20px;
line-height: 27px;
max-width: none;
width: 537px;
min-width: 537px;
}
@media(max-width:1024px) {
margin-bottom: 16px;
order: 2;
}
@include mq(md, max) { @include mq(md, max) {
margin-bottom: 24px; margin-bottom: 24px;
@ -28,14 +71,40 @@
&__stamps { &__stamps {
align-items: center; align-items: center;
display: flex; display: flex;
justify-content: center;
justify-self: center; justify-self: center;
list-style: none; list-style: none;
width: 100%;
@media (min-width: 2500px) {
min-width: 690px;
}
@media (max-width: 1024px) {
justify-content: flex-start;
margin: 0;
margin-bottom: 23px;
margin-left: -5px;
order: 1;
}
@include mq(md, max) { @include mq(md, max) {
align-self: center; align-self: center;
margin-bottom: 12px; margin-bottom: 12px;
} }
img {
width: 34.78px;
height: 20px;
@media(min-width:2500px) {
width: 69.63px;
height: 39.06px;
}
}
&__divider { &__divider {
background-color: $color-gray4; background-color: $color-gray4;
display: inline-block; display: inline-block;
@ -43,16 +112,93 @@
margin: 0 8px; margin: 0 8px;
width: 1px; width: 1px;
} }
}
&__vtexpci {
img {
width: 53px;
height: 33px;
@media(min-width:2500px) {
width: 103.52px;
height: 64.44px;
}
}
} }
&__developedBy { &__developedBy {
align-items: center;
display: flex; display: flex;
align-items: center;
justify-content: flex-end;
list-style-type: none; list-style-type: none;
margin: 0; margin: 0;
width: 33%;
gap: 10.73px;
margin: 0;
@media (max-width:375px),
(max-width:1024px) {
order: 3;
margin-top: 16px;
justify-content: flex-start;
}
li:first-child {
a {
display: flex;
&::after {
content: "";
background: url("https://agenciamagma.vteximg.com.br/arquivos/logoVTEXM3Academy.png") no-repeat center center;
background-size: 100%;
display: block;
min-width: 44.92px;
height: 16px;
@media (min-width: 2500px) {
width: 87.73px;
height: 31.25px;
}
}
span {
width: 100%;
min-width: 61px;
margin-right: 10.12px;
}
}
}
li:last-child { li:last-child {
margin-left: 16px; margin-left: 16px;
a {
display: flex;
&::after {
content: "";
background: url(" https://agenciamagma.vteximg.com.br/arquivos/logoM3M3Academy.png") no-repeat center center;
background-size: 100%;
display: block;
width: 28.66px;
height: 15.65px;
@media(min-width:2500px) {
width: 55.98px;
height: 30.55px;
}
}
span {
width: 100%;
min-width: 61px;
margin-right: 10.12px;
}
}
} }
a { a {
@ -66,9 +212,19 @@
line-height: 12px; line-height: 12px;
text-decoration: none; text-decoration: none;
@media(min-width:2500px) {
font-size: 18px;
line-height: 25px;
}
span { span {
margin-right: 8px; width: 100%;
} }
} }
} }
} }

View File

@ -1,22 +1,231 @@
/* _header.scss */ /* _header.scss */
.headerCheckout { .headerCheckout {
width: 100%;
border-bottom: 1px solid;
.container { .container {
width: auto !important; width: 79.53125%;
@media (min-width: 2500px) {
padding: 29px 0;
} }
@media (max-width: 1024px) {
width: 96.875%;
padding: 16px 0;
}
@media (max-width: 375px) {
width: 100%;
}
}
&__wrapper { &__wrapper {
align-items: center; align-items: center;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@media (max-width: 375px) {
margin: 16px;
}
} }
&__logo { &__logo {
img { img {
height: 52px; height: 52px;
width: auto; width: auto;
display: block;
@media (min-width: 2500px) {
width: 382.07px;
height: 91.2px;
}
@media (max-width: 375px) {
height: 33px;
}
}
}
.progress-bar {
width: 439px;
height: 35px;
margin: 30px 0;
@media (min-width: 2500px) {
width: 1078.68px;
height: 67px;
margin-right: 132px;
}
@media (max-width: 1024px) {
display: none;
}
ul {
display: flex;
justify-content: space-between;
li {
list-style: none;
display: flex;
width: 100%;
&.central {
display: flex;
.containerLi {
div {
width: 90px;
align-items: center;
@media (min-width: 2500px) {
width: 179px;
}
}
}
}
.containerLi {
width: 100%;
display: flex;
@media (min-width:2500px) {
width: 444px;
}
div {
width: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
position: relative;
.progress-bar-text {
font-family: $font-family-secundary;
font-style: normal;
font-weight: 400;
font-size: 12px;
line-height: 14px;
@media (min-width: 2500px) {
font-size: 24px;
line-height: 28px;
}
}
.meu-carrinho {
@media (min-width: 2500px) {
width: 155.3px;
}
}
.pagamento {
margin-left: 25px;
@media (min-width: 2500px) {
width: 127.86px;
}
}
.progress-bar-circle-1,
.progress-bar-circle-2,
.progress-bar-circle-3 {
width: 12px;
height: 12px;
border: 1px solid;
border-radius: 100%;
@media (min-width: 2500px) {
width: 24px;
height: 24px;
}
&.active {
background-color: black;
}
}
.progress-bar-circle-1 {
margin-left: 25px;
@media (min-width: 2500px) {
margin-left: 50px;
}
}
.progress-bar-circle-3 {
margin-left: 50px;
@media (min-width: 2500px) {
margin-left: 100px;
}
}
.progress-bar-line-1 {
background-color: #000;
height: 1px;
position: absolute;
left: 28%;
width: 100%;
bottom: 5px;
@media (min-width: 2500px) {
left: 17.2%;
width: 100%;
bottom: 10px;
}
}
.progress-bar-line-2 {
background-color: #000;
height: 1px;
position: absolute;
right: 63%;
width: 100%;
bottom: 5px;
@media (min-width: 2500px) {
right: 77%;
width: 100%;
bottom: 10px;
}
}
}
}
}
} }
} }
&__safeBuy { &__safeBuy {
display: flex;
img {
margin-right: 8px;
width: 12px;
height: 15px;
@media (min-width: 2500px) {
width: 29.47px;
height: 41.46px;
}
@media (max-width: 375px) {
width: 12px;
height: 13.11px;
}
}
span { span {
align-items: center; align-items: center;
display: flex; display: flex;
@ -27,6 +236,11 @@
font-size: 12px; font-size: 12px;
line-height: 14px; line-height: 14px;
color: $color-gray; color: $color-gray;
@media (min-width: 2500px) {
font-size: 24px;
line-height: 33px;
}
} }
i { i {

View File

@ -1 +1,196 @@
/* _prateleira.scss */ /* _prateleira.scss */
.footerCheckout__prateleira {
display: flex;
flex-direction: column;
gap: 20px;
li {
list-style: none;
}
&__sugestionTitle {
font-family: $font-family-secundary;
color: $color-black2;
font-style: normal;
font-weight: 400;
font-size: 24px;
line-height: 38px;
text-align: center;
@media (min-width:2500px) {
font-size: 48px;
line-height: 76px;
}
}
&__list {
display: flex;
gap: 16px;
margin: 0 0 56px;
@media (min-width:2500px) {
gap: 16.94px;
}
@media (max-width:490px) {
margin: 0 15px 56px;
}
@media (min-width:370px) and (max-width:380px) {
margin: 0 0 56px;
}
.footerCheckout__card {
width: 100%;
height: 100%;
@media (min-width:2500px) {
min-width: 485.07px;
height: 686px;
}
@media (min-width:1270px) {
min-width: 242px;
}
.footerCheckout__container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
height: auto;
@media (min-width:370px) and (max-width:380px) {
width: 164px;
}
li,
a {
font-family: $font-family;
background-color: $color-blue2;
;
color: $color-white;
border-radius: 8px;
font-weight: 700;
font-size: 13px;
line-height: 18px;
display: flex;
align-items: center;
text-align: center;
letter-spacing: 0.05em;
text-transform: uppercase;
padding: 5px;
@media (min-width:2500px) {
font-size: 26px;
line-height: 35px;
}
}
&__img {
width: 100%;
height: auto;
@media (min-width:2500px) {
min-width: 485.07px;
height: 485.07px;
}
@media (min-width:370px) and (max-width:376px) {
width: 164px;
}
@media (max-width:490px) {
height: 164px;
}
}
.footerCheckout__subContainer {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
row-gap: 20px;
height: auto;
width: 100%;
&__name {
margin: 0;
font-family: $font-family;
color: $color-black2;
border-radius: 8px;
font-weight: 400;
font-size: 13px;
line-height: 18px;
@media (min-width:2500px) {
font-size: 26px;
line-height: 35px;
}
@media (max-width:490px) {
text-align: center;
}
}
&__sku {
width: 100%;
margin: 0;
display: flex;
flex-wrap: nowrap;
justify-content: center;
gap: 5px;
display: flex;
align-items: center;
@media (max-width:1270px) {
flex-wrap: wrap;
min-height: 61px;
}
}
&__link {
width: 100%;
display: flex;
justify-content: center;
padding: 12px 0;
&:hover,
&:active {
text-decoration: none;
}
}
}
}
}
}
}
.none {
display: none;
}

View File

@ -2,23 +2,31 @@
@import url("https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap"); @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"); @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: "Open Sans", sans-serif;
$font-family-secundary:"Tenor Sans", sans-serif; $font-family-secundary: "Tenor Sans", sans-serif;
/* Colors */ /* Colors */
$color-black: #292929; $color-black: #292929;
$color-black2: #000000;
$color-black3: #58595B;
$color-white: #fff; $color-white: #fff;
$color-gray: #6c6c6c; $color-gray: #6c6c6c;
$color-gray2: #7d7d7d; $color-gray2: #7D7D7D;
;
$color-gray3: #f0f0f0; $color-gray3: #f0f0f0;
$color-gray4: #8d8d8d; $color-gray4: #8d8d8d;
$color-gray5: #e5e5e5; $color-gray5: #e5e5e5;
$color-gray6: #C4C4C4;
$color-gray7: #e0e0e0;
$color-blue: #4267b2; $color-blue: #4267b2;
$color-blue2: #00C8FF;
$color-green: #4caf50; $color-green: #4caf50;
$color-orange: #f15a31;
/* Grid breakpoints */ /* Grid breakpoints */
$grid-breakpoints: ( $grid-breakpoints: (
xs: 0, xs: 0,
@ -26,13 +34,11 @@ $grid-breakpoints: (
sm: 576px, sm: 576px,
md: 768px, md: 768px,
lg: 992px, lg: 992px,
xl: 1200px xl: 1200px) !default;
) !default;
$z-index: ( $z-index: (
level1: 5, level1: 5,
level2: 10, level2: 10,
level3: 15, level3: 15,
level4: 20, level4: 20,
level5: 25 level5: 25) !default;
) !default;

9196
yarn.lock Normal file

File diff suppressed because it is too large Load Diff