feature/footer #2

Merged
naianfelix merged 3 commits from feature/footer into main 2023-01-17 18:07:22 +00:00
15 changed files with 808 additions and 63 deletions
Showing only changes of commit 4092ee89be - Show all commits

View File

@ -0,0 +1,11 @@
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_6736_57)">
<path d="M38.3559 54.982V37.0878H44.347L45.2458 30.112H38.3559V25.659C38.3559 23.64 38.913 22.264 41.8054 22.264L45.4883 22.2625V16.0231C44.8514 15.9402 42.6651 15.75 40.1205 15.75C34.8069 15.75 31.1692 19.0003 31.1692 24.9681V30.112H25.1599V37.0878H31.1692V54.982H38.3559Z" fill="#303030"/>
</g>
<circle cx="35" cy="35" r="34" stroke="#303030" stroke-width="2"/>
<defs>
<clipPath id="clip0_6736_57">
<rect width="39.148" height="39.232" fill="white" transform="translate(15.75 15.75)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 647 B

View File

@ -0,0 +1,13 @@
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_6736_62)">
<path d="M44.1992 15.75H26.5932C20.6143 15.75 15.75 20.6069 15.75 26.5766V44.1552C15.75 50.1251 20.6143 54.9818 26.5932 54.9818H44.1992C50.1786 54.9818 55.0429 50.1249 55.0429 44.1552V26.5766C55.0431 20.6069 50.1786 15.75 44.1992 15.75ZM51.5568 44.1552C51.5568 48.2058 48.2563 51.501 44.1994 51.501H26.5932C22.5366 51.5012 19.2363 48.2058 19.2363 44.1552V26.5766C19.2363 22.5263 22.5366 19.2308 26.5932 19.2308H44.1992C48.2561 19.2308 51.5566 22.5263 51.5566 26.5766V44.1552H51.5568Z" fill="#303030"/>
<path d="M35.3965 25.2573C29.8136 25.2573 25.2717 29.7922 25.2717 35.3664C25.2717 40.9403 29.8136 45.4749 35.3965 45.4749C40.9794 45.4749 45.5213 40.9403 45.5213 35.3664C45.5213 29.7922 40.9794 25.2573 35.3965 25.2573ZM35.3965 41.9939C31.7362 41.9939 28.758 39.0208 28.758 35.3661C28.758 31.7113 31.7359 28.7379 35.3965 28.7379C39.0571 28.7379 42.035 31.7113 42.035 35.3661C42.035 39.0208 39.0568 41.9939 35.3965 41.9939Z" fill="#303030"/>
<path d="M45.946 22.3059C45.2743 22.3059 44.6145 22.5774 44.1401 23.0531C43.6634 23.5265 43.3894 24.1856 43.3894 24.8585C43.3894 25.5294 43.6637 26.1882 44.1401 26.6639C44.6142 27.1373 45.2743 27.4111 45.946 27.4111C46.62 27.4111 47.2777 27.1373 47.7542 26.6639C48.2306 26.1882 48.5026 25.5292 48.5026 24.8585C48.5026 24.1856 48.2306 23.5265 47.7542 23.0531C47.2801 22.5774 46.62 22.3059 45.946 22.3059Z" fill="#303030"/>
</g>
<circle cx="35" cy="35" r="34" stroke="#303030" stroke-width="2"/>
<defs>
<clipPath id="clip0_6736_62">
<rect width="39.2931" height="39.232" fill="white" transform="translate(15.75 15.75)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,13 @@
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="35" cy="35" r="34" stroke="#303030" stroke-width="2"/>
<g clip-path="url(#clip0_6736_77)">
<path d="M26.8891 27.718H20.5959C20.3166 27.718 20.0903 27.9444 20.0903 28.2236V48.4407C20.0903 48.72 20.3166 48.9464 20.5959 48.9464H26.8891C27.1684 48.9464 27.3947 48.72 27.3947 48.4407V28.2236C27.3947 27.9444 27.1684 27.718 26.8891 27.718Z" fill="#303030"/>
<path d="M23.745 17.6675C21.4552 17.6675 19.5923 19.5283 19.5923 21.8156C19.5923 24.1039 21.4552 25.9655 23.745 25.9655C26.0329 25.9655 27.8943 24.1038 27.8943 21.8156C27.8944 19.5283 26.0329 17.6675 23.745 17.6675Z" fill="#303030"/>
<path d="M42.8963 27.2153C40.3688 27.2153 38.5004 28.3019 37.3671 29.5365V28.2234C37.3671 27.9442 37.1408 27.7178 36.8615 27.7178H30.8347C30.5554 27.7178 30.3291 27.9442 30.3291 28.2234V48.4406C30.3291 48.7199 30.5554 48.9462 30.8347 48.9462H37.1141C37.3934 48.9462 37.6197 48.7199 37.6197 48.4406V38.4378C37.6197 35.0671 38.5353 33.7539 40.8849 33.7539C43.4439 33.7539 43.6473 35.859 43.6473 38.6112V48.4407C43.6473 48.72 43.8736 48.9463 44.1529 48.9463H50.4346C50.7139 48.9463 50.9402 48.72 50.9402 48.4407V37.3512C50.9402 32.3391 49.9845 27.2153 42.8963 27.2153Z" fill="#303030"/>
</g>
<defs>
<clipPath id="clip0_6736_77">
<rect width="31.3478" height="31.3478" fill="white" transform="translate(19.5923 17.6331)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,4 @@
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="35" cy="35" r="34" stroke="#303030" stroke-width="2"/>
<path d="M59.9828 20.3127C58.1893 21.0994 56.2783 21.6209 54.2859 21.8741C56.3356 20.6503 57.9 18.7272 58.6354 16.4093C56.7244 17.5487 54.6145 18.3535 52.3659 18.8026C50.5513 16.8705 47.9651 15.6738 45.1438 15.6738C39.67 15.6738 35.2632 20.1168 35.2632 25.5635C35.2632 26.3472 35.3295 27.1007 35.4923 27.8181C27.2725 27.4172 19.9992 23.4776 15.1132 17.4763C14.2602 18.9563 13.7598 20.6503 13.7598 22.4739C13.7598 25.898 15.5231 28.9334 18.1515 30.6906C16.563 30.6605 15.0047 30.1993 13.6845 29.4729C13.6845 29.503 13.6845 29.5422 13.6845 29.5814C13.6845 34.3861 17.1116 38.3769 21.6058 39.2962C20.801 39.5163 19.9239 39.6218 19.0136 39.6218C18.3806 39.6218 17.7416 39.5856 17.1418 39.453C18.4228 43.3684 22.058 46.247 26.3803 46.3404C23.0165 48.9718 18.7453 50.5573 14.1215 50.5573C13.3107 50.5573 12.533 50.5212 11.7554 50.4217C16.135 53.246 21.3255 54.8586 26.9229 54.8586C45.1167 54.8586 55.0636 39.7875 55.0636 26.7239C55.0636 26.2869 55.0485 25.8649 55.0274 25.4459C56.9897 24.0533 58.6385 22.3141 59.9828 20.3127Z" fill="#303030"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,4 @@
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M34 17C34 26.3888 26.3888 34 17 34C7.61116 34 0 26.3888 0 17C0 7.61116 7.61116 0 17 0C26.3888 0 34 7.61116 34 17Z" fill="#C4C4C4"/>
<path d="M23.6 19.1365C23.5989 19.249 23.5519 19.3612 23.4588 19.4489L23.4587 19.449C23.2574 19.639 22.9216 19.6389 22.7204 19.449L22.7204 19.449L17.7744 14.7826L17.4999 14.5236L17.2254 14.7826L12.2797 19.4488C12.2797 19.4488 12.2796 19.4489 12.2796 19.4489C12.0781 19.6389 11.7424 19.6388 11.5412 19.4489L11.5411 19.4488C11.4483 19.3613 11.4013 19.2494 11.4 19.1372C11.4011 19.0247 11.4481 18.9124 11.5412 18.8246L11.5412 18.8246L17.1308 13.551C17.1308 13.5509 17.1309 13.5509 17.1309 13.5509C17.2292 13.4582 17.3616 13.4085 17.4999 13.4085C17.6382 13.4085 17.7708 13.4583 17.8691 13.551C17.8691 13.551 17.8691 13.551 17.8691 13.551L23.4587 18.8247L23.4588 18.8248C23.5516 18.9124 23.5987 19.0243 23.6 19.1365Z" fill="white" stroke="white" stroke-width="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 1006 B

View File

@ -0,0 +1,11 @@
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3403_1267)">
<path d="M17.0042 0H16.9958C7.62238 0 0 7.6245 0 17C0 20.7188 1.1985 24.1655 3.23638 26.9641L1.11775 33.2796L7.65213 31.1908C10.3403 32.9715 13.5469 34 17.0042 34C26.3776 34 34 26.3734 34 17C34 7.62663 26.3776 0 17.0042 0Z" fill="#4CAF50"/>
<path d="M26.8961 24.0061C26.486 25.1642 24.8582 26.1247 23.5599 26.4052C22.6716 26.5944 21.5114 26.7452 17.6056 25.126C12.6097 23.0562 9.39249 17.9796 9.14174 17.6502C8.90161 17.3209 7.12299 14.9621 7.12299 12.5226C7.12299 10.0831 8.36186 8.89524 8.86124 8.38524C9.27136 7.96662 9.94924 7.77537 10.5995 7.77537C10.8099 7.77537 10.999 7.78599 11.169 7.79449C11.6684 7.81574 11.9191 7.84549 12.2485 8.63387C12.6586 9.62199 13.6574 12.0615 13.7764 12.3122C13.8975 12.563 14.0186 12.903 13.8486 13.2324C13.6892 13.5724 13.549 13.7232 13.2982 14.0122C13.0475 14.3012 12.8095 14.5222 12.5587 14.8325C12.3292 15.1024 12.07 15.3914 12.359 15.8907C12.648 16.3795 13.6467 18.0094 15.1172 19.3184C17.0149 21.0077 18.5534 21.5475 19.1037 21.777C19.5139 21.947 20.0026 21.9066 20.3022 21.5879C20.6826 21.1777 21.1522 20.4977 21.6304 19.8284C21.9704 19.3481 22.3996 19.2886 22.8501 19.4586C23.3091 19.618 25.738 20.8186 26.2374 21.0672C26.7367 21.318 27.0661 21.437 27.1872 21.6474C27.3062 21.8577 27.3062 22.8459 26.8961 24.0061Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_3403_1267">
<rect width="34" height="34" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,4 @@
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="35" cy="35" r="34" stroke="#303030" stroke-width="2"/>
<path d="M55.6053 24.4975C55.0893 22.5794 53.5771 21.0674 51.6593 20.5509C48.1557 19.5923 34.1411 19.5923 34.1411 19.5923C34.1411 19.5923 20.127 19.5923 16.6234 20.5146C14.7425 21.0305 13.1933 22.5797 12.6774 24.4975C11.7554 28.0008 11.7554 35.2662 11.7554 35.2662C11.7554 35.2662 11.7554 42.5682 12.6774 46.0349C13.1939 47.9527 14.7056 49.4647 16.6237 49.9812C20.1639 50.9401 34.1416 50.9401 34.1416 50.9401C34.1416 50.9401 48.1557 50.9401 51.6593 50.0178C53.5773 49.5016 55.0893 47.9896 55.6058 46.0718C56.5276 42.5682 56.5276 35.3031 56.5276 35.3031C56.5276 35.3031 56.5644 28.0008 55.6053 24.4975ZM29.6791 41.9782V28.5542L41.333 35.2662L29.6791 41.9782Z" fill="#303030"/>
</svg>

After

Width:  |  Height:  |  Size: 846 B

View File

@ -9,35 +9,137 @@ import boleto from "../../assets/img/Boleto.svg";
import vtex from "../../assets/img/vtex-pci-200.svg";
import vtexP from "../../assets/img/vtex-powered.svg";
import m3 from "../../assets/img/m3-develop.svg";
import facebook from "../../assets/img/face.svg";
import instagram from "../../assets/img/insta.svg";
import twitter from "../../assets/img/twitter.svg";
import youtube from "../../assets/img/youtube.svg";
import linkedin from "../../assets/img/link.svg";
import style from "./footer.module.css";
const Footer = () => {
// const [open, setOpen] = useState(false);
// const clickAccordion = () => {
// setOpen(true);
// };
return (
<div className={style["footer"]}>
<div className={style["first-text"]}>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor
</p>
<>
<div className={style["footer-top"]}>
<section className={style["institucional"]}>
<h1>INSTITUCIONAL</h1>
<div className={style["wrapper"]}>
<a href="/">Quem Somos</a>
<a href="/">Política de Privacidade</a>
<a href="/">Segurança</a>
<a className={style["last-link"]} href="/">
Seja um Revendedor
</a>
</div>
</section>
<section className={style["duvidas"]}>
<h1>DÚVIDAS</h1>
<div className={style["wrapper"]}>
<a href="/">Entrega</a>
<a href="/">Pagamento</a>
<a href="/">Troca e Devoluções</a>
<a className={style["last-link"]} href="/">
Dúvidas Frequentes
</a>
</div>
</section>
<section className={style["fale-conosco"]}>
<h1>FALE CONOSCO</h1>
<div className={style["wrapper"]}>
<h2>Atendimento ao Consumidor</h2>
<a href="/">(11) 4159 9504</a>
<h2>Atendimento Online</h2>
<a className={style["last-link"]} href="/">
(11) 99433-8825
</a>
</div>
</section>
<div className={style["social-network"]}>
<div className={style["icons-wrapper"]}>
<a href="/">
<img
className={style["icon-facebook"]}
src={facebook}
alt="Logo Facebook"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={instagram}
alt="Logo Instagram"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={twitter}
alt="Logo Twitter"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={youtube}
alt="Logo Youtube"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={linkedin}
alt="Logo Linkedin"
/>
</a>
</div>
<a className={style["url-link"]} href="/">
www.loremipsum.com
</a>
</div>
<div className={style["float-buttons"]}>
<button className={style["button-whats"]}></button>
<button className={style["up-button"]}></button>
</div>
</div>
<div className={style["cards"]}>
<img className={style["icons"]} src={master} alt="Mastercard" />
<img className={style["icons"]} src={visa} alt="Visa" />
<img className={style["icons"]} src={amex} alt="American Express" />
<img className={style["icons"]} src={elo} alt="Elo" />
<img className={style["icons"]} src={hiper} alt="Hipercard" />
<img className={style["icons"]} src={paypal} alt="Pay Pal" />
<img className={style["icons"]} src={boleto} alt="Boleto" />
<span></span>
<img className={style["icon-vtex"]} src={vtex} alt="Vtex" />
<div className={style["footer-bottom"]}>
<div className={style["first-text"]}>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor
</p>
</div>
<div className={style["cards"]}>
<img className={style["icons"]} src={master} alt="Mastercard" />
<img className={style["icons"]} src={visa} alt="Visa" />
<img className={style["icons"]} src={amex} alt="American Express" />
<img className={style["icons"]} src={elo} alt="Elo" />
<img className={style["icons"]} src={hiper} alt="Hipercard" />
<img className={style["icons"]} src={paypal} alt="Pay Pal" />
<img className={style["icons"]} src={boleto} alt="Boleto" />
<span className="divisor"></span>
<img className={style["icon-vtex"]} src={vtex} alt="Vtex" />
</div>
<div className={style["powered"]}>
<p>Powered by</p>
<img className={style["vtexP"]} src={vtexP} alt="Vtex" />
<p>Developed by</p>
<img className={style["m3"]} src={m3} alt="logo M3" />
</div>
</div>
<div className={style["powered"]}>
<p>Powered by</p>
<img className={style["vtexP"]} src={vtexP} alt="Vtex" />
<p>Developed by</p>
<img className={style["m3"]} src={m3} alt="logo M3" />
</div>
</div>
</>
);
};

View File

@ -0,0 +1,189 @@
import React, { useState } from "react";
import master from "../../assets/img/Master.svg";
import visa from "../../assets/img/Visa.svg";
import amex from "../../assets/img/Diners.svg";
import elo from "../../assets/img/Elo.svg";
import hiper from "../../assets/img/Hiper.svg";
import paypal from "../../assets/img/Pagseguro.svg";
import boleto from "../../assets/img/Boleto.svg";
import vtex from "../../assets/img/vtex-pci-200.svg";
import vtexP from "../../assets/img/vtex-powered.svg";
import m3 from "../../assets/img/m3-develop.svg";
import facebook from "../../assets/img/face.svg";
import instagram from "../../assets/img/insta.svg";
import twitter from "../../assets/img/twitter.svg";
import youtube from "../../assets/img/youtube.svg";
import linkedin from "../../assets/img/link.svg";
import style from "./footerMobile.module.css";
interface AccordionStates {
institucional: boolean;
duvidas: boolean;
faleConosco: boolean;
}
const FooterMobile = () => {
const [accordions, setAccordions] = useState<AccordionStates>({
institucional: false,
duvidas: false,
faleConosco: false,
});
const toggleAccordion = (
name: "institucional" | "duvidas" | "faleConosco"
) => {
setAccordions({ ...accordions, [name]: !accordions[name] });
};
return (
<>
<div className={style["footer-top"]}>
<section className={style["institucional"]}>
<button
onClick={() => toggleAccordion("institucional")}
className={style["button-title"]}>
<span>Institucional</span>
<span className={style["signal"]}>
{accordions.institucional ? "-" : "+"}
</span>
</button>
<div
className={`${style["wrapper"]} ${
accordions.institucional ? style["active"] : ""
}`}>
<a href="/">Quem Somos</a>
<a href="/">Política de Privacidade</a>
<a href="/">Segurança</a>
<a className={style["last-link"]} href="/">
Seja um Revendedor
</a>
</div>
</section>
<section className={style["duvidas"]}>
<button
onClick={() => toggleAccordion("duvidas")}
className={style["button-title"]}>
<span>Dúvidas</span>
<span className={style["signal"]}>
{accordions.duvidas ? "-" : "+"}
</span>
</button>
<div
className={`${style["wrapper"]} ${
accordions.duvidas ? style["active"] : ""
}`}>
<a href="/">Entrega</a>
<a href="/">Pagamento</a>
<a href="/">Troca e Devoluções</a>
<a className={style["last-link"]} href="/">
Dúvidas Frequentes
</a>
</div>
</section>
<section className={style["fale-conosco"]}>
<button
onClick={() => toggleAccordion("faleConosco")}
className={style["button-title"]}>
<span>Fale Conosco</span>
<span className={style["signal"]}>
{accordions.faleConosco ? "-" : "+"}
</span>
</button>
<div
className={`${style["wrapper"]} ${
accordions.faleConosco ? style["active"] : ""
}`}>
<h2>Atendimento ao Consumidor</h2>
<a href="/">(11) 4159 9504</a>
<h2>Atendimento Online</h2>
<a className={style["last-link"]} href="/">
(11) 99433-8825
</a>
</div>
</section>
<div className={style["social-network"]}>
<div className={style["icons-wrapper"]}>
<a href="/">
<img
className={style["icon-facebook"]}
src={facebook}
alt="Logo Facebook"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={instagram}
alt="Logo Instagram"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={twitter}
alt="Logo Twitter"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={youtube}
alt="Logo Youtube"
/>
</a>
<a href="/">
<img
className={style["icons-top"]}
src={linkedin}
alt="Logo Linkedin"
/>
</a>
</div>
<a className={style["url-link"]} href="/">
www.loremipsum.com
</a>
</div>
<div className={style["float-buttons"]}>
<button className={style["button-whats"]}></button>
<button className={style["up-button"]}></button>
</div>
</div>
<div className={style["footer-bottom"]}>
<div className={style["first-text"]}>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor
</p>
</div>
<div className={style["cards"]}>
<img className={style["icons"]} src={master} alt="Mastercard" />
<img className={style["icons"]} src={visa} alt="Visa" />
<img className={style["icons"]} src={amex} alt="American Express" />
<img className={style["icons"]} src={elo} alt="Elo" />
<img className={style["icons"]} src={hiper} alt="Hipercard" />
<img className={style["icons"]} src={paypal} alt="Pay Pal" />
<img className={style["icons"]} src={boleto} alt="Boleto" />
<span className="divisor"></span>
<img className={style["icon-vtex"]} src={vtex} alt="Vtex" />
</div>
<div className={style["powered"]}>
<p>Powered by</p>
<img className={style["vtexP"]} src={vtexP} alt="Vtex" />
<p>Developed by</p>
<img className={style["m3"]} src={m3} alt="logo M3" />
</div>
</div>
</>
);
};
export default FooterMobile;

View File

@ -1,4 +1,74 @@
.footer {
.footer-top {
display: flex;
align-items: center;
justify-content: space-between;
padding: 50px 100px;
}
h1 {
font-family: "Roboto";
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 16px;
color: #303030;
margin: 0;
margin-bottom: 12px;
text-transform: uppercase;
}
h2 {
font-family: "Roboto";
font-style: normal;
font-weight: 500;
font-size: 12px;
line-height: 14px;
text-transform: capitalize;
color: #303030;
margin: 0;
margin-bottom: 12px;
}
a {
font-family: "Roboto";
font-style: normal;
font-weight: 400;
font-size: 12px;
line-height: 14px;
text-transform: capitalize;
color: #303030;
text-decoration: none;
cursor: pointer;
margin-bottom: 12px;
}
.institucional,
.duvidas,
.fale-conosco {
display: flex;
flex-direction: column;
}
.last-link {
margin: 0;
}
.icons-top {
width: 35px;
height: 35px;
margin-left: 10px;
}
.icon-facebook {
width: 35px;
height: 35px;
}
.url-link {
text-transform: lowercase;
}
.footer-bottom {
background: #000000;
display: flex;
align-items: center;
@ -45,7 +115,12 @@
align-items: center;
}
span {
.wrapper {
display: flex;
flex-direction: column;
}
.divisor {
border: 1px solid #c4c4c4;
height: 24px;
width: 1px;
@ -62,43 +137,39 @@ p {
margin: 0;
}
.float-buttons {
position: fixed;
top: 80%;
right: 2%;
display: flex;
flex-direction: column;
}
.button-whats {
height: 34px;
width: 34px;
background-image: url("../../assets/img/whatsapp.svg");
background-repeat: no-repeat;
background-size: 100% 100%;
background-color: transparent;
border: 0;
cursor: pointer;
}
.up-button {
margin-top: 5px;
width: 34px;
height: 34px;
background-image: url("../../assets/img/up-button.svg");
background-repeat: no-repeat;
background-size: 100% 100%;
background-color: transparent;
border: 0;
}
@media screen and (max-width: 1024px) {
.footer {
flex-direction: column;
align-items: flex-start;
padding: 15px 16px;
}
.first-text {
display: flex;
order: 1;
margin-bottom: 15px;
}
.cards {
margin-bottom: 15px;
}
.powered {
order: 2;
}
}
@media screen and (max-width: 428px) {
.icons {
width: 30px;
height: 17px;
margin-right: 11px;
}
.icon-vtex {
width: 45px;
height: 28px;
margin-left: 11px;
}
}
@media screen and (max-width: 374px) {
.cards {
display: block;
.footer-top,
.footer-bottom {
display: none;
}
}

View File

@ -0,0 +1,189 @@
.footer-top {
flex-direction: column;
padding: 24px 16px;
align-items: flex-start;
}
.button-title {
margin-bottom: 12px;
font-family: "Roboto";
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 16px;
color: #303030;
display: flex;
justify-content: space-between;
width: 100%;
}
.signal {
font-size: 20px;
width: 16px;
height: 16px;
display: flex;
justify-content: center;
align-items: center;
}
.url-link {
text-transform: lowercase;
}
button {
border: 0;
background-color: transparent;
padding: 0;
}
.wrapper {
display: flex;
flex-direction: column;
overflow: hidden;
max-height: 0;
transition: all 700ms ease-in-out;
}
.wrapper.active {
max-height: 500px;
}
.icons-top,
.icon-facebook {
width: 35px;
height: 35px;
}
.icons-top {
margin-left: 10px;
}
p {
font-family: "Roboto";
font-style: normal;
font-weight: 400;
font-size: 10px;
line-height: 12px;
text-transform: capitalize;
color: #ffffff;
margin: 0;
}
.footer-bottom {
flex-direction: column;
align-items: flex-start;
padding: 15px 16px;
background: #000000;
display: flex;
justify-content: space-between;
padding: 15px 16px;
}
.first-text {
display: flex;
order: 1;
margin-bottom: 15px;
width: 22%;
min-width: 234px;
}
.cards {
margin-bottom: 15px;
}
.powered {
display: flex;
align-items: center;
order: 2;
}
.cards {
display: flex;
align-items: center;
}
.icons {
width: 36px;
height: 20px;
margin-right: 11px;
}
.icon-vtex {
width: 55px;
height: 34px;
margin-left: 12px;
}
.vtexP {
width: 45px;
height: 16px;
margin: 0 13px;
}
.m3 {
width: 28.66px;
height: 15.65px;
margin-left: 13px;
}
.divisor {
border: 1px solid #c4c4c4;
height: 24px;
width: 1px;
}
.float-buttons {
position: fixed;
top: 80%;
right: 2%;
display: flex;
flex-direction: column;
}
.button-whats {
height: 34px;
width: 34px;
background-image: url("../../assets/img/whatsapp.svg");
background-repeat: no-repeat;
background-size: 100% 100%;
background-color: transparent;
border: 0;
cursor: pointer;
}
.up-button {
margin-top: 5px;
width: 34px;
height: 34px;
background-image: url("../../assets/img/up-button.svg");
background-repeat: no-repeat;
background-size: 100% 100%;
background-color: transparent;
border: 0;
}
@media screen and (min-width: 1025px) {
.footer-top,
.footer-bottom {
display: none;
}
}
@media screen and (max-width: 428px) {
.icons {
width: 30px;
height: 17px;
margin-right: 11px;
}
.icon-vtex {
width: 45px;
height: 28px;
margin-left: 11px;
}
}
@media screen and (max-width: 374px) {
.cards {
display: block;
}
}

View File

@ -0,0 +1,29 @@
import React from "react";
import style from "./newsletter.module.css";
const Newsletter = () => {
return (
<>
<section className={style["newsletter-wrapper"]}>
<form onSubmit={(e) => e.preventDefault()}>
<div className={style["input-wrapper"]}>
<label className={style["newsletter-label"]}>
ASSINE NOSSA NEWSLETTER
</label>
<input
className={style["newsletter-input"]}
placeholder="E-mail"
type="email"
required
/>
</div>
<button className={style["button-submit"]} type="submit">
ENVIAR
</button>
</form>
</section>
</>
);
};
export default Newsletter;

View File

@ -0,0 +1,101 @@
.newsletter-wrapper {
display: flex;
flex-direction: column;
align-items: center;
border-width: 1px 0px;
border-style: solid;
border-color: #000000;
padding: 16px 0;
}
.newsletter-wrapper form {
width: 100%;
display: flex;
justify-content: center;
align-items: flex-end;
}
.input-wrapper {
width: 340px;
display: flex;
flex-direction: column;
}
.newsletter-label {
font-family: "Roboto";
font-style: normal;
font-weight: 500;
font-size: 18px;
line-height: 21px;
color: #303030;
letter-spacing: 0.05em;
margin-bottom: 8px;
}
.button-submit {
background-color: #000;
font-family: "Roboto";
font-style: normal;
font-weight: 700;
font-size: 12px;
line-height: 14px;
color: #fff;
padding: 14px 40px;
letter-spacing: 0.05em;
height: 42px;
margin-left: 8px;
border-radius: 4px;
}
.newsletter-wrapper input {
max-width: 340px;
width: 100%;
height: 42px;
border-radius: 4px;
border-color: #e5e5e5;
outline: none;
border-width: 1px;
border-style: solid;
padding: 13px 16px;
}
.newsletter-wrapper input::placeholder {
font-family: "Roboto";
font-style: normal;
font-weight: 400;
font-size: 14px;
color: #c4c4c4;
}
@media screen and (max-width: 1024px) {
.newsletter-wrapper {
padding: 16px;
}
.newsletter-wrapper form {
flex-direction: column;
}
.input-wrapper {
display: flex;
flex-direction: column;
width: 100%;
margin-bottom: 8px;
}
.newsletter-label {
font-size: 14px;
line-height: 16px;
}
.newsletter-wrapper input {
width: 100%;
max-width: none;
}
.button-submit {
width: 100%;
font-size: 14px;
line-height: 16px;
}
}

View File

@ -1,7 +1,9 @@
import React from "react";
import Header from "../components/Header/Header";
import HeaderMobile from "../components/Header/HeaderMobile";
import Newsletter from "../components/Newsletter/Newsletter";
import Footer from "../components/Footer/Footer";
import FooterMobile from "../components/Footer/FooterMobile";
const Home = () => {
return (
@ -12,7 +14,9 @@ const Home = () => {
</header>
<main></main>
<footer>
<Newsletter />
<Footer />
<FooterMobile />
</footer>
</>
);

View File

@ -1,4 +1,4 @@
@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");
* {
box-sizing: border-box;