diff --git a/package-lock.json b/package-lock.json index 7094709..c166288 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "formik": "^2.2.9", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.6.2", "react-scripts": "5.0.1", "typescript": "^4.9.4", "web-vitals": "^2.1.4", @@ -3080,6 +3081,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz", + "integrity": "sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==", + "engines": { + "node": ">=14" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -14093,6 +14102,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", + "integrity": "sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==", + "dependencies": { + "@remix-run/router": "1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.2.tgz", + "integrity": "sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==", + "dependencies": { + "@remix-run/router": "1.2.1", + "react-router": "6.6.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -19043,6 +19082,11 @@ "source-map": "^0.7.3" } }, + "@remix-run/router": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz", + "integrity": "sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==" + }, "@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -26897,6 +26941,23 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, + "react-router": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.2.tgz", + "integrity": "sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==", + "requires": { + "@remix-run/router": "1.2.1" + } + }, + "react-router-dom": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.2.tgz", + "integrity": "sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==", + "requires": { + "@remix-run/router": "1.2.1", + "react-router": "6.6.2" + } + }, "react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/package.json b/package.json index 0718a67..a963be3 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "formik": "^2.2.9", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.6.2", "react-scripts": "5.0.1", "typescript": "^4.9.4", "web-vitals": "^2.1.4", diff --git a/src/components/Button/Buttom.tsx b/src/components/Button/Buttom.tsx deleted file mode 100644 index 9fcdb9e..0000000 --- a/src/components/Button/Buttom.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; - -interface Btn { - text: string; - type: "button" | "submit" | "reset"; - className: string; -} - -const Button = ( props: Btn ) => { - const { text, type, className } = props; - - return ( - - ); -}; - -export { Button }; diff --git a/src/components/InstitucionalForm/InstitucionalForm.module.scss b/src/components/InstitucionalForm/InstitucionalForm.module.scss new file mode 100644 index 0000000..991e687 --- /dev/null +++ b/src/components/InstitucionalForm/InstitucionalForm.module.scss @@ -0,0 +1,183 @@ +@use '../../variables'; + +.form { + &__container { + width: 100%; + } + + form { + width: 100%; + } + + &__inputs-container { + display: flex; + flex-direction: column; + + label { + font-size: 14px; + line-height: 16px; + color: variables.$black-100; + margin-left: 15px; + + @media (min-width: 2500px) { + font-size: 28px; + line-height: 33px; + } + } + + input { + height: 46px; + background: variables.$white; + border: 1px solid variables.$black-100; + font-size: 14px; + line-height: 16px; + color: variables.$gray-200; + border-radius: 25px; + margin-top: 12px; + margin-bottom: 12px; + padding: 15px 20px; + + @media (min-width: 2500px) { + height: 63px; + font-size: 28px; + line-height: 33px; + } + + &::placeholder { + font-size: 14px; + line-height: 16px; + color: variables.$gray-200; + + @media (min-width: 2500px) { + font-size: 28px; + line-height: 33px; + } + } + } + } + + &__checkbox-container { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 12px; + position: relative; + + input { + width: 18px; + height: 18px; + margin-left: 4px; + + @media (min-width: 2500px) { + width: 36px; + height: 35px; + } + + @media (max-width: 289px) { + margin-left: 2px; + } + + } + } + + &__checkbox, + &__checkbox-alert { + font-size: 14px; + line-height: 16px; + + @media (min-width: 2500px) { + font-size: 28px; + line-height: 33px; + } + } + + &__checkbox { + color: variables.$black-100; + text-decoration: underline; + } + + &__checkbox-alert { + color: variables.$red; + text-decoration: none; + } + + &__invalid-feedback, + &__invalid-feedback-terms { + font-size: 12px; + line-height: 14px; + color: variables.$red; + + @media (min-width: 2500px) { + font-size: 24px; + line-height: 28px; + } + } + + &__invalid-feedback { + right: 120px; + margin-top: 12px; + position: absolute; + + @media (max-width: 1024px) { + right: 32px; + } + } + + &__invalid-feedback-terms { + margin-left: 5px; + + @media (min-width: 2500px) { + margin-left: 7px; + } + + @media (max-width: 289px) { + font-size: 11px; + margin-left: 2px; + } + } + + &__btn { + width: 100%; + height: 52px; + background-color: variables.$black; + border-radius: 25px; + border: none; + + font-size: 16px; + line-height: 19px; + letter-spacing: 0.05em; + color: variables.$white; + padding: 17px 0; + + display: flex; + align-items: center; + justify-content: center; + + &:hover { + filter: opacity(.85); + } + + &:active { + filter: opacity(1); + } + + @media (min-width: 2500px) { + height: 71px; + + font-size: 32px; + line-height: 38px; + } + } + + &__msg-submit { + font-size: 12px; + line-height: 14px; + color: variables.$green; + margin-top: 12px; + + @media (min-width: 2500px) { + font-size: 24px; + line-height: 28px; + } + } +} diff --git a/src/components/InstitucionalForm/InstitucionalForm.tsx b/src/components/InstitucionalForm/InstitucionalForm.tsx new file mode 100644 index 0000000..80745c7 --- /dev/null +++ b/src/components/InstitucionalForm/InstitucionalForm.tsx @@ -0,0 +1,188 @@ +import {useState} from "react"; + +import { Formik, Form, Field, ErrorMessage, FormikHelpers} from "formik"; + +import styles from "./InstitucionalForm.module.scss"; + +import FormSchema from "./Schema/InstitucionalFormSchema"; + +interface FormValue { + name: string; + email: string; + cpf: string; + birthDate: string; + phone: string; + instagram: string; + acceptTerms: boolean; +} + +const initialValue = { + name: "", + email: "", + cpf: "", + birthDate: "", + phone: "", + instagram: "", + acceptTerms: false, +} + +let listClient: Array = []; + +const InstitucionalForm = () => { + + const [successMessage, setSuccessMessage] = useState(false); + + const handleSubmit = async (values: FormValue, actions: FormikHelpers) => { + listClient.push(values); + console.log(listClient); + actions.resetForm(); + + setSuccessMessage(true); + setTimeout(() => setSuccessMessage(false), 3000); + }; + + return ( +
+ + + {({errors, touched}) => ( +
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ + + +
+ + + {successMessage + ? (*Formulário enviado com sucesso! ) + : ("") + } +
+
+ )} +
+
+ ); +}; + +export { InstitucionalForm }; diff --git a/src/components/InstitucionalForm/Schema/InstitucionalFormSchema.ts b/src/components/InstitucionalForm/Schema/InstitucionalFormSchema.ts new file mode 100644 index 0000000..6421ee7 --- /dev/null +++ b/src/components/InstitucionalForm/Schema/InstitucionalFormSchema.ts @@ -0,0 +1,17 @@ +import * as Yup from "yup"; + +export default Yup.object().shape({ + name: Yup.string().required("*Campo Obrigatório").matches(/^([a-zA-Z\u00C0-\u017F´]{3,}?[+\s+]?[+a-zA-Z\u00C0-\u017F´]{0,})+$/, "*Nome Inválido"), + + email: Yup.string().required("*Campo Obrigatório").email("*E-mail Inválido"), + + cpf: Yup.string().required("*Campo Obrigatório").matches(/^([0-9]{3}\.?[0-9]{3}\.?[0-9]{3}\-?[0-9]{2})$/, "*CPF Inválido"), + + birthDate: Yup.string().required("*Campo Obrigatório").matches(/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/, "*Data Inválida"), + + phone: Yup.string().required("*Campo Obrigatório").matches(/^[\+]?[(]?[0-9]{2}[)]?[\s]?[0-9]{4,5}[-\s\.]?[0-9]{4}$/, "*Número Inválido"), + + instagram: Yup.string().matches(/^(?:@)([A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:\.(?!\.))){0,28}(?:[A-Za-z0-9_]))?)$/, "*Instagram Inválido"), + + acceptTerms: Yup.bool().oneOf([true], "*Aceitar termos"), + }); diff --git a/src/components/Main/Main.module.scss b/src/components/Main/Main.module.scss new file mode 100644 index 0000000..2f41753 --- /dev/null +++ b/src/components/Main/Main.module.scss @@ -0,0 +1,94 @@ +@use '../../variables'; + +.institucional { + &__home-container { + display: flex; + align-items: center; + gap: 9px; + + @media (min-width: 2500px) { + gap: 12px; + } + + &__home-icon { + width: 16px; + + @media (min-width: 2500px) { + width: 31px; + } + + &:hover { + filter: brightness(80%); + } + + &:active { + filter: brightness(100%); + } + } + + &__arrow-icon { + width: 8px; + height: 8px; + + @media (min-width: 2500px) { + width: 15px; + height: 15px; + } + + &:hover { + filter: brightness(80%); + } + + &:active { + filter: brightness(100%); + } + } + + &__text { + font-size: 12px; + line-height: 14px; + color: variables.$gray-400; + + @media (min-width: 2500px) { + font-size: 24px; + line-height: 28px; + } + + &:hover { + filter: brightness(80%); + } + + &:active { + filter: brightness(100%); + } + } + } + + &__title-principal { + font-size: 24px; + line-height: 28px; + letter-spacing: 0.1em; + text-transform: uppercase; + color: variables.$black-200; + margin: 81px 0 80px 0; + text-align: center; + + @media (min-width: 2500px) { + font-size: 48px; + line-height: 56px; + margin: 82px 0 80px 0; + } + + @media (max-width: 1024px) { + margin: 81px 0 40px 0; + } + } + + &__principal-content { + display: flex; + + @media (max-width: 1024px) { + flex-direction: column; + } + } +} diff --git a/src/components/Main/Main.tsx b/src/components/Main/Main.tsx new file mode 100644 index 0000000..dc0a7ec --- /dev/null +++ b/src/components/Main/Main.tsx @@ -0,0 +1,50 @@ +import React from "react"; + +import styles from "./Main.module.scss"; + +import imgHome from "./assets/home-icon.svg"; +import imgArrowToRight from "./assets/arrow-point-to-right.svg"; + +import { IconList } from "../IconList/IconList"; +import { ItemList } from "../ItemList/ItemList"; + +import { TitlePrincipal } from "../TitlePrincipal/TitlePrincipal"; +import { InstitucionalRoutes } from "../Routes/InstitucionalRoutes"; + + +const Main = () => { + + return ( + <> + + + + +
+ +
+ + ); +} + +export { Main }; diff --git a/src/components/Main/assets/arrow-point-to-right.svg b/src/components/Main/assets/arrow-point-to-right.svg new file mode 100644 index 0000000..ba68356 --- /dev/null +++ b/src/components/Main/assets/arrow-point-to-right.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/components/Main/assets/home-icon.svg b/src/components/Main/assets/home-icon.svg new file mode 100644 index 0000000..d58e833 --- /dev/null +++ b/src/components/Main/assets/home-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/MenuSideBar/MenuSideBar.module.scss b/src/components/MenuSideBar/MenuSideBar.module.scss new file mode 100644 index 0000000..3d32f68 --- /dev/null +++ b/src/components/MenuSideBar/MenuSideBar.module.scss @@ -0,0 +1,43 @@ +@use '../../variables'; + +.menu-sidebar { + border-right: 1px solid variables.$black; + width: 27.97%; + min-width: 302px; + height: 285px; + + @media (min-width: 2500px) { + min-width: 590px; + height: 485px; + } + + @media (max-width: 1024px) { + border: none; + height: 224px; + width: 100%; + min-width: 100%; + } + + &__container { + display: flex; + flex-direction: column; + } + + &__item { + a { + display: flex; + align-items: center; + font-size: 16px; + line-height: 19px; + color: variables.$gray-100; + padding-left: 16px; + height: 39px; + + @media (min-width: 2500px) { + font-size: 32px; + line-height: 38px; + height: 58px; + } + } + } +} diff --git a/src/components/MenuSideBar/MenuSideBar.tsx b/src/components/MenuSideBar/MenuSideBar.tsx new file mode 100644 index 0000000..c77da94 --- /dev/null +++ b/src/components/MenuSideBar/MenuSideBar.tsx @@ -0,0 +1,61 @@ +import { useState } from "react"; + +import styles from "./MenuSideBar.module.scss"; + +import { NavLink } from "react-router-dom"; + +const MenuSideBar = () => { + + return ( + + ); +} + +export { MenuSideBar }; diff --git a/src/components/Newsletter/Newsletter.module.scss b/src/components/Newsletter/Newsletter.module.scss index 544feba..69d026a 100644 --- a/src/components/Newsletter/Newsletter.module.scss +++ b/src/components/Newsletter/Newsletter.module.scss @@ -136,7 +136,7 @@ text-transform: uppercase; &:hover { - filter: opacity(.9); + filter: opacity(.85); } &:active { @@ -166,35 +166,35 @@ } } } -} -span { - font-size: 12px; - line-height: 14px; - color: variables.$red; - position: absolute; - right: 0; - top: 14px; - - @media (min-width: 3600px) { - font-size: 26px; - line-height: 30px; - top: 20px; - } - - @media ((min-width: 2500px) and (max-width: 3599px)) { - font-size: 24px; - line-height: 28px; - top: 20px; - } - - @media (min-width: 350px) and (max-width: 1024px) { - right: 16px; - } - - @media (max-width: 349px) { - font-size: 11px; - top: 18px; - right: 16px; + &__invalid-feedback { + font-size: 12px; + line-height: 14px; + color: variables.$red; + position: absolute; + right: 0; + top: 14px; + + @media (min-width: 3600px) { + font-size: 26px; + line-height: 30px; + top: 20px; + } + + @media ((min-width: 2500px) and (max-width: 3599px)) { + font-size: 24px; + line-height: 28px; + top: 20px; + } + + @media (min-width: 350px) and (max-width: 1024px) { + right: 16px; + } + + @media (max-width: 349px) { + font-size: 11px; + top: 18px; + right: 16px; + } } } diff --git a/src/components/Newsletter/Newsletter.tsx b/src/components/Newsletter/Newsletter.tsx index 2466510..586216f 100644 --- a/src/components/Newsletter/Newsletter.tsx +++ b/src/components/Newsletter/Newsletter.tsx @@ -5,7 +5,6 @@ import { Formik, Form, Field, ErrorMessage, FormikHelpers} from "formik"; import styles from "./Newsletter.module.scss"; import NewsletterSchema from "./Schema/NewsletterSchema"; -import { Button } from "../Button/Buttom"; interface NewsletterValue { email: string; @@ -40,10 +39,12 @@ const Newsletter = () => {
- +
- - )} diff --git a/src/components/RedesSociais/RedesSociais.module.scss b/src/components/RedesSociais/RedesSociais.module.scss index fa52094..d18891e 100644 --- a/src/components/RedesSociais/RedesSociais.module.scss +++ b/src/components/RedesSociais/RedesSociais.module.scss @@ -16,7 +16,7 @@ width: 35px; &:hover { - filter: contrast(30%); + filter: contrast(60%); } &:active { diff --git a/src/components/Routes/InstitucionalRoutes.tsx b/src/components/Routes/InstitucionalRoutes.tsx new file mode 100644 index 0000000..f103042 --- /dev/null +++ b/src/components/Routes/InstitucionalRoutes.tsx @@ -0,0 +1,32 @@ +import React from "react"; + +import { BrowserRouter ,Routes, Route } from "react-router-dom"; + +import { MenuSideBar } from "../MenuSideBar/MenuSideBar"; + +import { Contato } from "./RoutesPages/Contato"; +import { Entrega } from "./RoutesPages/Entrega"; +import { FormaDePagamento } from "./RoutesPages/FormaDePagamento"; +import { SegurancaEPrivacidade } from "./RoutesPages/SegurancaEPrivacidade"; +import { Sobre } from "./RoutesPages/Sobre"; +import { TrocaEDevolucao } from "./RoutesPages/TrocaEDevolucao"; + +const InstitucionalRoutes = () => { + + return ( + + + + + } /> + } /> + } /> + } /> + } /> + } /> + + + ); +} + +export { InstitucionalRoutes }; diff --git a/src/components/Routes/RoutesPages/Contato.tsx b/src/components/Routes/RoutesPages/Contato.tsx new file mode 100644 index 0000000..81e3e12 --- /dev/null +++ b/src/components/Routes/RoutesPages/Contato.tsx @@ -0,0 +1,18 @@ +import React from "react"; + +import { InstitucionalForm } from "../../InstitucionalForm/InstitucionalForm"; + +import styles from "./RoutesPages.module.scss"; + +const Contato = () => { + + return ( +
+

Preencha o Formulário

+ + +
+ ); +} + +export { Contato }; diff --git a/src/components/Routes/RoutesPages/Entrega.tsx b/src/components/Routes/RoutesPages/Entrega.tsx new file mode 100644 index 0000000..421e912 --- /dev/null +++ b/src/components/Routes/RoutesPages/Entrega.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +import styles from "./RoutesPages.module.scss"; + +const Entrega = () => { + + return ( +
+

Entrega

+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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? +

+
+ ); +} + +export { Entrega }; \ No newline at end of file diff --git a/src/components/Routes/RoutesPages/FormaDePagamento.tsx b/src/components/Routes/RoutesPages/FormaDePagamento.tsx new file mode 100644 index 0000000..d01feb5 --- /dev/null +++ b/src/components/Routes/RoutesPages/FormaDePagamento.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +import styles from "./RoutesPages.module.scss"; + +const FormaDePagamento = () => { + + return ( +
+

Forma de Pagamento

+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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? +

+
+ ); +} + +export { FormaDePagamento }; \ No newline at end of file diff --git a/src/components/Routes/RoutesPages/RoutesPages.module.scss b/src/components/Routes/RoutesPages/RoutesPages.module.scss new file mode 100644 index 0000000..15ffb30 --- /dev/null +++ b/src/components/Routes/RoutesPages/RoutesPages.module.scss @@ -0,0 +1,48 @@ +@use '../../../variables'; + +.institucional__content { + width: 100%; + margin-left: 30px; + + @media (max-width: 1024px) { + margin-left: 0; + } + + &__title { + font-weight: 700; + font-size: 24px; + line-height: 28px; + color: variables.$black-200; + margin: 10px 0 12px 0; + + @media (min-width: 2500px) { + font-size: 48px; + line-height: 56px; + } + + @media (max-width: 1024px) { + margin-top: 30px; + text-align: center; + } + } + + &__paragraph { + font-size: 13px; + line-height: 15px; + color: variables.$gray-100; + margin-bottom: 20px; + + &:last-child { + margin-bottom: 0; + } + + @media (min-width: 2500px) { + font-size: 26px; + line-height: 30px; + } + + @media (max-width: 1024px) { + text-align: justify; + } + } +} diff --git a/src/components/Routes/RoutesPages/SegurancaEPrivacidade.tsx b/src/components/Routes/RoutesPages/SegurancaEPrivacidade.tsx new file mode 100644 index 0000000..bf8000f --- /dev/null +++ b/src/components/Routes/RoutesPages/SegurancaEPrivacidade.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +import styles from "./RoutesPages.module.scss"; + +const SegurancaEPrivacidade = () => { + + return ( +
+

Segurança e Privacidade

+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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? +

+
+ ); +} + +export { SegurancaEPrivacidade }; \ No newline at end of file diff --git a/src/components/Routes/RoutesPages/Sobre.tsx b/src/components/Routes/RoutesPages/Sobre.tsx new file mode 100644 index 0000000..2152f4a --- /dev/null +++ b/src/components/Routes/RoutesPages/Sobre.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +import styles from "./RoutesPages.module.scss"; + +const Sobre = () => { + + return ( +
+

Sobre

+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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? +

+
+ ); +} + +export { Sobre }; diff --git a/src/components/Routes/RoutesPages/TrocaEDevolucao.tsx b/src/components/Routes/RoutesPages/TrocaEDevolucao.tsx new file mode 100644 index 0000000..66f457f --- /dev/null +++ b/src/components/Routes/RoutesPages/TrocaEDevolucao.tsx @@ -0,0 +1,26 @@ +import React from "react"; + +import styles from "./RoutesPages.module.scss"; + +const TrocaEDevolucao = () => { + + return ( +
+

Troca e Devolução

+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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? +

+
+ ); +} + +export { TrocaEDevolucao }; \ No newline at end of file diff --git a/src/components/TitlePrincipal/TitlePrincipal.tsx b/src/components/TitlePrincipal/TitlePrincipal.tsx new file mode 100644 index 0000000..f13c422 --- /dev/null +++ b/src/components/TitlePrincipal/TitlePrincipal.tsx @@ -0,0 +1,14 @@ +import React from "react"; + +interface Title { + text: string; + titleClassName?: string; +} + +const TitlePrincipal = ( props: Title) => { + const { text, titleClassName } = props; + + return

{ text }

; +}; + +export { TitlePrincipal }; diff --git a/src/pages/Home.module.scss b/src/pages/Home.module.scss index 0e249ac..f0fdb66 100644 --- a/src/pages/Home.module.scss +++ b/src/pages/Home.module.scss @@ -15,4 +15,18 @@ @media (max-width: 1024px) { height: 139px; } -} \ No newline at end of file +} + +.institucional { + padding: 0 100px; + margin: 29px 0 70px; + + @media (min-width: 2500px) { + margin-bottom: 84px; + } + + @media (max-width: 1024px) { + padding: 0 16px; + margin-bottom: 81px ; + } +} diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index d8c8f6b..797ef2d 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -4,9 +4,10 @@ import styles from "./Home.module.scss"; import { HeaderTop } from "../components/HeaderTop/HeaderTop"; import { HeaderBottom } from "../components/HeaderBottom/HeaderBottom"; +import { Main } from "../components/Main/Main"; import { Newsletter } from "../components/Newsletter/Newsletter"; -import { FooterBottom } from "../components/FooterBottom/FooterBottom"; import { FooterTop } from "../components/FooterTop/FooterTop"; +import { FooterBottom } from "../components/FooterBottom/FooterBottom"; import { WhatsAppAndScrollTop } from "../components/WhatsAppAndScrollTop/WhatsAppAndScrollTop"; const Home = () => { @@ -18,7 +19,9 @@ const Home = () => { -
+
+
+