Compare commits
No commits in common. "main" and "feature/footer" have entirely different histories.
main
...
feature/fo
@ -10,19 +10,12 @@
|
||||
"@types/node": "^16.7.13",
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/react-input-mask": "^3.0.2",
|
||||
"@types/react-maskedinput": "^4.0.6",
|
||||
"formik": "^2.2.9",
|
||||
"node-sass": "^8.0.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-headless-accordion": "^1.0.2",
|
||||
"react-input-mask": "^2.0.4",
|
||||
"react-router-dom": "^6.6.2",
|
||||
"react-scripts": "5.0.1",
|
||||
"typescript": "^4.4.2",
|
||||
"web-vitals": "^2.1.0",
|
||||
"yup": "^0.32.11"
|
||||
"web-vitals": "^2.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
|
@ -1,33 +1,29 @@
|
||||
// /* fonts */
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&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");
|
||||
$font-family: "Roboto", sans-serif;
|
||||
// $font-family-secundary: "Tenor Sans", sans-serif;
|
||||
|
||||
/* Colors */
|
||||
$color-black: #000000;
|
||||
$color-black1: #292929;
|
||||
$color-black2: #100D0E;
|
||||
$color-black: #292929;
|
||||
$color-black2: #000000;
|
||||
|
||||
$color-white: #fff;
|
||||
|
||||
$color-gray: #B9B7B7;
|
||||
$color-gray: #6c6c6c;
|
||||
$color-gray2: #7d7d7d;
|
||||
$color-gray3: #f0f0f0;
|
||||
$color-gray4: #8d8d8d;
|
||||
$color-gray5: #e5e5e5;
|
||||
$color-gray6: #C4C4C4;
|
||||
$color-gray7: #e0e0e0;
|
||||
$color-gray8: #303030;
|
||||
|
||||
$color-green: #008000;
|
||||
$color-red: #ff0000;
|
||||
$color-blue: #4267b2;
|
||||
$color-blue2: #00C8FF;
|
||||
;
|
||||
|
||||
$color-green: #4caf50;
|
||||
|
||||
/* Grid breakpoints */
|
||||
|
||||
// Mains breakpoints
|
||||
$full: 2500px;
|
||||
$tablets: 1024px;
|
||||
$phone: 490px;
|
||||
/* Grid breakpoints */
|
||||
$grid-breakpoints: (
|
||||
xs: 0,
|
||||
@ -35,8 +31,7 @@ $grid-breakpoints: (
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px,
|
||||
xxl:2500px) !default;
|
||||
xl: 1200px) !default;
|
||||
|
||||
$z-index: (
|
||||
level1: 5,
|
||||
|
@ -1,36 +0,0 @@
|
||||
import React from "react";
|
||||
import homeIcon from "./assets/svgs/home.svg"
|
||||
import arrowRight from "./assets/svgs/arrow-right.svg"
|
||||
|
||||
import { useLocation, Link } from "react-router-dom"
|
||||
import styles from "./BreadCrumb.module.scss"
|
||||
export const BreadCrumb = () => {
|
||||
|
||||
const { pathname } = useLocation()
|
||||
|
||||
const routeName = pathname.split("/")[1]
|
||||
|
||||
return (
|
||||
<nav >
|
||||
{pathname !== "/" && (
|
||||
<ul className={styles["breadNav"]}>
|
||||
<li className={styles["navItem"]}>
|
||||
<Link to="/institucional/sobre">
|
||||
<img src={homeIcon} alt="Icone de home" />
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
<li className={styles["navItem"]}>
|
||||
<img src={arrowRight} alt="Icone de seta para a direita" />
|
||||
|
||||
<span className={styles["routeName"]}>
|
||||
{routeName}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
)}
|
||||
|
||||
</nav>
|
||||
);
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
@import "../../variaveis";
|
||||
|
||||
.breadNav {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
margin: 0 100px;
|
||||
padding: 30px 16px;
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
margin: 0 16px;
|
||||
}
|
||||
|
||||
a {
|
||||
img {
|
||||
@media (min-width:$full) {
|
||||
min-width: 31.25px;
|
||||
min-height: 31.25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navItem {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
|
||||
img {
|
||||
@media (min-width:$full) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-width: 8.9px;
|
||||
min-height: 15.62px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:1025px) {
|
||||
z-index: -99;
|
||||
}
|
||||
}
|
||||
|
||||
.routeName {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
|
||||
|
||||
color: $color-gray6;
|
||||
|
||||
text-transform: uppercase;
|
||||
|
||||
@media (min-width:$full) {
|
||||
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1_310)">
|
||||
<path d="M6.11608 3.60396L2.6762 0.164193C2.45738 -0.0547314 2.10261 -0.0547314 1.8839 0.164193C1.66517 0.382921 1.66517 0.737679 1.8839 0.95639L4.92766 4.00006L1.88398 7.04362C1.66525 7.26244 1.66525 7.61716 1.88398 7.83589C2.10271 8.0547 2.45747 8.0547 2.67629 7.83589L6.11617 4.39607C6.22553 4.28665 6.28015 4.1434 6.28015 4.00008C6.28015 3.85668 6.22543 3.71332 6.11608 3.60396Z" fill="#C4C4C4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1_310">
|
||||
<rect width="8" height="8" fill="white" transform="matrix(1 0 0 -1 0 8)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 669 B |
@ -1,10 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1_306)">
|
||||
<path d="M15.8326 7.59562L14.6903 6.4533L8.40431 0.167326C8.18118 -0.0557753 7.81942 -0.0557753 7.59628 0.167326L1.31028 6.4533L0.167381 7.59623C-0.0518699 7.82324 -0.0456085 8.185 0.18141 8.40425C0.402871 8.61814 0.753946 8.61814 0.975407 8.40425L1.14226 8.23623V15.4285C1.14226 15.7442 1.3981 16 1.71372 16H14.2857C14.6013 16 14.8572 15.7442 14.8572 15.4285V8.23623L15.0246 8.40368C15.2516 8.62293 15.6134 8.61664 15.8326 8.38965C16.0465 8.16819 16.0465 7.81708 15.8326 7.59562ZM9.71409 14.8571H6.28537V10.2855H9.71409V14.8571ZM13.7142 14.8571H10.857V9.71403C10.857 9.39841 10.6011 9.14256 10.2855 9.14256H5.7139C5.39829 9.14256 5.14244 9.39841 5.14244 9.71403V14.8571H2.28518V7.09334L7.99969 1.3788L13.7142 7.09334V14.8571Z" fill="#C4C4C4"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1_306">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 986 B |
@ -1,149 +0,0 @@
|
||||
@import "../../../variaveis";
|
||||
|
||||
h5 {
|
||||
margin: 0;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 16.41px;
|
||||
|
||||
text-transform: uppercase;
|
||||
|
||||
color: $color-gray8;
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
}
|
||||
|
||||
.accordion {
|
||||
padding: 0 16px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
max-width: 707px;
|
||||
|
||||
height: 100%;
|
||||
|
||||
|
||||
@media (min-width:$full) {
|
||||
|
||||
max-width: 1531px;
|
||||
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
flex-direction: column;
|
||||
width: 99.875%;
|
||||
max-width: 992px;
|
||||
justify-content: initial;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
|
||||
width: 96.875%;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.toggle__accordion {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.icon__minus {
|
||||
|
||||
&::after {
|
||||
|
||||
content: "-";
|
||||
}
|
||||
|
||||
@media (min-width:1025px) {
|
||||
&::after {
|
||||
content: " "
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icon__plus {
|
||||
|
||||
&::after {
|
||||
content: "+";
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media (min-width:1025px) {
|
||||
&::after {
|
||||
content: " "
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.accordion__body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// max-height: 140px;
|
||||
margin-top: 12px;
|
||||
gap: 6px;
|
||||
height: 125px;
|
||||
|
||||
@media (min-width:1025px) {
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
li {
|
||||
a {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
text-transform: capitalize;
|
||||
|
||||
color: $color-gray8;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contact__us {
|
||||
max-width: 155px;
|
||||
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
|
||||
@media (min-width:$full),
|
||||
(max-width:$tablets) {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
li {
|
||||
a {
|
||||
font-weight: 500;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
9
src/components/Footer/Accordion/Accordion.tsx
Normal file
@ -0,0 +1,9 @@
|
||||
import React from "react";
|
||||
import { AccordionSection } from "./AccordionSection";
|
||||
|
||||
// trocar para "menu fotter"
|
||||
export const Accordion = () => {
|
||||
return (
|
||||
<div></div>
|
||||
);
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import React, { ReactNode } from "react";
|
||||
|
||||
interface AccordionProps {
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export const AccordionElement = ({ children }: AccordionProps) => {
|
||||
return (
|
||||
<>
|
||||
{children}
|
||||
</>
|
||||
|
||||
);
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
import React, { useState } from "react";
|
||||
import styleAccordion from "./Accordion.module.scss";
|
||||
|
||||
import { ListItem } from "../../utils/ListItem";
|
||||
import {
|
||||
Accordion,
|
||||
|
||||
} from "react-headless-accordion";
|
||||
import { AccordionItem } from "./AccordionItem"
|
||||
|
||||
export const AccordionFooter = () => {
|
||||
|
||||
return (
|
||||
<Accordion className={styleAccordion["accordion"]}>
|
||||
<AccordionItem title="Institucional">
|
||||
<ListItem link={"/"} title={"Quem Somos"} />
|
||||
<ListItem link={"/"} title={"Política de Privacidade"} />
|
||||
<ListItem link={"/"} title={"Segurança"} />
|
||||
<ListItem link={"/"} title={"Seja um Revendedor"} />
|
||||
</AccordionItem>
|
||||
<AccordionItem title="Duvidas">
|
||||
<ListItem link={"/"} title={"Entrega"} />
|
||||
<ListItem link={"/"} title={"Pagamento"} />
|
||||
<ListItem link={"/"} title={"Trocas e Devoluções"} />
|
||||
<ListItem link={"/"} title={"Dúvidas Frequentes"} />
|
||||
</AccordionItem>
|
||||
<AccordionItem title="Fale Conosco">
|
||||
<span className={styleAccordion["contact__us"]}>
|
||||
<ListItem link="tel:+551141599505" title={"Atendimento ao Consumidor"} />
|
||||
</span>
|
||||
<ListItem link="tel:+551141599505" title={"(11) 4159-9504"} />
|
||||
<span className={styleAccordion["contact__us"]}>
|
||||
<ListItem link="tel:+5511994338825" title={"Atendimento Online"} />
|
||||
</span>
|
||||
<ListItem link="tel:+5511994338825" title={"(11) 99433-8825"} />
|
||||
</AccordionItem>
|
||||
</Accordion>
|
||||
|
||||
);
|
||||
};
|
@ -1,40 +0,0 @@
|
||||
import { useState, ReactElement } from "react"
|
||||
|
||||
|
||||
import {
|
||||
AccordionBody,
|
||||
AccordionHeader,
|
||||
AccordionItem as HAccordionItem,
|
||||
} from "react-headless-accordion";
|
||||
import styleAccordion from "./Accordion.module.scss";
|
||||
|
||||
|
||||
interface AccordionItemFooterProps {
|
||||
title: string
|
||||
children: ReactElement | ReactElement[]
|
||||
}
|
||||
|
||||
export const AccordionItem = ({ children, title }: AccordionItemFooterProps) => {
|
||||
const [isOpen, setIsOpen] = useState(false)
|
||||
|
||||
return (
|
||||
<HAccordionItem>
|
||||
<div>
|
||||
<AccordionHeader
|
||||
as={"div"}
|
||||
className={isOpen
|
||||
? `${styleAccordion["toggle__accordion"]} ${styleAccordion["icon__minus"]}`
|
||||
: `${styleAccordion["toggle__accordion"]} ${styleAccordion["icon__plus"]}`}
|
||||
onClick={() => setIsOpen((prevState) => !prevState)}
|
||||
>
|
||||
<span>
|
||||
<h5>{title}</h5>
|
||||
</span>
|
||||
</AccordionHeader>
|
||||
<AccordionBody className={styleAccordion["accordion__body"]}>
|
||||
{children}
|
||||
</AccordionBody>
|
||||
</div>
|
||||
</HAccordionItem>
|
||||
)
|
||||
}
|
12
src/components/Footer/Accordion/AccordionSection.tsx
Normal file
@ -0,0 +1,12 @@
|
||||
import React from "react";
|
||||
|
||||
export const AccordionSection = () => {
|
||||
|
||||
return (
|
||||
<div >
|
||||
|
||||
</div>
|
||||
);
|
||||
|
||||
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
import React, { useEffect, useState } from "react";
|
||||
import buttons from "./Buttons.module.scss";
|
||||
import arrowTop from "./assets/arrowTop.svg";
|
||||
|
||||
|
||||
|
||||
export const ButtonTop = () => {
|
||||
const [showTopBtn, setShowTopBtn] = useState(false);
|
||||
useEffect(() => {
|
||||
window.addEventListener("scroll", () => {
|
||||
if (window.scrollY > 400) {
|
||||
setShowTopBtn(true);
|
||||
} else {
|
||||
setShowTopBtn(false);
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
const goToTop = () => {
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={buttons["btn__scroll"]}
|
||||
onClick={goToTop} >
|
||||
|
||||
<img src={arrowTop}
|
||||
alt="Icone de seta para cima"
|
||||
className={buttons["icone"]}
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
);
|
||||
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
import React from "react";
|
||||
import whatsapp from "./assets/whatsapp.svg";
|
||||
import buttons from "./Buttons.module.scss";
|
||||
|
||||
export const ButtonWhatsapp = () => {
|
||||
|
||||
return (
|
||||
|
||||
|
||||
<a
|
||||
href="https://wa.me/11994338825"
|
||||
target="_blank"
|
||||
className={buttons["link"]}
|
||||
>
|
||||
<img src={whatsapp} alt="Icone do whats" />
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
);
|
||||
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
@import "../../../variaveis";
|
||||
|
||||
.wrapper__buttons {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 137px;
|
||||
position: fixed;
|
||||
bottom: 255px;
|
||||
right: 16px;
|
||||
|
||||
@media (max-width:2499px) {
|
||||
height: 73px;
|
||||
position: fixed;
|
||||
bottom: 225px;
|
||||
right: 16px;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
height: 73px;
|
||||
bottom: 60px;
|
||||
right: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.link {
|
||||
img {
|
||||
width: 66px;
|
||||
max-height: 66px;
|
||||
|
||||
@media (max-width:2499px) {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn__scroll {
|
||||
|
||||
width: 66px;
|
||||
height: 66px;
|
||||
background-color: $color-gray6;
|
||||
border-radius: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
@media (max-width:2499px) {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
|
||||
.icone {
|
||||
width: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import React from "react";
|
||||
import { ButtonTop } from "./ButtonTop";
|
||||
import { ButtonWhatsapp } from "./ButtonWhatsapp";
|
||||
import buttons from "./Buttons.module.scss";
|
||||
|
||||
export const Buttons = () => {
|
||||
return (
|
||||
<div className={buttons["wrapper__buttons"]}>
|
||||
<ButtonWhatsapp />
|
||||
<ButtonTop />
|
||||
</div >
|
||||
);
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<svg width="66" height="137" viewBox="0 0 66 137" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M66 104C66 122.225 51.2254 137 33 137C14.7746 137 0 122.225 0 104C0 85.7746 14.7746 71 33 71C51.2254 71 66 85.7746 66 104Z" fill="#C4C4C4"/>
|
||||
<path d="M44.7428 107.396C44.741 107.696 44.6177 107.995 44.373 108.226L44.3728 108.226C43.8668 108.704 43.037 108.703 42.5311 108.226L42.5232 108.235L42.5311 108.226L33.3457 99.5599L33.0712 99.3009L32.7967 99.5599L23.6118 108.226C23.1055 108.703 22.2757 108.703 21.7698 108.226L21.7697 108.226C21.5257 107.996 21.4025 107.697 21.4 107.398C21.4019 107.098 21.5251 106.799 21.7698 106.568L21.7698 106.568L32.1506 96.7738C32.4013 96.5373 32.7333 96.4158 33.0712 96.4158C33.4093 96.4158 33.7415 96.5376 33.9922 96.774L44.3728 106.568L44.3729 106.568C44.6171 106.798 44.7403 107.097 44.7428 107.396Z" fill="white" stroke="white" stroke-width="0.8"/>
|
||||
<g clip-path="url(#clip0_3751_655)">
|
||||
<path d="M33.0083 0H32.9917C14.7964 0 0 14.8005 0 33C0 40.2188 2.3265 46.9095 6.28237 52.3421L2.16975 64.6016L14.8541 60.5468C20.0723 64.0035 26.2969 66 33.0083 66C51.2036 66 66 51.1954 66 33C66 14.8046 51.2036 0 33.0083 0Z" fill="#4CAF50"/>
|
||||
<path d="M52.21 46.6001C51.4139 48.8483 48.2542 50.7128 45.7338 51.2573C44.0095 51.6244 41.7573 51.9173 34.1755 48.774C24.4777 44.7563 18.2324 34.9016 17.7457 34.2623C17.2795 33.6229 13.8269 29.0441 13.8269 24.3086C13.8269 19.5731 16.2318 17.2673 17.2012 16.2773C17.9973 15.4646 19.3132 15.0934 20.5754 15.0934C20.9838 15.0934 21.3509 15.114 21.6809 15.1305C22.6503 15.1718 23.137 15.2295 23.7764 16.7599C24.5725 18.678 26.5113 23.4135 26.7423 23.9003C26.9774 24.387 27.2125 25.047 26.8825 25.6864C26.5732 26.3464 26.3009 26.6393 25.8142 27.2003C25.3274 27.7613 24.8654 28.1903 24.3787 28.7925C23.9332 29.3164 23.4299 29.8774 23.9909 30.8468C24.5519 31.7955 26.4907 34.9594 29.3452 37.5004C33.0288 40.7798 36.0153 41.8275 37.0837 42.273C37.8798 42.603 38.8285 42.5246 39.4102 41.9059C40.1485 41.1098 41.0602 39.7898 41.9883 38.4904C42.6483 37.5581 43.4815 37.4426 44.356 37.7726C45.247 38.082 49.9619 40.4126 50.9313 40.8953C51.9007 41.382 52.54 41.613 52.7752 42.0214C53.0062 42.4298 53.0062 44.3479 52.21 46.6001Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3751_655">
|
||||
<rect width="66" height="66" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.3 KiB |
@ -1,3 +0,0 @@
|
||||
<svg width="25" height="13" viewBox="0 0 25 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M23.7428 11.3959C23.741 11.6959 23.6177 11.9953 23.373 12.226L23.3728 12.2261C22.8668 12.7035 22.037 12.7035 21.5311 12.2261L21.5232 12.2345L21.5311 12.2261L12.3457 3.5599L12.0712 3.30091L11.7967 3.5599L2.61178 12.2258C2.10549 12.7033 1.27571 12.7032 0.769767 12.2259L0.769708 12.2258C0.525704 11.9957 0.402467 11.6972 0.400037 11.398C0.401876 11.0981 0.525111 10.7986 0.769782 10.5678L0.769785 10.5678L11.1506 0.773762C11.4013 0.537307 11.7333 0.415846 12.0712 0.415846C12.4093 0.415846 12.7415 0.537566 12.9922 0.773969L23.3728 10.568L23.3729 10.5681C23.6171 10.7983 23.7403 11.0968 23.7428 11.3959Z" fill="white" stroke="white" stroke-width="0.8"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 764 B |
@ -1,11 +0,0 @@
|
||||
<svg width="66" height="66" viewBox="0 0 66 66" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_4136_1027)">
|
||||
<path d="M33.0083 0H32.9917C14.7964 0 0 14.8005 0 33C0 40.2188 2.3265 46.9095 6.28237 52.3421L2.16975 64.6016L14.8541 60.5468C20.0723 64.0035 26.2969 66 33.0083 66C51.2036 66 66 51.1954 66 33C66 14.8046 51.2036 0 33.0083 0Z" fill="#4CAF50"/>
|
||||
<path d="M52.2103 46.6001C51.4142 48.8483 48.2544 50.7128 45.734 51.2573C44.0098 51.6244 41.7575 51.9173 34.1758 48.774C24.4779 44.7563 18.2326 34.9016 17.7459 34.2623C17.2798 33.6229 13.8271 29.0441 13.8271 24.3086C13.8271 19.5731 16.232 17.2673 17.2014 16.2773C17.9975 15.4646 19.3134 15.0934 20.5756 15.0934C20.984 15.0934 21.3511 15.114 21.6811 15.1305C22.6505 15.1718 23.1373 15.2295 23.7766 16.7599C24.5728 18.678 26.5115 23.4135 26.7425 23.9003C26.9776 24.387 27.2128 25.047 26.8828 25.6864C26.5734 26.3464 26.3011 26.6393 25.8144 27.2003C25.3276 27.7613 24.8656 28.1903 24.3789 28.7925C23.9334 29.3164 23.4301 29.8774 23.9911 30.8468C24.5521 31.7955 26.4909 34.9594 29.3454 37.5004C33.029 40.7798 36.0155 41.8275 37.0839 42.273C37.88 42.603 38.8288 42.5246 39.4104 41.9059C40.1488 41.1098 41.0604 39.7898 41.9885 38.4904C42.6485 37.5581 43.4818 37.4426 44.3563 37.7726C45.2473 38.082 49.9622 40.4126 50.9315 40.8953C51.9009 41.382 52.5403 41.613 52.7754 42.0214C53.0064 42.4298 53.0064 44.3479 52.2103 46.6001Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_4136_1027">
|
||||
<rect width="66" height="66" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
@ -1,23 +0,0 @@
|
||||
import React from "react";
|
||||
import { NewsLetter } from "./NewsLetter/NewsLetter";
|
||||
import { AccordionFooter } from "./Accordion/AccordionFooter";
|
||||
import { Rodape } from "./Rodape/Rodape";
|
||||
import { SocialMedia } from "./SocialMedia/SocialMedia";
|
||||
import styleFooter from "./styles/Footer.module.scss";
|
||||
|
||||
import { Buttons } from "./ButtonsFixeds/Buttons";
|
||||
export const Footer = () => {
|
||||
|
||||
return (
|
||||
<footer className={styleFooter["footer"]}>
|
||||
<NewsLetter />
|
||||
<div className={styleFooter["footer__middle"]}>
|
||||
<AccordionFooter />
|
||||
<SocialMedia />
|
||||
<Buttons />
|
||||
</div>
|
||||
<Rodape />
|
||||
</footer >
|
||||
|
||||
);
|
||||
}
|
5
src/components/Footer/MenuFotter.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import React from "react";
|
||||
|
||||
export const MenuFotter = () => {
|
||||
|
||||
}
|
5
src/components/Footer/NewsLetter.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import React from "react";
|
||||
|
||||
export const NewsLetter = () => {
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
import React from "react";
|
||||
import styleNewsLetter from "./Newsletter.module.scss";
|
||||
|
||||
export const NewsLetter = () => {
|
||||
|
||||
return (
|
||||
<div className={styleNewsLetter["newsLetter"]}>
|
||||
<div className={styleNewsLetter["newsLetter__wrapper"]}>
|
||||
<h3 className={styleNewsLetter["newsLetter__title"]}>Assine nossa Newsletter</h3>
|
||||
<form className={styleNewsLetter["newsLetter__form"]} action="/">
|
||||
<input className={styleNewsLetter["newsLetter__form__input"]} type="email" name="email" id="email" placeholder="E-mail" />
|
||||
<input className={styleNewsLetter["newsLetter__form__submit"]} type="submit" value="Enviar" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
}
|
@ -1,161 +0,0 @@
|
||||
@import "../../../variaveis";
|
||||
|
||||
.newsLetter {
|
||||
width: 100%;
|
||||
padding: 16px 0;
|
||||
border-top: 1px solid;
|
||||
border-bottom: 1px solid;
|
||||
|
||||
&__wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 37.03125%;
|
||||
margin: 0 auto;
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
row-gap: 16px;
|
||||
// margin: 0 16px;
|
||||
width: 96.875%;
|
||||
}
|
||||
|
||||
@media (max-width:768px) {
|
||||
|
||||
width: 94%;
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
|
||||
width: 91.42%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.newsLetter__title {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 18px;
|
||||
line-height: 21px;
|
||||
letter-spacing: 0.05em;
|
||||
font-variant: small-caps;
|
||||
text-transform: uppercase;
|
||||
|
||||
color: $color-gray8;
|
||||
|
||||
|
||||
margin: 0;
|
||||
margin-bottom: 8px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 36px;
|
||||
line-height: 42px;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.newsLetter__form {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
column-gap: 10px;
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
row-gap: 16px;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
&__input {
|
||||
|
||||
width: 100%;
|
||||
// max-width: 340px;
|
||||
height: 42px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid $color-gray5;
|
||||
outline: none;
|
||||
|
||||
padding: 0 16px;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
|
||||
color: $color-gray6;
|
||||
|
||||
&::placeholder {
|
||||
color: $color-gray6;
|
||||
}
|
||||
|
||||
@media (min-width:$full) {
|
||||
height: 59px;
|
||||
min-width: 668px;
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
|
||||
max-width: 96.875%;
|
||||
}
|
||||
|
||||
@media (max-width:768px) {
|
||||
|
||||
width: 94.875%;
|
||||
}
|
||||
|
||||
@media (max-width:512px) {
|
||||
|
||||
width: 91.875%;
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
|
||||
width: 90.4%;
|
||||
}
|
||||
}
|
||||
|
||||
&__submit {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
text-transform: uppercase;
|
||||
|
||||
|
||||
text-align: center;
|
||||
letter-spacing: 0.05em;
|
||||
|
||||
|
||||
|
||||
color: $color-white;
|
||||
|
||||
width: 100%;
|
||||
max-width: 126px;
|
||||
padding: 14px 20px;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
border: none;
|
||||
|
||||
background: $color-black;
|
||||
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
||||
border-radius: 4px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
min-width: 246px;
|
||||
height: 59px;
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
color: $color-gray2;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background-color: $color-black;
|
||||
background-color: #000;
|
||||
|
||||
&__wrapper {
|
||||
|
||||
@ -14,18 +14,33 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 0 100px;
|
||||
margin: 0 7.8125%;
|
||||
|
||||
@media (max-width: $tablets) {
|
||||
@media (max-width: 1024px) {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
margin: 0 16px;
|
||||
|
||||
}
|
||||
|
||||
// .container {
|
||||
// width: 94.9734%;
|
||||
|
||||
// align-items: center;
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
|
||||
// @media (max-width: 1024px) {
|
||||
// flex-direction: column;
|
||||
// align-items: flex-start;
|
||||
// margin: 0 16px;
|
||||
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
&__address {
|
||||
color: $color-white;
|
||||
color: #fff;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
@ -35,7 +50,7 @@
|
||||
width: 100%;
|
||||
max-width: 269px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
font-size: 20px;
|
||||
line-height: 27px;
|
||||
max-width: none;
|
||||
@ -43,7 +58,7 @@
|
||||
min-width: 537px;
|
||||
}
|
||||
|
||||
@media(max-width:$tablets) {
|
||||
@media(max-width:1024px) {
|
||||
margin-bottom: 16px;
|
||||
order: 2;
|
||||
}
|
||||
@ -62,13 +77,13 @@
|
||||
column-gap: 11px;
|
||||
|
||||
|
||||
@media (min-width: $full) {
|
||||
@media (min-width: 2500px) {
|
||||
min-width: 690px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: $tablets) {
|
||||
@media (max-width: 1024px) {
|
||||
justify-content: flex-start;
|
||||
margin: 0;
|
||||
margin-bottom: 23px;
|
||||
@ -81,28 +96,26 @@
|
||||
img {
|
||||
width: 36px;
|
||||
height: 20.2px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
width: 70px;
|
||||
height: 39.27px;
|
||||
}
|
||||
|
||||
@media (max-width: $tablets) {
|
||||
@media (max-width: 1024px) {
|
||||
width: 35px;
|
||||
height: 20.13px;
|
||||
}
|
||||
|
||||
@media (max-width: $phone) {
|
||||
@media (max-width: 490px) {
|
||||
width: 30px;
|
||||
height: 17px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 370px) {
|
||||
column-gap: 5.5px;
|
||||
width: 18px;
|
||||
width: 19px;
|
||||
|
||||
column-gap: 5.5px;
|
||||
width: 18px;
|
||||
width: 19px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -126,7 +139,7 @@
|
||||
width: 53px;
|
||||
height: 33px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
width: 103.52px;
|
||||
height: 64.44px;
|
||||
}
|
||||
@ -144,11 +157,11 @@
|
||||
|
||||
margin: 0;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
min-width: 388.98px;
|
||||
}
|
||||
|
||||
@media(max-width:$tablets) {
|
||||
@media(max-width:1024px) {
|
||||
order: 3;
|
||||
padding: 0;
|
||||
}
|
||||
@ -157,7 +170,7 @@
|
||||
width: 100%;
|
||||
min-width: 108.5px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
min-width: 189PX;
|
||||
}
|
||||
}
|
||||
@ -175,7 +188,7 @@
|
||||
line-height: 12px;
|
||||
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
}
|
||||
@ -186,7 +199,7 @@
|
||||
width: 28.66px;
|
||||
height: 15.65px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
width: 55.98px;
|
||||
height: 30.55px;
|
||||
}
|
||||
@ -206,10 +219,10 @@
|
||||
font-size: 10px;
|
||||
line-height: 12px;
|
||||
text-decoration: none;
|
||||
color: $color-white;
|
||||
color: #fff;
|
||||
text-transform: capitalize;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
}
|
||||
@ -218,7 +231,7 @@
|
||||
margin-right: 8px;
|
||||
width: 100%;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
margin-right: 10px;
|
||||
min-width: 100px;
|
||||
}
|
||||
@ -231,7 +244,7 @@
|
||||
width: 44.92px;
|
||||
height: 16px;
|
||||
|
||||
@media(min-width:$full) {
|
||||
@media(min-width:2500px) {
|
||||
width: 87.73px;
|
||||
height: 31.24px;
|
||||
}
|
||||
|
@ -17,10 +17,7 @@ import { DevelopedBy } from './DevelopedBy';
|
||||
|
||||
export const Rodape = () => {
|
||||
return (
|
||||
<div className={styleRodape["footer"]}>
|
||||
{/*
|
||||
<Rodape />
|
||||
*/}
|
||||
<footer className={styleRodape["footer"]}>
|
||||
<div className={styleRodape["footer__wrapper"]}>
|
||||
<div className={styleRodape["footer__address"]}>
|
||||
<span>Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
@ -75,7 +72,7 @@ export const Rodape = () => {
|
||||
/>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1,56 +0,0 @@
|
||||
@import "../../../variaveis";
|
||||
|
||||
.wrapper {
|
||||
@media (max-width:1025px) {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
&__social__media {
|
||||
display: flex;
|
||||
column-gap: 10px;
|
||||
width: 100%;
|
||||
max-width: 215px;
|
||||
padding: 0;
|
||||
|
||||
@media (min-width: $full) {
|
||||
max-width: 390px;
|
||||
}
|
||||
|
||||
li {
|
||||
a {
|
||||
|
||||
img {
|
||||
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
|
||||
@media (min-width: $full) {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.link__site {
|
||||
a {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
|
||||
color: #303030;
|
||||
|
||||
text-transform: lowercase;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 28x;
|
||||
line-height: 33px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
import React from "react";
|
||||
import { IconLink } from "../../utils/IconLink";
|
||||
|
||||
import facebook from "./assets/svgs/facebook.svg";
|
||||
import instagram from "./assets/svgs/instagram.svg";
|
||||
import twitter from "./assets/svgs/twitter.svg";
|
||||
import youtube from "./assets/svgs/youtube.svg";
|
||||
import linkedin from "./assets/svgs/linkedin.svg";
|
||||
|
||||
import styleSocialMedia from "./SocialMedia.module.scss";
|
||||
|
||||
export const SocialMedia = () => {
|
||||
|
||||
return (
|
||||
|
||||
<div className={styleSocialMedia["wrapper"]}>
|
||||
<div className={styleSocialMedia["wrapper__social__media"]}>
|
||||
<IconLink link={"https://web.facebook.com/digitalm3"}
|
||||
sourceImg={facebook}
|
||||
altText="Logo da rede social "
|
||||
/>
|
||||
<IconLink link={"https://www.instagram.com/m3.ecommerce/"}
|
||||
sourceImg={instagram}
|
||||
altText="Logo da rede social "
|
||||
/>
|
||||
<IconLink link={"https://twitter.com/eCommerce_Br/status/1443210495784366089"}
|
||||
sourceImg={twitter}
|
||||
altText="Logo da rede social "
|
||||
/>
|
||||
<IconLink link={"https://www.youtube.com/@m3e-commerce796"}
|
||||
sourceImg={youtube}
|
||||
altText="Logo da rede social "
|
||||
/>
|
||||
<IconLink link={"https://www.linkedin.com/company/m3ecommerce/"}
|
||||
sourceImg={linkedin}
|
||||
altText="Logo da rede social "
|
||||
/>
|
||||
</div >
|
||||
<div className={styleSocialMedia["link__site"]} >
|
||||
<a href="www.loremipsum.com">
|
||||
www.loremipsum.com
|
||||
</a>
|
||||
</div>
|
||||
</div >
|
||||
)
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
<svg width="70" height="71" viewBox="0 0 70 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_6470_313)">
|
||||
<path d="M38.3557 55.2232V37.329H44.3468L45.2457 30.3532H38.3557V25.9002C38.3557 23.8812 38.9129 22.5052 41.8052 22.5052L45.4882 22.5037V16.2643C44.8513 16.1814 42.665 15.9912 40.1204 15.9912C34.8068 15.9912 31.1691 19.2415 31.1691 25.2093V30.3532H25.1598V37.329H31.1691V55.2232H38.3557Z" fill="#303030"/>
|
||||
</g>
|
||||
<circle cx="35" cy="35.2412" r="34" stroke="#303030" stroke-width="2"/>
|
||||
<defs>
|
||||
<clipPath id="clip0_6470_313">
|
||||
<rect width="39.148" height="39.232" fill="white" transform="translate(15.75 15.9912)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 670 B |
@ -1,13 +0,0 @@
|
||||
<svg width="70" height="71" viewBox="0 0 70 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_6470_318)">
|
||||
<path d="M44.1992 15.9912H26.5932C20.6143 15.9912 15.75 20.8481 15.75 26.8178V44.3965C15.75 50.3663 20.6143 55.223 26.5932 55.223H44.1992C50.1786 55.223 55.0429 50.3661 55.0429 44.3965V26.8178C55.0431 20.8481 50.1786 15.9912 44.1992 15.9912ZM51.5568 44.3965C51.5568 48.447 48.2563 51.7422 44.1994 51.7422H26.5932C22.5366 51.7424 19.2363 48.447 19.2363 44.3965V26.8178C19.2363 22.7675 22.5366 19.472 26.5932 19.472H44.1992C48.2561 19.472 51.5566 22.7675 51.5566 26.8178V44.3965H51.5568Z" fill="#303030"/>
|
||||
<path d="M35.3965 25.4987C29.8136 25.4987 25.2717 30.0335 25.2717 35.6077C25.2717 41.1817 29.8136 45.7163 35.3965 45.7163C40.9794 45.7163 45.5213 41.1817 45.5213 35.6077C45.5213 30.0335 40.9794 25.4987 35.3965 25.4987ZM35.3965 42.2352C31.7362 42.2352 28.758 39.2621 28.758 35.6075C28.758 31.9526 31.7359 28.9793 35.3965 28.9793C39.0571 28.9793 42.035 31.9526 42.035 35.6075C42.035 39.2621 39.0568 42.2352 35.3965 42.2352Z" fill="#303030"/>
|
||||
<path d="M45.9459 22.5472C45.2742 22.5472 44.6144 22.8187 44.14 23.2945C43.6633 23.7679 43.3893 24.4269 43.3893 25.0999C43.3893 25.7707 43.6635 26.4295 44.14 26.9052C44.6141 27.3786 45.2742 27.6525 45.9459 27.6525C46.6199 27.6525 47.2776 27.3786 47.7541 26.9052C48.2305 26.4295 48.5024 25.7705 48.5024 25.0999C48.5024 24.4269 48.2305 23.7679 47.7541 23.2945C47.2799 22.8187 46.6199 22.5472 45.9459 22.5472Z" fill="#303030"/>
|
||||
</g>
|
||||
<circle cx="35" cy="35.2412" r="34" stroke="#303030" stroke-width="2"/>
|
||||
<defs>
|
||||
<clipPath id="clip0_6470_318">
|
||||
<rect width="39.2931" height="39.232" fill="white" transform="translate(15.75 15.9912)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.7 KiB |
@ -1,13 +0,0 @@
|
||||
<svg width="70" height="71" viewBox="0 0 70 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="35" cy="35.2412" r="34" stroke="#303030" stroke-width="2"/>
|
||||
<g clip-path="url(#clip0_6470_333)">
|
||||
<path d="M26.8893 27.9594H20.5962C20.3169 27.9594 20.0906 28.1858 20.0906 28.465V48.6821C20.0906 48.9614 20.3169 49.1877 20.5962 49.1877H26.8893C27.1686 49.1877 27.3949 48.9614 27.3949 48.6821V28.465C27.3949 28.1858 27.1686 27.9594 26.8893 27.9594Z" fill="#303030"/>
|
||||
<path d="M23.7451 17.9089C21.4553 17.9089 19.5924 19.7698 19.5924 22.0571C19.5924 24.3454 21.4553 26.2069 23.7451 26.2069C26.0331 26.2069 27.8944 24.3453 27.8944 22.0571C27.8945 19.7698 26.0331 17.9089 23.7451 17.9089Z" fill="#303030"/>
|
||||
<path d="M42.8963 27.4569C40.3688 27.4569 38.5004 28.5435 37.3671 29.7781V28.465C37.3671 28.1858 37.1408 27.9594 36.8615 27.9594H30.8347C30.5554 27.9594 30.3291 28.1858 30.3291 28.465V48.6821C30.3291 48.9614 30.5554 49.1877 30.8347 49.1877H37.1141C37.3934 49.1877 37.6197 48.9614 37.6197 48.6821V38.6793C37.6197 35.3086 38.5353 33.9955 40.8849 33.9955C43.4439 33.9955 43.6473 36.1006 43.6473 38.8528V48.6822C43.6473 48.9615 43.8736 49.1878 44.1529 49.1878H50.4346C50.7139 49.1878 50.9402 48.9615 50.9402 48.6822V37.5928C50.9402 32.5807 49.9845 27.4569 42.8963 27.4569Z" fill="#303030"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_6470_333">
|
||||
<rect width="31.3478" height="31.3478" fill="white" transform="translate(19.5924 17.8744)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
@ -1,4 +0,0 @@
|
||||
<svg width="70" height="71" viewBox="0 0 70 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="35" cy="35.2412" r="34" stroke="#303030" stroke-width="2"/>
|
||||
<path d="M59.9828 20.554C58.1893 21.3407 56.2783 21.8622 54.2859 22.1154C56.3356 20.8916 57.9 18.9686 58.6354 16.6506C56.7244 17.79 54.6145 18.5948 52.3659 19.0439C50.5513 17.1118 47.9651 15.9152 45.1438 15.9152C39.67 15.9152 35.2632 20.3581 35.2632 25.8048C35.2632 26.5885 35.3295 27.342 35.4923 28.0594C27.2725 27.6585 19.9992 23.719 15.1132 17.7177C14.2602 19.1976 13.7598 20.8916 13.7598 22.7152C13.7598 26.1394 15.5231 29.1747 18.1515 30.932C16.563 30.9018 15.0047 30.4407 13.6845 29.7142C13.6845 29.7444 13.6845 29.7836 13.6845 29.8227C13.6845 34.6274 17.1116 38.6182 21.6058 39.5376C20.801 39.7576 19.9239 39.8631 19.0136 39.8631C18.3806 39.8631 17.7416 39.8269 17.1418 39.6943C18.4228 43.6098 22.058 46.4883 26.3803 46.5818C23.0165 49.2132 18.7453 50.7987 14.1215 50.7987C13.3107 50.7987 12.533 50.7625 11.7554 50.663C16.135 53.4873 21.3255 55.0999 26.9229 55.0999C45.1167 55.0999 55.0636 40.0289 55.0636 26.9653C55.0636 26.5282 55.0485 26.1062 55.0274 25.6872C56.9897 24.2947 58.6385 22.5555 59.9828 20.554Z" fill="#303030"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1,4 +0,0 @@
|
||||
<svg width="70" height="71" viewBox="0 0 70 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="35" cy="35.2412" r="34" stroke="#303030" stroke-width="2"/>
|
||||
<path d="M55.6054 24.7388C55.0895 22.8207 53.5772 21.3087 51.6594 20.7922C48.1558 19.8336 34.1412 19.8336 34.1412 19.8336C34.1412 19.8336 20.1271 19.8336 16.6235 20.7559C14.7426 21.2718 13.1934 22.821 12.6775 24.7388C11.7555 28.2421 11.7555 35.5075 11.7555 35.5075C11.7555 35.5075 11.7555 42.8096 12.6775 46.2763C13.194 48.1941 14.7057 49.7061 16.6238 50.2225C20.164 51.1814 34.1417 51.1814 34.1417 51.1814C34.1417 51.1814 48.1558 51.1814 51.6594 50.2592C53.5775 49.743 55.0895 48.231 55.6059 46.3132C56.5277 42.8096 56.5277 35.5444 56.5277 35.5444C56.5277 35.5444 56.5646 28.2421 55.6054 24.7388ZM29.6792 42.2196V28.7955L41.3331 35.5075L29.6792 42.2196Z" fill="#303030"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 848 B |
0
src/components/Footer/styles/Accordion.module.scss
Normal file
@ -1,32 +0,0 @@
|
||||
@import "../../../variaveis";
|
||||
|
||||
.footer {
|
||||
width: 100%;
|
||||
|
||||
|
||||
&__middle {
|
||||
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
height: 139px;
|
||||
padding: 50px 0;
|
||||
position: relative;
|
||||
|
||||
@media (min-width:$full) {
|
||||
height: 239px;
|
||||
}
|
||||
|
||||
@media (max-width: $tablets) {
|
||||
flex-direction: column;
|
||||
width: 96.875%;
|
||||
max-width: 992px;
|
||||
justify-content: initial;
|
||||
padding: 24px 0;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@media (max-width:768px) {
|
||||
width: 94%;
|
||||
}
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ import { HeaderTop } from "./HeaderDesk/HeaderTop";
|
||||
import { HeaderBottom } from "./HeaderDesk/HeaderBottom";
|
||||
import { HeaderMobile } from "./HeaderMobile/HeaderMobile";
|
||||
|
||||
import styleHeader from './Header.module.scss';
|
||||
import styleHeader from './styles/Header.module.scss';
|
||||
|
||||
export const Header = () => {
|
||||
return (
|
||||
|
@ -1,21 +1,19 @@
|
||||
import React from "react";
|
||||
import styleHeader from '../Header.module.scss';
|
||||
import { Link } from "react-router-dom"
|
||||
import styleHeader from '../styles/Header.module.scss';
|
||||
|
||||
export const HeaderBottom = () => {
|
||||
return (
|
||||
<div className={styleHeader["header__bottom"]}>
|
||||
<nav className={styleHeader["navBar__items"]}>
|
||||
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
<a className={styleHeader["list__items__link"]} href="/cursos">
|
||||
Cursos
|
||||
</Link>
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
</a>
|
||||
<a className={styleHeader["list__items__link"]} href="/saiba-mais">
|
||||
Saiba Mais
|
||||
</Link>
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
Institucional
|
||||
</Link>
|
||||
</a>
|
||||
<a className={styleHeader["list__items__link"]} href="/institucionais">
|
||||
Institucionais
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
);
|
||||
|
@ -3,30 +3,29 @@ import logo from "../assets/svgs/logo.svg";
|
||||
import search from "../assets/svgs/search.svg";
|
||||
import cart from "../assets/svgs/cart.svg";
|
||||
|
||||
import styleHeader from '../Header.module.scss';
|
||||
import { Link } from "react-router-dom";
|
||||
import styleHeader from '../styles/Header.module.scss';
|
||||
|
||||
export const HeaderTop = () => {
|
||||
return (
|
||||
<div className={styleHeader["header__top"]}>
|
||||
<div className={styleHeader["container__header__top"]}>
|
||||
<Link to="/institucional/sobre" className={styleHeader["container__logo"]}>
|
||||
<div className={styleHeader["container__logo"]}>
|
||||
< img src={logo} alt="Logo M3" className={styleHeader["container__logo__img"]} />
|
||||
</Link>
|
||||
</div>
|
||||
<form className={styleHeader["container__search"]}>
|
||||
<input className={styleHeader["container__search__input"]} type="text" placeholder="Buscar..." />
|
||||
<Link className={styleHeader["container__search__link"]} to="/institucional/sobre">
|
||||
<a className={styleHeader["container__search__link"]} href="/">
|
||||
<img className={styleHeader["container__search__link__img"]} src={search} alt="Icone de busca" />
|
||||
</Link>
|
||||
</a>
|
||||
</form>
|
||||
<div className={styleHeader["container__menu"]} >
|
||||
<span className={styleHeader["container__menu__enter"]}>
|
||||
<Link to="/institucional/sobre">Entrar</Link>
|
||||
<a href="/">Entrar</a>
|
||||
</span>
|
||||
<span className={styleHeader["container__menu__cart"]}>
|
||||
<Link to="/institucional/sobre" >
|
||||
<a href="/" >
|
||||
<img src={cart} alt="icone de cart" />
|
||||
</Link>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,8 +1,7 @@
|
||||
import React from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
|
||||
import closeIcon from "../assets/svgs/icon-close.svg";
|
||||
import styleHeader from '../Header.module.scss';
|
||||
import styleHeader from '../styles/Header.module.scss';
|
||||
|
||||
interface MenuMobile {
|
||||
isOpenMenu: boolean;
|
||||
@ -29,16 +28,18 @@ export const BurguerMenu = ({ isOpenMenu, setisOpenMenu }: MenuMobile) => {
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{/* Esse nav vai viraar um componente */}
|
||||
<nav className={styleHeader["navBar__items"]}>
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
{/* esse "a" vai virar um componente */}
|
||||
<a className={styleHeader["list__items__link"]} href="/cursos">
|
||||
Cursos
|
||||
</Link>
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
</a>
|
||||
<a className={styleHeader["list__items__link"]} href="/saiba-mais">
|
||||
Saiba Mais
|
||||
</Link>
|
||||
<Link className={styleHeader["list__items__link"]} to="/institucional/sobre">
|
||||
Institucional
|
||||
</Link>
|
||||
</a>
|
||||
<a className={styleHeader["list__items__link"]} href="/institucionais">
|
||||
Institucionais
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
@ -4,7 +4,7 @@ import search from "../assets/svgs/search.svg";
|
||||
import cart from "../assets/svgs/cart.svg";
|
||||
import burguerIcon from "../assets/svgs/burger-icon.svg";
|
||||
|
||||
import styleHeader from '../Header.module.scss';
|
||||
import styleHeader from '../styles/Header.module.scss';
|
||||
import { BurguerMenu } from "./BurguerMenu";
|
||||
|
||||
|
||||
@ -16,20 +16,22 @@ export const HeaderMobile = () => {
|
||||
<div className={styleHeader["header__mobile"]}>
|
||||
<div className={styleHeader["mobile__wrapper"]} >
|
||||
<div className={styleHeader["wrapper__icon-burger"]}>
|
||||
|
||||
<img src={burguerIcon} alt="Menu Hamburguer" onClick={() => setisOpenMenu(true)} />
|
||||
|
||||
</div>
|
||||
<div className={styleHeader["container__logo"]}>
|
||||
< img src={logo} alt="Logo M3" className={styleHeader["container__logo__img"]} />
|
||||
</div>
|
||||
<div className={styleHeader["container__menu"]} >
|
||||
<span className={styleHeader["container__menu_cart"]}>
|
||||
<a href="/institucional/sobre" ><img src={cart} alt="icone de cart" /></a>
|
||||
<a href="/" ><img src={cart} alt="icone de cart" /></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<form className={styleHeader["container__search__mobile"]}>
|
||||
<input className={styleHeader["container__search__input"]} type="text" placeholder="Buscar..." />
|
||||
<a className={styleHeader["container__search__link"]} href="/institucional/sobre">
|
||||
<a className={styleHeader["container__search__link"]} href="/">
|
||||
<img src={search} alt="Icone de busca" />
|
||||
</a>
|
||||
</form>
|
||||
|
@ -1,22 +1,19 @@
|
||||
@import "../../variaveis";
|
||||
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
font-family: $font-family;
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
text-transform: uppercase;
|
||||
color: $color-white;
|
||||
color: #FFFFFF;
|
||||
position: relative;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
@ -37,12 +34,12 @@ a {
|
||||
|
||||
// AREA HEADER TOP
|
||||
&__top {
|
||||
background-color: $color-black;
|
||||
background-color: #000;
|
||||
display: flex;
|
||||
height: 75px;
|
||||
border-bottom: 1px solid $color-gray6;
|
||||
border-bottom: 1px solid #C4C4C4;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
height: 100px;
|
||||
|
||||
}
|
||||
@ -54,7 +51,7 @@ a {
|
||||
.container__header__top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0 100px;
|
||||
margin: 0 7.8125%;
|
||||
width: 100%;
|
||||
|
||||
|
||||
@ -63,7 +60,7 @@ a {
|
||||
width: 100%;
|
||||
max-width: 162px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
max-width: 265.62px;
|
||||
}
|
||||
|
||||
@ -72,7 +69,7 @@ a {
|
||||
width: 100%;
|
||||
height: 25.86px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
height: 50.5px;
|
||||
}
|
||||
}
|
||||
@ -86,7 +83,7 @@ a {
|
||||
justify-content: center;
|
||||
max-width: 264px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
max-width: none;
|
||||
width: 24.44444%;
|
||||
height: 57px;
|
||||
@ -100,14 +97,14 @@ a {
|
||||
padding-left: 16px;
|
||||
border-radius: 5px;
|
||||
|
||||
color: $color-gray6;
|
||||
font-family: $font-family;
|
||||
color: #C4C4C4;
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
width: 100%;
|
||||
height: 57px;
|
||||
font-size: 28px;
|
||||
@ -115,14 +112,14 @@ a {
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: $color-gray6;
|
||||
font-family: $font-family;
|
||||
color: #C4C4C4;
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
@ -130,7 +127,7 @@ a {
|
||||
|
||||
&:focus {
|
||||
transition: 0.35s ease;
|
||||
color: $color-black;
|
||||
color: #000;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
transition: opacity 0.45s ease;
|
||||
@ -150,7 +147,7 @@ a {
|
||||
|
||||
&:focus {
|
||||
transition: 0.35s ease;
|
||||
color: $color-black;
|
||||
color: #000;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
transition: opacity 0.45s ease;
|
||||
@ -177,7 +174,7 @@ a {
|
||||
top: 7px;
|
||||
right: 32px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
top: 14px;
|
||||
right: 64px;
|
||||
|
||||
@ -196,7 +193,7 @@ a {
|
||||
max-width: 136px;
|
||||
justify-content: space-between;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
max-width: 214.68px;
|
||||
|
||||
|
||||
@ -205,16 +202,15 @@ a {
|
||||
&__enter {
|
||||
a {
|
||||
|
||||
font-family: $font-family;
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
text-transform: uppercase;
|
||||
color: #FFFFFF;
|
||||
|
||||
color: $color-white;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
@ -224,7 +220,7 @@ a {
|
||||
&__cart {
|
||||
a {
|
||||
img {
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
width: 54.68px;
|
||||
height: 54.68px;
|
||||
}
|
||||
@ -235,7 +231,7 @@ a {
|
||||
}
|
||||
|
||||
.search-container {
|
||||
width: $phone;
|
||||
width: 490px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
@ -255,11 +251,11 @@ a {
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
height: 61px;
|
||||
}
|
||||
|
||||
background-color: $color-black;
|
||||
background-color: #000;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -280,7 +276,7 @@ a {
|
||||
.navBar__items {
|
||||
width: 100%;
|
||||
max-width: 349px;
|
||||
margin: 0 100px;
|
||||
margin: 0 7.8125%;
|
||||
|
||||
|
||||
display: flex;
|
||||
@ -290,13 +286,13 @@ a {
|
||||
align-items: center;
|
||||
padding: 0;
|
||||
|
||||
@media (min-width:$full) {
|
||||
@media (min-width:2500px) {
|
||||
max-width: 588.62px;
|
||||
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
@media (max-width:1024px) {
|
||||
display: flex;
|
||||
align-items: initial;
|
||||
flex-direction: column;
|
||||
@ -315,14 +311,14 @@ a {
|
||||
bottom: 0;
|
||||
width: 0;
|
||||
height: 2px;
|
||||
background: $color-white;
|
||||
background: #FFFFFF;
|
||||
transition: all .45s;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
color: $color-gray6;
|
||||
@media (max-width:1024px) {
|
||||
color: #C4C4C4;
|
||||
}
|
||||
|
||||
&:hover::before {
|
||||
@ -334,7 +330,7 @@ a {
|
||||
|
||||
// AREA HEADER MOBILE
|
||||
&__mobile {
|
||||
background-color: $color-black;
|
||||
background-color: #000;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: auto;
|
||||
@ -357,13 +353,13 @@ a {
|
||||
width: 94%;
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
@media (max-width:490px) {
|
||||
|
||||
width: 91.466666666666666666666666666667%;
|
||||
}
|
||||
|
||||
.container__hamburguer {
|
||||
background-color: $color-white;
|
||||
background-color: lightgray;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
@ -376,7 +372,7 @@ a {
|
||||
justify-content: center;
|
||||
margin: 0 16px;
|
||||
max-width: 992px;
|
||||
background-color: $color-white;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 5px;
|
||||
|
||||
@media (max-width:768px) {
|
||||
@ -384,7 +380,7 @@ a {
|
||||
width: 94%;
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
@media (max-width:490px) {
|
||||
|
||||
width: 91.466666666666666666666666666667%;
|
||||
}
|
||||
@ -399,8 +395,8 @@ a {
|
||||
|
||||
|
||||
&::placeholder {
|
||||
color: $color-gray6;
|
||||
font-family: $font-family;
|
||||
color: #C4C4C4;
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
@ -409,7 +405,7 @@ a {
|
||||
|
||||
&:focus {
|
||||
transition: 0.35s ease;
|
||||
color: $color-black;
|
||||
color: #000;
|
||||
|
||||
&::-webkit-input-placeholder {
|
||||
transition: opacity 0.45s ease;
|
||||
@ -457,7 +453,6 @@ a {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: all .45s;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.wrapper.aberto {
|
||||
@ -470,10 +465,10 @@ a {
|
||||
top: 0;
|
||||
width: 96.484375%;
|
||||
height: 585px;
|
||||
background-color: $color-white;
|
||||
background-color: #FFFFFF;
|
||||
z-index: 8;
|
||||
|
||||
@media (max-width:$phone) {
|
||||
@media (max-width:490px) {
|
||||
width: 90.4%;
|
||||
}
|
||||
|
||||
@ -492,7 +487,7 @@ a {
|
||||
}
|
||||
|
||||
.header__menu {
|
||||
background-color: $color-black;
|
||||
background-color: #000;
|
||||
height: 78px;
|
||||
display: flex;
|
||||
align-items: center;
|
@ -1,25 +0,0 @@
|
||||
import { Outlet } from "react-router-dom"
|
||||
import { Footer } from "../Footer/Footer"
|
||||
import { Header } from "../Header/Header"
|
||||
import { BreadCrumb } from "../BreadCrumb/BreadCreumb"
|
||||
import styles from "./styles.module.scss"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export const Layout = () => {
|
||||
|
||||
|
||||
return (
|
||||
<div className={styles["container"]}>
|
||||
<Header />
|
||||
<BreadCrumb />
|
||||
<main className={styles["main"]}>
|
||||
<Outlet />
|
||||
</main>
|
||||
|
||||
<Footer />
|
||||
</div >
|
||||
)
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
@import "../../variaveis";
|
||||
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
@media (min-width:3000px) {
|
||||
height: 100vh;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
|
||||
height: auto;
|
||||
margin: 0 100px;
|
||||
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
@media (min-width: 3000px) {
|
||||
min-height: 897px;
|
||||
flex: 1;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
margin: 0 16px;
|
||||
// z-index: -9;
|
||||
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
|
||||
color: $color-black1;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 48px;
|
||||
line-height: 56px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
import React from 'react';
|
||||
|
||||
|
||||
interface IconLink {
|
||||
link: string;
|
||||
sourceImg: string;
|
||||
altText: string;
|
||||
}
|
||||
export const IconLink = ({ link, sourceImg, altText }: IconLink) => {
|
||||
return (
|
||||
<li>
|
||||
<a href={link} target="_blank">
|
||||
<img src={sourceImg} alt={altText} />
|
||||
</a>
|
||||
</li>
|
||||
)
|
||||
|
||||
}
|
||||
|
@ -1,19 +0,0 @@
|
||||
import React from 'react';
|
||||
|
||||
|
||||
|
||||
interface ListItemProps {
|
||||
link?: string;
|
||||
title: string;
|
||||
}
|
||||
export const ListItem = ({ link, title }: ListItemProps) => {
|
||||
return (
|
||||
<li>
|
||||
<a href={link}>
|
||||
{title}
|
||||
</a>
|
||||
</li>
|
||||
)
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||
@ -7,8 +6,7 @@ body {
|
||||
sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
/* background-color: gray; */
|
||||
|
||||
background-color: gray;
|
||||
}
|
||||
|
||||
code {
|
||||
|
@ -1,16 +1,12 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom/client';
|
||||
import { Home } from './pages/Home';
|
||||
import './index.css';
|
||||
import { BrowserRouter } from "react-router-dom"
|
||||
import { Routes } from './routes';
|
||||
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<Routes />
|
||||
</BrowserRouter>
|
||||
|
||||
<Home />
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1,18 +1,14 @@
|
||||
|
||||
|
||||
|
||||
import styles from "./styles.module.scss"
|
||||
|
||||
|
||||
|
||||
import React from "react";
|
||||
import { Rodape } from "../components/Footer/Rodape/Rodape";
|
||||
import { Header } from "../components/Header/Header";
|
||||
|
||||
|
||||
export const Home = () => {
|
||||
|
||||
|
||||
return (
|
||||
<div className={styles["container"]}>
|
||||
<h1>HOME</h1>
|
||||
</div >
|
||||
<>
|
||||
<Header />
|
||||
|
||||
<Rodape />
|
||||
</>
|
||||
)
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Article } from './Article';
|
||||
|
||||
|
||||
|
||||
export const About = () => {
|
||||
return (
|
||||
<Article title='Sobre'>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
</p>
|
||||
<p>
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
|
||||
</p>
|
||||
<p>
|
||||
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur ? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur ?
|
||||
</p>
|
||||
</Article>
|
||||
)
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
import React, { ReactNode } from 'react';
|
||||
|
||||
|
||||
|
||||
interface ArticleProps {
|
||||
title: string;
|
||||
className?: string;
|
||||
children: ReactNode;
|
||||
|
||||
}
|
||||
export const Article = ({ children, title, className }: ArticleProps) => {
|
||||
return (
|
||||
<>
|
||||
<h2 >{title}</h2>
|
||||
{children}
|
||||
</>
|
||||
)
|
||||
|
||||
}
|
||||
|
@ -1,157 +0,0 @@
|
||||
@import "../../variaveis";
|
||||
|
||||
.formulario {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 16px;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 28px;
|
||||
line-height: 32px;
|
||||
|
||||
}
|
||||
|
||||
@media (min-width: 1025px) {
|
||||
width: 100%;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.label__form {
|
||||
margin: 12px 0;
|
||||
}
|
||||
|
||||
input {
|
||||
padding: 14px 20px;
|
||||
border: 1px solid $color-black2;
|
||||
border-radius: 25px;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
color: $color-black;
|
||||
outline: none;
|
||||
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: $color-gray;
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.invalid {
|
||||
border: 1px solid $color-red;
|
||||
|
||||
}
|
||||
|
||||
.error {
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
|
||||
color: $color-red;
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.success {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
/* identical to box height */
|
||||
|
||||
|
||||
color: $color-green;
|
||||
|
||||
margin-top: 12.56px;
|
||||
|
||||
@media (min-width: $full) {
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
button {
|
||||
padding: 17px;
|
||||
background: $color-black;
|
||||
border-radius: 25px;
|
||||
|
||||
color: $color-white;
|
||||
|
||||
@media (min-width: $full) {
|
||||
padding: 14.5px;
|
||||
font-size: 32px;
|
||||
line-height: 38px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.checkbox_wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.obrigatorio__form {
|
||||
color: $color-red;
|
||||
}
|
||||
|
||||
label {
|
||||
order: 2;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
input {
|
||||
order: 3;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 1px solid $color-black;
|
||||
border-radius: 3px;
|
||||
margin: 0 4px;
|
||||
|
||||
@media (min-width: $full) {
|
||||
width: 36.4px;
|
||||
height: 35.15px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $tablets) {
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,136 +0,0 @@
|
||||
import { Formik, Form, Field, ErrorMessage } from "formik";
|
||||
import ContactFormSchema from "../../schema/ContactFormSchema";
|
||||
import { Article } from "./Article";
|
||||
import style from "./Contact.module.scss";
|
||||
import InputMask from 'react-input-mask';
|
||||
import React, { useState } from "react";
|
||||
interface IFormikValues {
|
||||
name: string;
|
||||
email: string;
|
||||
cpf: string;
|
||||
data: string;
|
||||
telefone: string;
|
||||
instagram?: string;
|
||||
checkbox: boolean;
|
||||
}
|
||||
|
||||
const initialValues = {
|
||||
name: "",
|
||||
email: "",
|
||||
cpf: "",
|
||||
data: "",
|
||||
telefone: "",
|
||||
instagram: "",
|
||||
checkbox: false,
|
||||
};
|
||||
|
||||
let listContact: Array<IFormikValues> = []
|
||||
|
||||
|
||||
|
||||
export const Contact = () => {
|
||||
|
||||
|
||||
const [isValidateForm, setisValidateForm] = useState(false);
|
||||
return (
|
||||
<Article title="Preencha o formulario" className={style["title-contact"]}>
|
||||
<Formik
|
||||
initialValues={initialValues}
|
||||
onSubmit={(values: IFormikValues, actions) => {
|
||||
listContact.push(values);
|
||||
actions.resetForm();
|
||||
console.log(values);
|
||||
({ ...values }) && setisValidateForm(true);
|
||||
}}
|
||||
validationSchema={ContactFormSchema}
|
||||
>
|
||||
{({ errors, touched }) => (
|
||||
<Form className={style["formulario"]}>
|
||||
<label className={style["label__form"]} htmlFor="name">Nome</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="name" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
id="name"
|
||||
name="name"
|
||||
placeholder="Seu nome completo"
|
||||
className={errors.name && touched.name && style["invalid"]}
|
||||
/>
|
||||
|
||||
<label className={style["label__form"]} htmlFor="email">E-mail</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="email" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
id="email"
|
||||
name="email"
|
||||
placeholder="Seu e-mail"
|
||||
className={errors.email && touched.email && style["invalid"]}
|
||||
/>
|
||||
|
||||
<label className={style["label__form"]} htmlFor="cpf">CPF</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="cpf" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
id="cpf"
|
||||
name="cpf" as={InputMask} mask="999.999.999-99"
|
||||
type="tel"
|
||||
placeholder="000.000.000-00"
|
||||
className={errors.cpf && touched.cpf && style["invalid"]}
|
||||
/>
|
||||
|
||||
<label className={style["label__form"]} htmlFor="data">Data de Nascimento:</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="data" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
id="data"
|
||||
name="data" as={InputMask} mask="99.99.9999"
|
||||
|
||||
type="string"
|
||||
placeholder="00.00.0000"
|
||||
className={errors.data && touched.data && style["invalid"]}
|
||||
/>
|
||||
<label className={style["label__form"]} htmlFor="telefone">Telefone:</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="telefone" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
id="telefone"
|
||||
name="telefone" as={InputMask} mask="(99) 99999-9999"
|
||||
type="tel"
|
||||
placeholder="(00) 00000-0000"
|
||||
className={errors.telefone && touched.telefone && [style["invalid"]]}
|
||||
/>
|
||||
|
||||
<label className={style["label__form"]} htmlFor="instagram">Instagram</label>
|
||||
<span>
|
||||
<ErrorMessage name="instagram" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field id="instagram" name="instagram" placeholder="@seuuser" />
|
||||
|
||||
<div className={style["checkbox_wrapper"]}>
|
||||
<span className={style["obrigatorio__form"]}>*</span>
|
||||
<label className={style["label__form"]} htmlFor="checkbox">Declaro que li e aceito</label>
|
||||
<span className={style["error"]}>
|
||||
<ErrorMessage name="checkbox" className={style["form-ivalid-feedback"]} />
|
||||
</span>
|
||||
<Field
|
||||
type="checkbox"
|
||||
id="checkbox"
|
||||
name="checkbox"
|
||||
className={errors.checkbox && touched.checkbox && style["invalid"]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<button type="submit">CADASTRE-SE</button>
|
||||
{isValidateForm && (
|
||||
<span className={style["success"]}>*Formulario enviado com sucesso!</span>
|
||||
)}
|
||||
</Form>
|
||||
)}
|
||||
</Formik>
|
||||
</Article >
|
||||
);
|
||||
};
|
@ -1,21 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Article } from './Article';
|
||||
|
||||
|
||||
|
||||
export const Delivery = () => {
|
||||
return (
|
||||
<Article title='Entrega'>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
</p>
|
||||
<p>
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
|
||||
</p>
|
||||
<p>
|
||||
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur ? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur ?
|
||||
</p>
|
||||
</Article>
|
||||
)
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Article } from './Article';
|
||||
|
||||
|
||||
|
||||
export const ExchangeAndEvolution = () => {
|
||||
return (
|
||||
<Article title='Troca e Devolucao'>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
</p>
|
||||
<p>
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
|
||||
</p>
|
||||
<p>
|
||||
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur ? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur ?
|
||||
</p>
|
||||
</Article>
|
||||
)
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Article } from './Article';
|
||||
|
||||
|
||||
|
||||
export const FormOfPayment = () => {
|
||||
return (
|
||||
<Article title='Forma de Pagamento'>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
</p>
|
||||
<p>
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
|
||||
</p>
|
||||
<p>
|
||||
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur ? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur ?
|
||||
</p>
|
||||
</Article>
|
||||
)
|
||||
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
@import "../../variaveis";
|
||||
|
||||
|
||||
.wrapper__sideBar {
|
||||
display: flex;
|
||||
gap: 30px;
|
||||
height: 100%;
|
||||
// max-height: 465px;
|
||||
margin: 80px 0 70px;
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
flex-direction: column;
|
||||
margin: 40px 0 80px;
|
||||
max-height: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 0;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 48px;
|
||||
line-height: 56px;
|
||||
}
|
||||
}
|
||||
|
||||
nav {
|
||||
@media (min-width:$full) {
|
||||
max-width: 590px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.sideBar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-right: 1px solid $color-black;
|
||||
width: 100%;
|
||||
min-width: 302px;
|
||||
height: 100%;
|
||||
max-height: 285px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
|
||||
@media (min-width:$full) {
|
||||
min-width: 590px;
|
||||
max-height: 465px;
|
||||
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
min-width: none;
|
||||
border-right: none;
|
||||
|
||||
}
|
||||
|
||||
@media (max-width:$phone) {
|
||||
min-width: 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
&__item {
|
||||
display: flex;
|
||||
|
||||
align-items: center;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
text-transform: inherit;
|
||||
|
||||
padding: 10px 16px;
|
||||
color: $color-gray2;
|
||||
|
||||
@media (min-width:$full) {
|
||||
height: 58px;
|
||||
padding: 0 16px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
&.ativo {
|
||||
background-color: $color-black;
|
||||
color: $color-white;
|
||||
|
||||
font-weight: 700;
|
||||
font-size: 16px;
|
||||
line-height: 19px;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-right {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
h2 {
|
||||
@media (max-width:$tablets) {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
margin-bottom: 0;
|
||||
|
||||
color: $color-gray2;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 26px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
text-align: justify;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Article } from './Article';
|
||||
|
||||
|
||||
|
||||
export const SecurityAndPrivacy = () => {
|
||||
return (
|
||||
<Article title='Seguranca e Privacidade'>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
</p>
|
||||
<p>
|
||||
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
|
||||
</p>
|
||||
<p>
|
||||
Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur ? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur ?
|
||||
</p>
|
||||
</Article>
|
||||
)
|
||||
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
import { NavLink, Outlet } from "react-router-dom";
|
||||
|
||||
import styleInstitucional from "./Instituitional.module.scss"
|
||||
|
||||
export const Institucional = () => {
|
||||
|
||||
|
||||
return (
|
||||
<>
|
||||
<h1>Institucional</h1>
|
||||
<div className={styleInstitucional["wrapper__sideBar"]}>
|
||||
<nav>
|
||||
<ul className={styleInstitucional["sideBar"]}>
|
||||
<NavLink
|
||||
to="sobre"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Sobre
|
||||
</NavLink>
|
||||
|
||||
<NavLink
|
||||
to="forma-de-pagamento"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Forma de Pagamento
|
||||
</NavLink>
|
||||
|
||||
<NavLink
|
||||
to="entrega"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Entrega
|
||||
</NavLink>
|
||||
|
||||
<NavLink
|
||||
to="troca-e-devolucao"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Troca e Devolução
|
||||
</NavLink>
|
||||
|
||||
<NavLink
|
||||
to="seguranca-e-privacidade"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Segurança e Privacidade
|
||||
</NavLink>
|
||||
|
||||
<NavLink
|
||||
to="contato"
|
||||
className={({ isActive }) =>
|
||||
isActive ? `${styleInstitucional["sideBar__item"]} ${styleInstitucional["ativo"]}` : styleInstitucional["sideBar__item"]
|
||||
}>
|
||||
Contato
|
||||
</NavLink>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<div className={styleInstitucional["content-right"]} >
|
||||
<Outlet />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</>
|
||||
)
|
||||
}
|
@ -1,60 +0,0 @@
|
||||
@import "../variaveis";
|
||||
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
@media (min-width:3000px) {
|
||||
height: 100vh;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
|
||||
height: auto;
|
||||
margin: 0 100px;
|
||||
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
@media (min-width: 3000px) {
|
||||
min-height: 897px;
|
||||
|
||||
height: 100vh;
|
||||
flex: 1;
|
||||
border: 1px solid blue;
|
||||
|
||||
}
|
||||
|
||||
@media (max-width:$tablets) {
|
||||
margin: 0 16px;
|
||||
// z-index: -9;
|
||||
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
font-family: $font-family;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
|
||||
color: $color-black1;
|
||||
|
||||
@media (min-width:$full) {
|
||||
font-size: 48px;
|
||||
line-height: 56px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
import { Routes as ReactRouterRoutes, Route, Navigate } from "react-router-dom"
|
||||
import { Home } from "./pages/Home"
|
||||
import { Contact } from "./pages/Intitucional/Contact"
|
||||
import { Delivery } from "./pages/Intitucional/Delivery"
|
||||
import { FormOfPayment } from "./pages/Intitucional/FormOfPayment"
|
||||
import { Institucional } from "./pages/Intitucional"
|
||||
import { SecurityAndPrivacy } from "./pages/Intitucional/SecurityAndPrivacy"
|
||||
import { About } from "./pages/Intitucional/About"
|
||||
import { ExchangeAndEvolution } from "./pages/Intitucional/ExchangeAndEvolution"
|
||||
import { Layout } from "./components/Layout"
|
||||
|
||||
|
||||
|
||||
export const Routes = () => {
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<ReactRouterRoutes>
|
||||
<Route path="/" element={<Layout />}>
|
||||
<Route index element={<Navigate to="/institucional/sobre" replace />} />
|
||||
<Route path="institucional" element={<Institucional />}>
|
||||
<Route path="sobre" element={<About />} />
|
||||
<Route path="forma-de-pagamento" element={<FormOfPayment />} />
|
||||
<Route path="entrega" element={<Delivery />} />
|
||||
<Route path="troca-e-devolucao" element={<ExchangeAndEvolution />} />
|
||||
<Route path="seguranca-e-privacidade" element={<SecurityAndPrivacy />} />
|
||||
<Route path="contato" element={<Contact />} />
|
||||
</Route>
|
||||
|
||||
|
||||
</Route>
|
||||
</ReactRouterRoutes >
|
||||
)
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
import * as Yup from "yup";
|
||||
|
||||
import {
|
||||
cpfRegex,
|
||||
instaRegex,
|
||||
phoneRegex
|
||||
} from "./ContactValidations";
|
||||
|
||||
export default Yup.object().shape({
|
||||
name: Yup.string()
|
||||
.min(3, "O campo deve ter no mínimo 3 caracteres")
|
||||
.required("*Campo Obrigatório"),
|
||||
email: Yup.string()
|
||||
.email()
|
||||
.required("*Campo Obrigatório")
|
||||
.email("E-mail inválido"),
|
||||
cpf: Yup.string()
|
||||
.required("*Campo Obrigatório")
|
||||
.matches(cpfRegex, 'CPF inválido'),
|
||||
telefone: Yup.string()
|
||||
.required("*Campo Obrigatório")
|
||||
.matches(phoneRegex, 'Número de telefone inválido'),
|
||||
instagram: Yup.string().matches(instaRegex, "conta inválida"),
|
||||
data: Yup.date()
|
||||
.required("*Campo Obrigatório")
|
||||
.max(new Date(),'Data de nascimento inválida'),
|
||||
|
||||
checkbox: Yup.boolean().oneOf([true], ""),
|
||||
});
|
@ -1,4 +0,0 @@
|
||||
export const phoneRegex =/^\([1-9]{2}\) [2-9][0-9]{3,4}\-[0-9]{4}$/;
|
||||
export const cpfRegex = /^[0-9]{3}\.?[0-9]{3}\.?[0-9]{3}\-?[0-9]{2}$/
|
||||
export const instaRegex = /(?:^|[^\w])(?:@)([\w-](?:(?:[\w-]|(?:\.(?!\.))){0,28}(?:[\w-]))?)/;
|
||||
export const dateRegex = /^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$/;
|
28
variables.scss
Normal file
@ -0,0 +1,28 @@
|
||||
/* fonts */
|
||||
@import url("https://fonts.googleapis.com/css2?family=Tenor+Sans&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap");
|
||||
$font-family: "Open Sans", sans-serif;
|
||||
$font-family-secundary: "Tenor Sans", sans-serif;
|
||||
|
||||
/* Colors */
|
||||
$color-black: #000000;
|
||||
$color-black2: #292929;
|
||||
$color-black3: #58595B;
|
||||
|
||||
$color-white: #fff;
|
||||
|
||||
$color-gray: #6c6c6c;
|
||||
$color-gray2: #7D7D7D;
|
||||
$color-gray3: #f0f0f0;
|
||||
$color-gray4: #8d8d8d;
|
||||
$color-gray5: #e5e5e5;
|
||||
$color-gray6: #C4C4C4;
|
||||
$color-gray7: #e0e0e0;
|
||||
|
||||
$color-blue: #4267b2;
|
||||
$color-blue2: #00C8FF;
|
||||
|
||||
|
||||
$color-green: #4caf50;
|
||||
|
||||
$color-orange: #f15a31;
|
142
yarn.lock
@ -1036,7 +1036,7 @@
|
||||
core-js-pure "^3.25.1"
|
||||
regenerator-runtime "^0.13.11"
|
||||
|
||||
"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
|
||||
"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
|
||||
version "7.20.7"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
|
||||
integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
|
||||
@ -1612,11 +1612,6 @@
|
||||
schema-utils "^3.0.0"
|
||||
source-map "^0.7.3"
|
||||
|
||||
"@remix-run/router@1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.2.1.tgz#812edd4104a15a493dda1ccac0b352270d7a188c"
|
||||
integrity sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==
|
||||
|
||||
"@rollup/plugin-babel@^5.2.0":
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
|
||||
@ -2033,11 +2028,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
|
||||
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
|
||||
|
||||
"@types/lodash@^4.14.175":
|
||||
version "4.14.191"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa"
|
||||
integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==
|
||||
|
||||
"@types/mime@*":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
|
||||
@ -2100,20 +2090,6 @@
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-input-mask@^3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-input-mask/-/react-input-mask-3.0.2.tgz#60df645cdb2415c97a8f97316011eb3ede78dc1e"
|
||||
integrity sha512-WTli3kUyvUqqaOLYG/so2pLqUvRb+n4qnx2He5klfqZDiQmRyD07jVIt/bco/1BrcErkPMtpOm+bHii4Oed6cQ==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-maskedinput@^4.0.6":
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-maskedinput/-/react-maskedinput-4.0.6.tgz#cbb3a689d81b594b9d3bb2d359e86d1e628cb41b"
|
||||
integrity sha512-rLm0t4CcCE0smsOVgZTzwT/amDDBh1sL46V+V22JIeyChibCM7Oe3TNSk66oJK0fHishDyzRg7pd+sH4sozGqg==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react@*", "@types/react@^18.0.0":
|
||||
version "18.0.26"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
|
||||
@ -3776,11 +3752,6 @@ deep-is@^0.1.3, deep-is@~0.1.3:
|
||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
||||
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
||||
|
||||
deepmerge@^2.1.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
|
||||
integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
|
||||
|
||||
deepmerge@^4.2.2:
|
||||
version "4.2.2"
|
||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
|
||||
@ -4738,19 +4709,6 @@ form-data@^3.0.0:
|
||||
combined-stream "^1.0.8"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
formik@^2.2.9:
|
||||
version "2.2.9"
|
||||
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
|
||||
integrity sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==
|
||||
dependencies:
|
||||
deepmerge "^2.1.1"
|
||||
hoist-non-react-statics "^3.3.0"
|
||||
lodash "^4.17.21"
|
||||
lodash-es "^4.17.21"
|
||||
react-fast-compare "^2.0.1"
|
||||
tiny-warning "^1.0.2"
|
||||
tslib "^1.10.0"
|
||||
|
||||
forwarded@0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
||||
@ -5088,13 +5046,6 @@ he@^1.2.0:
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||
|
||||
hoist-non-react-statics@^3.3.0:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
|
||||
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
|
||||
dependencies:
|
||||
react-is "^16.7.0"
|
||||
|
||||
hoopy@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
|
||||
@ -5371,13 +5322,6 @@ internal-slot@^1.0.3:
|
||||
has "^1.0.3"
|
||||
side-channel "^1.0.4"
|
||||
|
||||
invariant@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
|
||||
dependencies:
|
||||
loose-envify "^1.0.0"
|
||||
|
||||
ip@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
|
||||
@ -6455,11 +6399,6 @@ locate-path@^6.0.0:
|
||||
dependencies:
|
||||
p-locate "^5.0.0"
|
||||
|
||||
lodash-es@^4.17.21:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
|
||||
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
|
||||
|
||||
lodash.debounce@^4.0.8:
|
||||
version "4.0.8"
|
||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||
@ -6490,7 +6429,7 @@ lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
||||
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
|
||||
loose-envify@^1.1.0, loose-envify@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
||||
@ -6857,11 +6796,6 @@ nan@^2.17.0:
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
|
||||
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
|
||||
|
||||
nanoclone@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4"
|
||||
integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==
|
||||
|
||||
nanoid@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
||||
@ -7993,11 +7927,6 @@ prop-types@^15.8.1:
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.13.1"
|
||||
|
||||
property-expr@^2.0.4:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.5.tgz#278bdb15308ae16af3e3b9640024524f4dc02cb4"
|
||||
integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==
|
||||
|
||||
proxy-addr@~2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
|
||||
@ -8132,25 +8061,7 @@ react-error-overlay@^6.0.11:
|
||||
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
|
||||
integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==
|
||||
|
||||
react-fast-compare@^2.0.1:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
|
||||
integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
|
||||
|
||||
react-headless-accordion@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/react-headless-accordion/-/react-headless-accordion-1.0.2.tgz#df45168fc379a9014bd7becc2f4be100af456b6e"
|
||||
integrity sha512-wKBTB/+aAr9MGX5RYi3sdmKOSzevKdmbGRw9JTe7XONiHlTo+pC1OiggL9NUxp5QeQcTnX0rryhuySeGsqBfBg==
|
||||
|
||||
react-input-mask@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/react-input-mask/-/react-input-mask-2.0.4.tgz#9ade5cf8196f4a856dbf010820fe75a795f3eb14"
|
||||
integrity sha512-1hwzMr/aO9tXfiroiVCx5EtKohKwLk/NT8QlJXHQ4N+yJJFyUuMT+zfTpLBwX/lK3PkuMlievIffncpMZ3HGRQ==
|
||||
dependencies:
|
||||
invariant "^2.2.4"
|
||||
warning "^4.0.2"
|
||||
|
||||
react-is@^16.13.1, react-is@^16.7.0:
|
||||
react-is@^16.13.1:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
@ -8170,21 +8081,6 @@ react-refresh@^0.11.0:
|
||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
|
||||
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
|
||||
|
||||
react-router-dom@^6.6.2:
|
||||
version "6.6.2"
|
||||
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.6.2.tgz#bbf1f9b45855b218d22fc2d294b79408a084740a"
|
||||
integrity sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==
|
||||
dependencies:
|
||||
"@remix-run/router" "1.2.1"
|
||||
react-router "6.6.2"
|
||||
|
||||
react-router@6.6.2:
|
||||
version "6.6.2"
|
||||
resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.6.2.tgz#556f7b56cff7fe32c5c02429fef3fcb2ecd08111"
|
||||
integrity sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==
|
||||
dependencies:
|
||||
"@remix-run/router" "1.2.1"
|
||||
|
||||
react-scripts@5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003"
|
||||
@ -9299,11 +9195,6 @@ thunky@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
|
||||
integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
|
||||
|
||||
tiny-warning@^1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
|
||||
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
|
||||
|
||||
tmpl@1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
|
||||
@ -9326,11 +9217,6 @@ toidentifier@1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
|
||||
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
|
||||
|
||||
toposort@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
|
||||
integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
|
||||
|
||||
tough-cookie@^4.0.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
|
||||
@ -9380,7 +9266,7 @@ tsconfig-paths@^3.14.1:
|
||||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@^1.10.0, tslib@^1.8.1:
|
||||
tslib@^1.8.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
@ -9655,13 +9541,6 @@ walker@^1.0.7:
|
||||
dependencies:
|
||||
makeerror "1.0.12"
|
||||
|
||||
warning@^4.0.2:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
|
||||
integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
|
||||
dependencies:
|
||||
loose-envify "^1.0.0"
|
||||
|
||||
watchpack@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
|
||||
@ -10188,16 +10067,3 @@ yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
yup@^0.32.11:
|
||||
version "0.32.11"
|
||||
resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5"
|
||||
integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@types/lodash" "^4.14.175"
|
||||
lodash "^4.17.21"
|
||||
lodash-es "^4.17.21"
|
||||
nanoclone "^0.2.1"
|
||||
property-expr "^2.0.4"
|
||||
toposort "^2.0.2"
|
||||
|