diff --git a/react-academy/src/Components/Footer/FooterDesktop/index.tsx b/react-academy/src/Components/Footer/FooterDesktop/index.tsx new file mode 100644 index 0000000..f1730c8 --- /dev/null +++ b/react-academy/src/Components/Footer/FooterDesktop/index.tsx @@ -0,0 +1,306 @@ +// import React, { useState, useEffect, useCallback } from "react"; +import { NavLink } from "react-router-dom"; +import Facebook from "../ImagesFooter/facebook-icon.png"; +import Instagram from "../ImagesFooter/instagram-icon.png"; +import Twitter from "../ImagesFooter/twitter-icon.png"; +import Youtube from "../ImagesFooter/youtube-icon.png"; +import Linkedin from "../ImagesFooter/linkedin-icon.png"; +import Master from "../ImagesFooter/Master-icon.png"; +import Visa from "../ImagesFooter/visa-icon.png"; +import American from "../ImagesFooter/american-icon.png"; +import Elo from "../ImagesFooter/elo-icon.png"; +import Hiper from "../ImagesFooter/hiper-icon.png"; +import Paypal from "../ImagesFooter/paypal-icon.png"; +import Boleto from "../ImagesFooter/boleto-icon.png"; +import VtexCert from "../ImagesFooter/vtexCert-icon.png"; +import VtexIcon from "../ImagesFooter/vtex-icon.png"; +import M3 from "../ImagesFooter/m3-icon.png"; + +// type toggleStateType = { +// state: boolean; +// modifier: React.Dispatch>; +// }; +const FooterDesktop = () => { + return ( +
+
+
+
+

INSTITUCIONAL

+ +
    +
  • + + Quem Somos + +
  • + +
  • + + Política de Privacidade + +
  • + +
  • + + Segurança + +
  • + +
  • + + Seja um Revendedor + +
  • +
+
+ +
+

DÚVIDAS

+ +
    +
  • + + Entrega + +
  • +
  • + + Pagamento + +
  • +
  • + + Troca e devoluções + +
  • +
  • + + Dúvidas Frequentes + +
  • +
+
+ +
+

INSTITUCIONAL

+ +
    +
  • + + Atendimento ao Consumidor + +
  • + +
  • + + Política de Privacidade + +
  • + +
  • + + Segurança + +
  • + +
  • + + Seja um Revendedor + +
  • +
+
+ +
+ + + www.loremipsum.com + +
+
+
+ +
+
+
+
+ + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + +
+ +
    +
  • + Ícone MasterCard +
  • + +
  • + Ícone Visa +
  • + +
  • + Ícone American +
  • + +
  • + Ícone Elo +
  • + +
  • + Ícone HiperCard +
  • + +
  • + Ícone Paypal +
  • + +
  • + Ícone Boleto +
  • + +
    + +
      +
    • + +
    • +
    +
+ + +
+
+
+
+ ); +}; +export default FooterDesktop; diff --git a/react-academy/src/Components/Footer/ImagesFooter/Master-icon.png b/react-academy/src/Components/Footer/ImagesFooter/Master-icon.png new file mode 100644 index 0000000..705e039 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/Master-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/american-icon.png b/react-academy/src/Components/Footer/ImagesFooter/american-icon.png new file mode 100644 index 0000000..25c427b Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/american-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/boleto-icon.png b/react-academy/src/Components/Footer/ImagesFooter/boleto-icon.png new file mode 100644 index 0000000..9537778 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/boleto-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/elo-icon.png b/react-academy/src/Components/Footer/ImagesFooter/elo-icon.png new file mode 100644 index 0000000..81c3e05 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/elo-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/facebook-icon.png b/react-academy/src/Components/Footer/ImagesFooter/facebook-icon.png new file mode 100644 index 0000000..ae0cfcb Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/facebook-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/hiper-icon.png b/react-academy/src/Components/Footer/ImagesFooter/hiper-icon.png new file mode 100644 index 0000000..57d513c Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/hiper-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/instagram-icon.png b/react-academy/src/Components/Footer/ImagesFooter/instagram-icon.png new file mode 100644 index 0000000..d754e52 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/instagram-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/linkedin-icon.png b/react-academy/src/Components/Footer/ImagesFooter/linkedin-icon.png new file mode 100644 index 0000000..9a27354 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/linkedin-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/m3-icon.png b/react-academy/src/Components/Footer/ImagesFooter/m3-icon.png new file mode 100644 index 0000000..5ee1a9c Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/m3-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/paypal-icon.png b/react-academy/src/Components/Footer/ImagesFooter/paypal-icon.png new file mode 100644 index 0000000..3643239 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/paypal-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/twitter-icon.png b/react-academy/src/Components/Footer/ImagesFooter/twitter-icon.png new file mode 100644 index 0000000..3f2381f Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/twitter-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/visa-icon.png b/react-academy/src/Components/Footer/ImagesFooter/visa-icon.png new file mode 100644 index 0000000..b860b59 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/visa-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/vtex-icon.png b/react-academy/src/Components/Footer/ImagesFooter/vtex-icon.png new file mode 100644 index 0000000..9f6d2ab Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/vtex-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/vtexCert-icon.png b/react-academy/src/Components/Footer/ImagesFooter/vtexCert-icon.png new file mode 100644 index 0000000..f3eea78 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/vtexCert-icon.png differ diff --git a/react-academy/src/Components/Footer/ImagesFooter/youtube-icon.png b/react-academy/src/Components/Footer/ImagesFooter/youtube-icon.png new file mode 100644 index 0000000..be0bf06 Binary files /dev/null and b/react-academy/src/Components/Footer/ImagesFooter/youtube-icon.png differ diff --git a/react-academy/src/Components/Footer/index.tsx b/react-academy/src/Components/Footer/index.tsx new file mode 100644 index 0000000..c50903f --- /dev/null +++ b/react-academy/src/Components/Footer/index.tsx @@ -0,0 +1,22 @@ +import React, { useState, useEffect } from "react"; +import FooterDesktop from "./FooterDesktop"; +import "./style.css"; + +const Footer = () => { + const [width, setWidth] = useState(window.innerWidth); + + const handleWindow = () => { + setWidth(window.innerWidth); + }; + + useEffect(() => { + window.addEventListener("resize", handleWindow); + return () => { + window.removeEventListener("resize", handleWindow); + }; + }, []); + + return
{}
; +}; + +export default Footer; diff --git a/react-academy/src/Components/Footer/style.css b/react-academy/src/Components/Footer/style.css new file mode 100644 index 0000000..f74241d --- /dev/null +++ b/react-academy/src/Components/Footer/style.css @@ -0,0 +1,133 @@ +.footer-desktop__columns { + display: grid; + grid-template-columns: repeat(4, max-content); + gap: 14px; + justify-content: space-around; +} + +.footer-desktop__links { + margin: 50px 0; +} + +.footer-link__title { + font-family: "Roboto", sans-serif; + font-weight: 500; + font-size: 14px; + line-height: 16px; + color: var(--color-gray-100); +} + +.footer-link__item { + font-family: "Roboto", sans-serif; + font-size: 12px; + line-height: 14px; + font-weight: 400; + color: var(--color-gray-100); + list-style: none; + margin-top: 12px; +} + +.footer-link__itemList { + margin: 0; +} + +.footer-link__itemList img { + width: 35px; + height: 35px; +} + +.social-medias { + display: grid; + grid-auto-flow: column; + gap: 10px; + align-items: center; +} + +.footer-links__link { + text-decoration: none; + color: var(--color-gray-100); +} + +.footer-link__site { + text-decoration: none; + color: var(--color-gray-100); +} + +.linkAtendimento { + font-family: "Roboto", sans-serif; + font-size: 12px; + font-weight: 500; + line-height: 14px; +} + +.lastChild { + text-decoration: underline; +} + +.footer-desktop__infos { + background-color: var(--color-black); +} + +.footer-infos__structure { + display: flex; + align-items: center; + justify-content: space-around; +} + +.footer-infos__text { + font-family: "Roboto", sans-serif; + font-weight: 400; + font-size: 10px; + line-height: 11px; + color: var(--color-white); + width: 234px; + height: 24px; +} + +.footer-infos__payment { + display: flex; + align-items: center; + gap: 12px; +} + +.footer-infos__payment img { + width: 36px; + height: 20px; +} + +.footer-infos__divider { + height: 24px; + border: 1px solid var(--color-gray-200); +} + +.footer-infos__vtexCert img { + width: 54px; + height: 34px; + margin: 15px 0; +} + +.footer-infos__developed { + display: flex; +} + +.footer-infos__developed a { + display: flex; + align-items: center; + font-family: "Roboto", sans-serif; + font-size: 10px; + line-height: 11px; + text-decoration: none; + color: var(--color-white); +} + +.footer-infos__developed .vtexIcon { + width: 44px; + height: 16px; + margin: 0 13px; +} + +.footer-infos__developed .m3Icon { + width: 28px; + height: 15px; + margin: 0 13px; +} diff --git a/react-academy/src/global.css b/react-academy/src/global.css index 295cb10..0535202 100644 --- a/react-academy/src/global.css +++ b/react-academy/src/global.css @@ -12,6 +12,14 @@ code { monospace; } +* { + margin: 0; + padding: 0; +} +li { + list-style: none; +} + /*COLORS*/ :root { --color-black: #000; @@ -20,4 +28,5 @@ code { --color-white-100: #f0f0f0; --color-gray-200: #c4c4c4; + --color-gray-100: #303030; } diff --git a/react-academy/src/router.tsx b/react-academy/src/router.tsx index f45edc5..a050ded 100644 --- a/react-academy/src/router.tsx +++ b/react-academy/src/router.tsx @@ -1,14 +1,16 @@ import ReactDOM from "react-dom/client"; import { Routes, Route, Navigate } from "react-router-dom"; import Header from "./Components/Header"; +import Footer from "./Components/Footer"; -export default function Router(){ - return ( - <> -
- - - - - ) -} \ No newline at end of file +export default function Router() { + return ( + <> +
+ + + +