forked from M3-Academy/m3-academy-template-checkout
develop #5
10970
checkout/package-lock.json
generated
10970
checkout/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -6,35 +6,173 @@ export default class Footer {
|
||||
}
|
||||
|
||||
async init() {
|
||||
this.list = await this.requestApi();
|
||||
await this.selectors();
|
||||
// this.onUpdate();
|
||||
this.creditCardIconsHTML();
|
||||
this.developedByIconsHTML();
|
||||
if (window.location.hash === "#/cart") {
|
||||
await this.shelfUpdate();
|
||||
}
|
||||
this.shelfList = await waitElement(".footerCheckout__shelfList");
|
||||
this.shelfItens();
|
||||
this.events();
|
||||
this.addCarrossel();
|
||||
|
||||
}
|
||||
|
||||
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.itensShelf = await waitElement(".footerCheckout__prateleira");
|
||||
this.checkoutVazio = await waitElement(".empty-cart-content");
|
||||
this.creditCardIcons = await waitElement(".footerCheckout__stamps");
|
||||
this.developedByIcons = await waitElement(".footerCheckout__developedBy");
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
createShelf() {
|
||||
if(this.itensShelf) {
|
||||
this.itensShelf.innerHTML = `
|
||||
<div class="footerCheckout__prateleira-title">
|
||||
<h2>Você também pode gostar:</h2>
|
||||
</div>
|
||||
<ul class="footerCheckout__shelfList"></ul>
|
||||
`
|
||||
}
|
||||
}
|
||||
|
||||
shelfItens() {
|
||||
let structure = "";
|
||||
|
||||
this.list.forEach((response) => {
|
||||
const sku = response.skus.map((item) => `<li>${item}</li>`);
|
||||
|
||||
structure += `
|
||||
<li class="liItens">
|
||||
<figure><img src ="${response.img}"/></figure>
|
||||
<figcaption>${response.name}</figcaption>
|
||||
<div><ul>${sku}</ul></div>
|
||||
<button type="button"><a href="${response.link}">Ver Produto</a></button>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
this.shelfList.innerHTML = structure
|
||||
}
|
||||
|
||||
async requestApi() {
|
||||
const api =
|
||||
"https://m3academy.myvtex.com/api/catalog_system/pub/products/search/?fq=productClusterIds:319";
|
||||
return fetch(api)
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
const prodInfo = data.map((response) => ({
|
||||
name: response.productName,
|
||||
skus: response.items.map((item) => item.name),
|
||||
img: response.items[0].images[0].imageUrl,
|
||||
link: response.link,
|
||||
}));
|
||||
return prodInfo
|
||||
});
|
||||
}
|
||||
|
||||
events() {
|
||||
window.addEventListener("hashchange", this.hashChange.bind(this))
|
||||
}
|
||||
|
||||
async shelfUpdate() {
|
||||
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) => {
|
||||
console.log(mutation.target.attributes.style.nodeValue);
|
||||
if(mutation.target.attributes.style.nodeValue == "display: none;") {
|
||||
this.createShelf();
|
||||
} else if (mutation.target.attributes.style.nodeValue == "display: block;") {
|
||||
this.removeShelf();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
observer.observe(target, config);
|
||||
}
|
||||
|
||||
hashChange(e) {
|
||||
if(e.newURL !== "https://m3academy.myvtex.com/checkout/#/cart") {
|
||||
this.itensShelf.classList.add("desativado");
|
||||
} else {
|
||||
this.itensShelf.classList.remove("desativado");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async addCarrossel() {
|
||||
const elemento = await waitElement("#my-element");
|
||||
const elemento = await waitElement(".footerCheckout__shelfList");
|
||||
$(elemento).slick({
|
||||
slidesToShow: 4,
|
||||
slidesToScroll: 1,
|
||||
arrows: true,
|
||||
infinite: false,
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 1024,
|
||||
settings: {
|
||||
slidesToShow: 3,
|
||||
slidesToScroll: 1,
|
||||
}
|
||||
},
|
||||
{
|
||||
breakpoint: 375,
|
||||
settings: {
|
||||
slidesToShow: 2,
|
||||
slidesToScroll: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
breakpoint: 290,
|
||||
settings: {
|
||||
slidesToShow: 1,
|
||||
slidesToScroll: 1
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
creditCardIconsHTML() {
|
||||
this.creditCardIcons.innerHTML = `
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/masterCardM3Academy.png" alt="Mastercard"></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/visaM3Academy.png" alt=""></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/amexM3Academy.png" alt="American Express"></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/eloM3Academy.png" alt="Elo"></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/hiperCardM3Academy.png" alt="Hipercard"></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/payPalM3Academy.png" alt="PayPal"></li>
|
||||
<li class="credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/boletoM3Academy.png" alt="Boleto"></li>
|
||||
<li><span class="footerCheckout__stamps__divider"></span></li>
|
||||
<li class="vtex-pci credit-card"><img src="https://agenciamagma.vteximg.com.br/arquivos/vtexPCIM3Academy.png" alt="PCI VTEX"></li>
|
||||
`;
|
||||
}
|
||||
|
||||
developedByIconsHTML() {
|
||||
this.developedByIcons.innerHTML = `
|
||||
<li>
|
||||
<div class="by-vtex">
|
||||
<a href="https://vtex.com.br-pt/">
|
||||
<span>Powered By</span>
|
||||
</a>
|
||||
<img class="vtex-logo" src="https://agenciamagma.vteximg.com.br/arquivos/logoVTEXM3Academy.png" alt="VTEX" />
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="by-m3">
|
||||
<a href="https://vtex.com.br-pt/">
|
||||
<span>Developed By</span>
|
||||
</a>
|
||||
<img class="m3-logo" src="https://agenciamagma.vteximg.com.br/arquivos/logoM3M3Academy.png" alt="M3" />
|
||||
</div>
|
||||
</li>
|
||||
`;
|
||||
}
|
||||
|
||||
removeShelf() {
|
||||
this.itensShelf.innerHTML = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,14 +8,166 @@ export default class Header {
|
||||
|
||||
async init() {
|
||||
await this.selectors();
|
||||
console.log(this.item);
|
||||
this.progressBarHTML();
|
||||
await this.barProgress();
|
||||
}
|
||||
|
||||
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.progressBar = await waitElement("#progressBar", {
|
||||
timeout: 5000,
|
||||
interval: 1000,
|
||||
});
|
||||
}
|
||||
|
||||
progressBarHTML() {
|
||||
if (this.progressBar && window.innerWidth > 1024) {
|
||||
this.progressBar.innerHTML = `
|
||||
<ul>
|
||||
<li>
|
||||
<div class="containerLi">
|
||||
<p class="progress-bar-text">Meu Carrinho</p>
|
||||
<div style="margin-left: 29px;">
|
||||
<p id="progress-bar-circle-1" class="progress-bar-circle"></p>
|
||||
<p class="progress-bar-line-1"></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="central">
|
||||
<div class="containerLi">
|
||||
<p class="progress-bar-text">Dados Pessoais</p>
|
||||
<p id="progress-bar-circle-2" class="progress-bar-circle"></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="containerLi">
|
||||
<p class="progress-bar-text">Pagamento</p>
|
||||
|
||||
<div style="margin-right: 22px;">
|
||||
<p id="progress-bar-circle-3" class="progress-bar-circle"></p>
|
||||
</div>
|
||||
<p class="progress-bar-line-2"></p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
`;
|
||||
}
|
||||
|
||||
if (this.progressBar && window.innerWidth <= 1024) {
|
||||
this.progressBar.innerHTML = ``;
|
||||
}
|
||||
}
|
||||
|
||||
async barProgress() {
|
||||
if (this.progressBar && window.innerWidth > 1024) {
|
||||
const progressBarLista = document.querySelectorAll("#progressBar ul li");
|
||||
progressBarLista.forEach((li) => {
|
||||
console.log(li.children[0]);
|
||||
const circleOne = li.children[0].children[1].children["progress-bar-circle-1"];
|
||||
const circleTwo = li.children[0].children["progress-bar-circle-2"];
|
||||
const circleThree = li.children[0].children[1].children["progress-bar-circle-3"];
|
||||
|
||||
if (window.location.href === "https://m3academy.myvtex.com/checkout/#/cart") {
|
||||
if (circleOne) {
|
||||
circleOne.classList.add("active");
|
||||
}
|
||||
if (circleTwo) {
|
||||
if (circleTwo.classList.contains("active")) {
|
||||
circleTwo.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleThree) {
|
||||
if (circleThree.classList.contains("active")) {
|
||||
circleThree.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 (circleOne) {
|
||||
if (circleOne.classList.contains("active")) {
|
||||
circleOne.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleTwo) {
|
||||
circleTwo.classList.add("active");
|
||||
}
|
||||
if (circleThree) {
|
||||
if (circleThree.classList.contains("active")) {
|
||||
circleThree.classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
window.location.href === "https://m3academy.myvtex.com/checkout/#/payment"
|
||||
) {
|
||||
if (circleOne) {
|
||||
if (circleOne.classList.contains("active")) {
|
||||
circleOne.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleTwo) {
|
||||
if (circleTwo.classList.contains("active")) {
|
||||
circleTwo.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleThree) {
|
||||
circleThree.classList.add("active");
|
||||
}
|
||||
}
|
||||
window.addEventListener("hashchange", () => {
|
||||
if (window.location.hash == "#/cart") {
|
||||
if (circleOne) {
|
||||
circleOne.classList.add("active");
|
||||
}
|
||||
if (circleTwo) {
|
||||
if (circleTwo.classList.contains("active")) {
|
||||
circleTwo.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleThree) {
|
||||
if (circleThree.classList.contains("active")) {
|
||||
circleThree.classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
window.location.hash === "#/email" ||
|
||||
window.location.hash === "#/profile" ||
|
||||
window.location.hash === "#/shipping"
|
||||
) {
|
||||
if (circleOne) {
|
||||
if (circleOne.classList.contains("active")) {
|
||||
circleOne.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleTwo) {
|
||||
circleTwo.classList.add("active");
|
||||
}
|
||||
|
||||
if (circleThree) {
|
||||
if (circleThree.classList.contains("active")) {
|
||||
circleThree.classList.remove("active");
|
||||
}
|
||||
}
|
||||
} else if (window.location.hash == "#/payment") {
|
||||
if (circleOne) {
|
||||
if (circleOne.classList.contains("active")) {
|
||||
circleOne.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleTwo) {
|
||||
if (circleTwo.classList.contains("active")) {
|
||||
circleTwo.classList.remove("active");
|
||||
}
|
||||
}
|
||||
if (circleThree) {
|
||||
circleThree.classList.add("active");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,12 +6,12 @@
|
||||
|
||||
.link-cart {
|
||||
a {
|
||||
color: $color-black;
|
||||
color: $color-black2;
|
||||
font-weight: 400;
|
||||
font-family: $font-family-secundary;
|
||||
font-size: 14px;
|
||||
|
||||
&:hover {
|
||||
color: lighen($color-black, 10);
|
||||
}
|
||||
line-height: 16px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,30 +22,55 @@
|
||||
justify-content: center;
|
||||
|
||||
h3 {
|
||||
margin-bottom: 16px;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 7px;
|
||||
|
||||
span {
|
||||
color: #303030;
|
||||
font-size: 24px;
|
||||
color: $color-black2;
|
||||
font-family: $font-family-secundary;
|
||||
font-size: 20px;
|
||||
line-height: 23px;
|
||||
text-transform: uppercase;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
small {
|
||||
color: $color-gray4;
|
||||
color: $color-black2;
|
||||
font-family: $font-family-secundary;
|
||||
font-size: 20px;
|
||||
line-height: 23px;
|
||||
text-transform: uppercase;
|
||||
font-weight: 400;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.client-email {
|
||||
margin: 0 0 16px;
|
||||
display: flex;
|
||||
margin: 0 0 47px;
|
||||
width: 57%;
|
||||
justify-content: flex-start;
|
||||
|
||||
input {
|
||||
box-shadow: none;
|
||||
color: $color-black;
|
||||
font-family: $font-family;
|
||||
padding: 0 16px;
|
||||
border: 2px solid $color-gray3;
|
||||
border: 1px solid $color-black2;
|
||||
border-right: none;
|
||||
box-sizing: border-box;
|
||||
border-radius: 5px;
|
||||
border-radius: 5px 0px 0px 5px;
|
||||
width: 77%;
|
||||
height: 52px;
|
||||
&::placeholder{
|
||||
color: $color-black2;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@media (max-width: 490px) {
|
||||
width: auto;
|
||||
@ -68,19 +93,44 @@
|
||||
}
|
||||
}
|
||||
|
||||
#btn-client-pre-email{
|
||||
right: 14px;
|
||||
padding: 4px 26px;
|
||||
height: 52px;
|
||||
background-color: $color-blue2;
|
||||
border-radius: 0px 8px 8px 0px;
|
||||
position: static;
|
||||
font-family: $font-family;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
line-height: 19px;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
span.help.error {
|
||||
color: red;
|
||||
position: absolute;
|
||||
left: 213px;
|
||||
top: 50px;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.emailInfo {
|
||||
padding: 16px;
|
||||
background-color: $color-white;
|
||||
border: 1px solid $color-gray4;
|
||||
border-radius: 0;
|
||||
border: 1px solid $color-black2;
|
||||
border-radius: 5px;
|
||||
|
||||
h3 {
|
||||
color: #303030;
|
||||
color: $color-black2;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
|
||||
@ -89,11 +139,16 @@
|
||||
|
||||
li {
|
||||
span {
|
||||
color: $color-black;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
color: $color-black2;
|
||||
}
|
||||
|
||||
i::before {
|
||||
color: $color-black;
|
||||
color: $color-blue2;
|
||||
font-size: 1rem;
|
||||
opacity: 1;
|
||||
}
|
||||
@ -108,35 +163,97 @@
|
||||
}
|
||||
}
|
||||
|
||||
.newsletter{
|
||||
margin-bottom: 44px;
|
||||
}
|
||||
|
||||
#go-to-shipping{
|
||||
width: 100%;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p.input.ship-country.text{
|
||||
display: none;
|
||||
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-addressFormPart1 small{
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.shipping-data,
|
||||
.payment-data,
|
||||
.client-profile-data {
|
||||
|
||||
.accordion-group {
|
||||
border-radius: 0;
|
||||
border: 1px solid $color-gray4;
|
||||
border: 1px solid $color-gray3;
|
||||
border-radius: 8px;
|
||||
font-family: $font-family;
|
||||
padding: 16px;
|
||||
padding: 17px 17px 29px 17px;
|
||||
|
||||
span{
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
.accordion-toggle{
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
div.row-fluid:before{
|
||||
display: none;
|
||||
}
|
||||
|
||||
p.link.link-gift-card{
|
||||
display: none !important;
|
||||
}
|
||||
.row-fluid:before{
|
||||
content: "Solicitamos apenas informações necessárias para realização da sua compra, sem compromenter seu dados";
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.accordion-heading {
|
||||
span {
|
||||
color: #303030;
|
||||
margin-bottom: 8px;
|
||||
color: $color-black;
|
||||
margin-bottom: 15px;
|
||||
padding: 0;
|
||||
|
||||
i::before {
|
||||
fill: #303030;
|
||||
i {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
&.icon-edit{
|
||||
|
||||
&::before{
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-image:url(https://agenciamagma.vteximg.com.br/arquivos/lapisM3Academy.png) ;
|
||||
background-repeat: no-repeat;
|
||||
margin-top: 7px;
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
padding: 0;
|
||||
display: block !important;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,22 +261,45 @@
|
||||
padding: 0;
|
||||
|
||||
/* General configurations */
|
||||
.box-client-info-pj{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.client-notice {
|
||||
color: $color-black;
|
||||
display: none;
|
||||
}
|
||||
|
||||
p {
|
||||
label {
|
||||
color: $color-black;
|
||||
font-weight: 500;
|
||||
color: $color-gray2;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 19px;
|
||||
|
||||
span.newsletter-text{
|
||||
color: $color-gray9;
|
||||
}
|
||||
}
|
||||
|
||||
select,
|
||||
input {
|
||||
border-radius: 0;
|
||||
border: 1px solid $color-gray4;
|
||||
border-radius: 5px;
|
||||
border: 1px solid $color-gray10;
|
||||
box-shadow: none;
|
||||
padding: 10px 6px;
|
||||
|
||||
&#opt-in-newsletter{
|
||||
border-radius: 3px;
|
||||
color: $color-gray11;
|
||||
}
|
||||
}
|
||||
|
||||
#ship-postalCode{
|
||||
width: 100%;
|
||||
max-width: 95%;
|
||||
}
|
||||
|
||||
.help.error {
|
||||
@ -180,13 +320,25 @@
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.submit.btn-submit-wrapper{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
button.submit {
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
background: $color-black;
|
||||
border-radius: 8px;
|
||||
background: $color-blue2;
|
||||
margin-top: 8px;
|
||||
outline: none;
|
||||
transition: all 0.2s linear;
|
||||
font-family: $font-family;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
line-height: 19px;
|
||||
color: $color-white;
|
||||
letter-spacing: 0.05em;
|
||||
text-transform: uppercase;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-black, 5);
|
||||
@ -197,24 +349,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* Shipping configurations */
|
||||
/* Shipping */
|
||||
|
||||
.ship-postalCode small a {
|
||||
color: #303030;
|
||||
font-weight: 500;
|
||||
color: $color-black;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-deliveryGroup {
|
||||
p {
|
||||
color: #303030;
|
||||
color: $color-gray2;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 19px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.shp-lean {
|
||||
border: 1px solid $color-gray4;
|
||||
border-radius: 0;
|
||||
border: 1px solid $color-gray10;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
label {
|
||||
background-color: $color-white;
|
||||
@ -230,30 +387,47 @@
|
||||
}
|
||||
|
||||
.delivery-address-title {
|
||||
color: #303030;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: $color-gray2;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
letter-spacing: 0.05em;
|
||||
margin-bottom: 11px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.shp-summary-group-info {
|
||||
border-color: $color-gray4;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.address-summary {
|
||||
background: none;
|
||||
border-color: $color-gray4;
|
||||
border-radius: 0;
|
||||
border-color: $color-gray10;
|
||||
border-radius: 8px;
|
||||
color: #303030;
|
||||
padding: 12px;
|
||||
padding-top: 2px;
|
||||
&::before{
|
||||
content: "";
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-image: url(https://agenciamagma.vteximg.com.br/arquivos/homeM3Academy.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 24px;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
background-position: 8px 9px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #303030;
|
||||
font-weight: 500;
|
||||
text-decoration: underline;
|
||||
color: $color-blue2;
|
||||
float: right;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
}
|
||||
|
||||
@ -264,24 +438,88 @@
|
||||
|
||||
.shp-summary-group-price {
|
||||
padding-right: 16px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.shp-summary-package {
|
||||
padding-left: 16px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-summaryChange {
|
||||
border-color: #303030;
|
||||
color: #303030;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-deliveryChannelsToggle {
|
||||
background-color: #d8c8ac;
|
||||
border: 1px solid #d8c8ac;
|
||||
background-color: $color-white;
|
||||
border: 1px solid $color-black;
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-deliveryOptionActive {
|
||||
text-shadow: 1.3px 1px lighten($color-black, 50);
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 19px;
|
||||
text-transform: uppercase;
|
||||
color: $color-purple;
|
||||
}
|
||||
|
||||
.vtex-omnishipping-1-x-deliveryOptionInactive{
|
||||
color: $color-gray8;
|
||||
}
|
||||
|
||||
p.input.ship-number.required.text{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input#ship-number.input-mini,
|
||||
input#ship-complement.input-large,
|
||||
input#ship-receiverName.input-xlarge {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.steps-view{
|
||||
width: 57%;
|
||||
margin-top: 35px;
|
||||
|
||||
}
|
||||
|
||||
span.payment-group-item-text{
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
.payment-group-item{
|
||||
border-right: 1px solid $color-black2 ;
|
||||
border: 1px solid $color-black2;
|
||||
border-radius: 6px;
|
||||
display: none;
|
||||
opacity: 0.3;
|
||||
margin-bottom: 12px;
|
||||
mix-blend-mode: normal;
|
||||
padding: 13px 24.5px;
|
||||
background: $color-gray3;
|
||||
color: $color-gray6;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
letter-spacing: -0.01em;
|
||||
|
||||
&-text{
|
||||
padding: 5px 0 5px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.payment-group-item.active{
|
||||
margin-left: 5px;
|
||||
border-radius: 6px;
|
||||
border-right: 1px solid $color-orange ;
|
||||
border: 1px solid $color-orange;
|
||||
color: $color-orange;
|
||||
text-decoration: none;
|
||||
opacity: 1;
|
||||
background: rgba(220, 221, 227, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -782,7 +782,7 @@
|
||||
|
||||
.btn-place-order-wrapper {
|
||||
a {
|
||||
background: $color-green;
|
||||
background: $color-blue2;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
display: block;
|
||||
@ -791,7 +791,7 @@
|
||||
padding: 12px 19px;
|
||||
|
||||
&:hover {
|
||||
background-color: darken($color-green, 5);
|
||||
background-color: darken($color-black, 5);
|
||||
}
|
||||
|
||||
&:after {
|
||||
@ -799,11 +799,11 @@
|
||||
font-family: $font-family;
|
||||
font-weight: 500;
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.05em;
|
||||
color: $color-white;
|
||||
text-transform: uppercase;
|
||||
vertical-align: middle;
|
||||
letter-spacing: 0.05em;
|
||||
line-height: 19px;
|
||||
vertical-align: middle;
|
||||
color: $color-white;
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
@ -9,3 +9,24 @@ body .container-main.container-order-form .orderform-template.active {
|
||||
width: 66.1132%;
|
||||
}
|
||||
}
|
||||
|
||||
body .container-main.container-order-form .orderform-template.active {
|
||||
.mini-cart {
|
||||
width: 32.3242%;
|
||||
margin-left: unset;
|
||||
margin-right: 0;
|
||||
float: right;
|
||||
.payment-submit-wrap{
|
||||
margin-top: 15px;
|
||||
}
|
||||
}
|
||||
.orderform-template-holder {
|
||||
width: 66.1132%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.cart-template .cart-fixed #payment-data-submit
|
||||
{
|
||||
background-color: $color-blue2;
|
||||
}
|
||||
|
@ -3,21 +3,36 @@
|
||||
&-content {
|
||||
color: $color-black;
|
||||
text-align: center;
|
||||
color: $color-black;
|
||||
|
||||
@include mq(md, max) {
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
&-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&-title {
|
||||
font-size: 20px;
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 24px;
|
||||
line-height: 33px;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
color: $color-black2;
|
||||
}
|
||||
|
||||
&-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&-links {
|
||||
.link-choose-products {
|
||||
background: $color-black;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
background: $color-white;
|
||||
color: $color-black !important;
|
||||
border-radius: 1px solid $color-black2;
|
||||
transition: ease-in 0.22s all;
|
||||
outline: none;
|
||||
font-family: $font-family;
|
||||
@ -27,11 +42,11 @@
|
||||
line-height: 16px;
|
||||
text-align: center;
|
||||
letter-spacing: 0.05em;
|
||||
color: $color-white;
|
||||
text-transform: uppercase;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-black, 5);
|
||||
color: $color-white !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,14 +9,29 @@ html {
|
||||
}
|
||||
|
||||
footer .footerCheckout__wrapper {
|
||||
width: 94.9734%;
|
||||
width: 100%;
|
||||
margin: auto auto 0 auto;
|
||||
border-top: 1px solid $color-black2;
|
||||
.container{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 94.9734%;
|
||||
}
|
||||
}
|
||||
footer .footerCheckout__prateleira,
|
||||
header {
|
||||
width: 79.53125%;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
header{
|
||||
border-bottom: 1px solid $color-black2;
|
||||
padding: 29px 0;
|
||||
}
|
||||
.headerCheckout__safeBuy{
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
@ -24,6 +39,156 @@ body {
|
||||
min-height: 100% !important;
|
||||
padding-top: 0 !important;
|
||||
|
||||
.PaymentCardNumber input {
|
||||
width: 64%;
|
||||
height: 25px;
|
||||
}
|
||||
p.PaymentCardHolderDocument.input.text.required.mask{
|
||||
display: none;
|
||||
}
|
||||
.PaymentInstallments select{
|
||||
width: 68%;
|
||||
}
|
||||
input#creditCardpayment-card-0Name.input-medium{
|
||||
width: 34%;
|
||||
height: 25px;
|
||||
}
|
||||
.input#creditCardpayment-card-0Code.input-mini{
|
||||
width: 16%;
|
||||
height: 25px;
|
||||
}
|
||||
#ship-postalCode{
|
||||
border: 1px solid $color-gray8;
|
||||
border-radius: 8px;
|
||||
}
|
||||
#find-pickups-manualy-button-denied{
|
||||
color: $color-black2;
|
||||
outline: none;
|
||||
&:hover{
|
||||
background: $color-white;
|
||||
color: $color-black2;
|
||||
}
|
||||
&:active{
|
||||
background: $color-white;
|
||||
color: $color-black2;
|
||||
}
|
||||
}
|
||||
#payment-data-submit{
|
||||
i.icon-lock{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
tbody.totalizers-list{
|
||||
tr.srp-summary-result.hide{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
div.cart-fixed.cart-fixed-transition.affix-top{
|
||||
.Items{
|
||||
border-top: 1px solid $color-gray10;
|
||||
border-bottom: 1px solid $color-gray10;
|
||||
.info{
|
||||
padding: 26px 0 !important;
|
||||
padding-left: 17px !important;
|
||||
float: none;
|
||||
}
|
||||
.monetary{
|
||||
padding-right: 17px !important;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
.Discounts{
|
||||
border-bottom: 1px solid $color-gray10;
|
||||
.info{
|
||||
padding: 26px 0 !important;
|
||||
padding-left: 17px !important;
|
||||
float: none;
|
||||
}
|
||||
.monetary{
|
||||
padding-right: 17px !important;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
tfoot {
|
||||
td.info,
|
||||
td.monetary {
|
||||
padding-top: 30px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
td.info{
|
||||
padding-left: 17px;
|
||||
}
|
||||
td.monetary{
|
||||
padding-right: 17px;
|
||||
}
|
||||
}
|
||||
div.span5.totalizers.summary-totalizers.cart-totalizers.pull-right{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
button#payment-data-submit.submit.btn.btn-success.btn-large.btn-block{
|
||||
margin-top: 47px;
|
||||
}
|
||||
}
|
||||
div#client-profile-data.span6.client-profile-data{
|
||||
.client-profile-email{
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.client-profile-summary{
|
||||
span{
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
}
|
||||
span{
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
&::after{
|
||||
content: "Identificação";
|
||||
font-family: $font-family-secundary;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
line-height: 19px;
|
||||
color: $color-black;
|
||||
}
|
||||
}
|
||||
span.accordion-toggle.collapsed,
|
||||
span.email,
|
||||
span.name,
|
||||
span.tel,
|
||||
span.newsletter-text{
|
||||
&::after{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
span.email,
|
||||
span.name,
|
||||
span.tel{
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
color: $color-gray2;
|
||||
}
|
||||
span.newsletter-text{
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
color: $color-gray9;
|
||||
}
|
||||
}
|
||||
|
||||
a#payment-group-creditCardPaymentGroup.payment-group-item,
|
||||
a#payment-group-bankInvoicePaymentGroup.payment-group-item {
|
||||
display: block;
|
||||
|
||||
}
|
||||
.payment-group-list-btn{
|
||||
width: 105%;
|
||||
}
|
||||
|
||||
@include mq(md, max) {
|
||||
padding-left: 0;
|
||||
}
|
||||
@ -47,34 +212,33 @@ body {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.container-order-form,
|
||||
.container-cart {
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
.row-fluid .full-cart.active{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
background: $color-black;
|
||||
background: $color-white;
|
||||
text-shadow: none;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-black, 15%);
|
||||
background: lighten($color-white, 15%);
|
||||
}
|
||||
}
|
||||
|
||||
.emailInfo h3 {
|
||||
color: $color-black !important;
|
||||
}
|
||||
|
||||
#cart-title,
|
||||
#orderform-title {
|
||||
color: $color-gray2;
|
||||
color: $color-black2;
|
||||
font-family: $font-family;
|
||||
font-weight: 500;
|
||||
font-size: 36px;
|
||||
line-height: 42px;
|
||||
margin: 40px 0 30px;
|
||||
letter-spacing: 0.1em;
|
||||
font-weight: 700;
|
||||
font-size: 24px;
|
||||
line-height: 33px;
|
||||
margin: 17px 0;
|
||||
text-transform: uppercase;
|
||||
|
||||
@include mq(md, max) {
|
||||
@ -82,6 +246,18 @@ body {
|
||||
}
|
||||
}
|
||||
|
||||
#cart-title{
|
||||
display: block !important;
|
||||
font-weight: 700;
|
||||
font-size: 24px;
|
||||
line-height: 33px;
|
||||
width: max-content;
|
||||
color: $color-black;
|
||||
margin: 16px 0;
|
||||
letter-spacing: 0.05em;
|
||||
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
&__content {
|
||||
&--closed {
|
||||
|
@ -3,10 +3,48 @@
|
||||
border-top: none;
|
||||
color: $color-gray2;
|
||||
|
||||
&__prateleira{
|
||||
.footerCheckout__prateleira-title {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
&__wrapper {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-top: 56px;
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.footerCheckout__address{
|
||||
width: 21.02%;
|
||||
left: 2.5%;
|
||||
}
|
||||
|
||||
.footerCheckout__stamps {
|
||||
width: 31.56%;
|
||||
}
|
||||
|
||||
.footerCheckout__developedBy{
|
||||
display: flex;
|
||||
width: 16.95%;
|
||||
right: 2.5%;
|
||||
|
||||
.by-vtex, .by-m3{
|
||||
display: flex;
|
||||
|
||||
.vtex-logo, .m3-logo{
|
||||
width: 50% ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__address {
|
||||
@ -71,4 +109,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.desativado {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,108 @@
|
||||
.headerCheckout {
|
||||
.container {
|
||||
width: auto !important;
|
||||
#progressBar {
|
||||
width: 439px;
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
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 .container div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
li {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: "Tenor Sans";
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
line-height: 28px;
|
||||
color: #000000;
|
||||
width: 39.9103%;
|
||||
@media (min-width: 2500px) {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
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 #000000;
|
||||
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: #000000;
|
||||
}
|
||||
|
||||
li .progress-bar-line-1 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
left: 25%;
|
||||
transform: translateY(-50%);
|
||||
bottom: 5px;
|
||||
height: 1px;
|
||||
border-top: 1px solid #000000;
|
||||
}
|
||||
|
||||
li .progress-bar-line-2 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
right: 21%;
|
||||
transform: translateY(-50%);
|
||||
bottom: 5px;
|
||||
height: 1px;
|
||||
border-top: 1px solid #000000;
|
||||
}
|
||||
}
|
||||
|
||||
.active {
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
&__wrapper {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
@ -19,17 +120,18 @@
|
||||
&__safeBuy {
|
||||
span {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
|
||||
text-transform: uppercase;
|
||||
font-family: $font-family;
|
||||
line-height: 15px;
|
||||
color: $color-gray;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
color: $color-gray;
|
||||
}
|
||||
|
||||
i {
|
||||
img {
|
||||
width: 12px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
@ -6,18 +6,31 @@ $font-family-secundary:"Tenor Sans", sans-serif;
|
||||
|
||||
/* Colors */
|
||||
$color-black: #292929;
|
||||
$color-black2: #000000;
|
||||
|
||||
$color-white: #fff;
|
||||
|
||||
$color-purple: #41115D;
|
||||
|
||||
$color-gray: #6c6c6c;
|
||||
$color-gray2: #7d7d7d;
|
||||
$color-gray3: #f0f0f0;
|
||||
$color-gray4: #8d8d8d;
|
||||
$color-gray5: #e5e5e5;
|
||||
$color-gray6: #58595B;
|
||||
$color-gray7: #EDEDED;
|
||||
$color-gray8: #C4C4C4;
|
||||
$color-gray9: #808080;
|
||||
$color-gray10: #E0E0E0;
|
||||
$color-gray11: #828282;
|
||||
|
||||
$color-blue: #4267b2;
|
||||
$color-blue2: #00C8FF;
|
||||
|
||||
$color-green: #4caf50;
|
||||
$color-green2: #298541;
|
||||
|
||||
$color-orange: #F15A31;
|
||||
|
||||
/* Grid breakpoints */
|
||||
$grid-breakpoints: (
|
||||
|
Loading…
Reference in New Issue
Block a user