-
+ return (
+
+
+
+
{
className="modal-content"
>
- Cursos
- Saiba Mais
- Institucional
+ Cursos
+ Saiba Mais
+ Institucional
-
+
+
+
-}
+ );
+};
-export { ModalMenu };
\ No newline at end of file
+export { ModalMenu };
diff --git a/desafio/src/components/WhatappButtontop.tsx b/desafio/src/components/WhatappButtontop.tsx
new file mode 100644
index 0000000..4d72e6a
--- /dev/null
+++ b/desafio/src/components/WhatappButtontop.tsx
@@ -0,0 +1,29 @@
+import React from "react";
+
+import whattsIcon from "../assets/imgs/whatsapp.png"
+import arrowToTop from "../assets/svgs/ArrowToTop.svg"
+import "../scss/partials/WhattsButtonTop.scss"
+
+// interface IWhatsButtonCss{
+// className: string;
+// }
+
+const Whatts = () => {
+ // const {className} = props
+
+ return
+}
+const ButtonToTop = () => {
+
+ return
+
+
+
+
+}
+
+export {Whatts, ButtonToTop}
\ No newline at end of file
diff --git a/desafio/src/index.tsx b/desafio/src/index.tsx
index 1238a0a..8550186 100644
--- a/desafio/src/index.tsx
+++ b/desafio/src/index.tsx
@@ -1,25 +1,36 @@
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import './scss/global.scss';
-import './scss/utils/variables.scss';
+import React from "react";
+import ReactDOM from "react-dom/client";
+import "./scss/global.scss";
+import "./scss/utils/variables.scss";
+
+import { BrowserRouter, Routes, Route } from "react-router-dom";
+import { Home } from "./pages/Home";
+import { Cursos } from "./pages/Cursos";
+import { Saibamais } from "./pages/Saibamais";
+import { Institucional } from "./pages/Institucional";
+import { DivContent, DivContentForm } from "./components/MainPage";
+
+const titletext = "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.\nSed 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.\nUt 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?"
-import {BrowserRouter, Routes, Route} from "react-router-dom"
-import {Home} from "./pages/Home"
-import { Cursos } from './pages/Cursos';
-import { Saibamais } from './pages/Saibamais';
-import { Institucionais } from './pages/Institucionais';
const root = ReactDOM.createRoot(
- document.getElementById('root') as HTMLElement
+ document.getElementById("root") as HTMLElement
);
-root.render(
+root.render(
- }/>
- }/>
- }/>
- }/>
+ } />
+ } />
+ } />
+ } >
+ }/>
+ }/>
+ }/>
+ }/>
+ }/>
+ }/>
+
- );
+);
diff --git a/desafio/src/pages/Cursos.tsx b/desafio/src/pages/Cursos.tsx
index af4e319..7cb5756 100644
--- a/desafio/src/pages/Cursos.tsx
+++ b/desafio/src/pages/Cursos.tsx
@@ -2,11 +2,15 @@ import React from "react";
import { Header } from "../components/Header"
import { Footer } from "../components/Footer"
+import { MainPage } from "../components/MainPage";
+import { Whatts, ButtonToTop } from "../components/WhatappButtontop";
const Cursos = () => {
return <>
+
+
>;
};
diff --git a/desafio/src/pages/Home.tsx b/desafio/src/pages/Home.tsx
index e403e81..79e4bd6 100644
--- a/desafio/src/pages/Home.tsx
+++ b/desafio/src/pages/Home.tsx
@@ -2,11 +2,15 @@ import React from "react";
import { Header } from "../components/Header"
import { Footer } from "../components/Footer"
+import { MainPage } from "../components/MainPage";
+import { ButtonToTop, Whatts } from "../components/WhatappButtontop";
const Home = () => {
return <>
+
+
>;
};
diff --git a/desafio/src/pages/Institucionais.tsx b/desafio/src/pages/Institucionais.tsx
deleted file mode 100644
index eab81e7..0000000
--- a/desafio/src/pages/Institucionais.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from "react";
-
-import { Header } from "../components/Header"
-import { Footer } from "../components/Footer"
-
-const Institucionais = () => {
- return <>
-
-
- >;
-};
-
-export { Institucionais };
\ No newline at end of file
diff --git a/desafio/src/pages/Institucional.tsx b/desafio/src/pages/Institucional.tsx
new file mode 100644
index 0000000..5e61c24
--- /dev/null
+++ b/desafio/src/pages/Institucional.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+
+import { Header } from "../components/Header"
+import { Footer } from "../components/Footer"
+import { MainPage } from "../components/MainPage";
+import { ButtonToTop, Whatts } from "../components/WhatappButtontop";
+
+const Institucional = () => {
+ return <>
+
+
+
+
+
+ >;
+};
+
+export { Institucional };
\ No newline at end of file
diff --git a/desafio/src/pages/Saibamais.tsx b/desafio/src/pages/Saibamais.tsx
index 887c2e8..0fb1298 100644
--- a/desafio/src/pages/Saibamais.tsx
+++ b/desafio/src/pages/Saibamais.tsx
@@ -2,11 +2,15 @@ import React from "react";
import { Header } from "../components/Header"
import { Footer } from "../components/Footer"
+import { MainPage } from "../components/MainPage";
+import { ButtonToTop, Whatts } from "../components/WhatappButtontop";
const Saibamais = () => {
return <>
+
+
>;
};
diff --git a/desafio/src/schema/FormSchema.ts b/desafio/src/schema/FormSchema.ts
new file mode 100644
index 0000000..007c426
--- /dev/null
+++ b/desafio/src/schema/FormSchema.ts
@@ -0,0 +1,11 @@
+import * as Yup from "yup"
+
+export default Yup.object().shape({
+ name: Yup.string().required("*Campo Obrigatório"),
+ email: Yup.string().required("*Campo Obrigatório").email("Email inválido"),
+ cpf: Yup.string().required("*Campo Obrigatório"),
+ dataNascimento: Yup.string().required("*Campo Obrigatório"),
+ telefone: Yup.string().required("*Campo Obrigatório"),
+ instagram: Yup.string(),
+ terms: Yup.bool().required().oneOf([true], '*')
+})
\ No newline at end of file
diff --git a/desafio/src/scss/global.scss b/desafio/src/scss/global.scss
index 4210ed4..5cf7028 100644
--- a/desafio/src/scss/global.scss
+++ b/desafio/src/scss/global.scss
@@ -12,81 +12,8 @@ code {
monospace;
}
-
-
-.containerModalMenuHambuerguer{
- display: flex;
- align-items: center;
-}
-
-.div1,
-.div2{
- a{
- font-family: var(--font-roboto);
- font-style: normal;
- font-weight: 500;
- font-size: 14px;
- line-height: 16px;
- text-transform: uppercase;
- text-decoration: none;
- }
-}
-
-.div1{
- display: flex;
+.active-link-intitucional{
background-color: var(--black1);
- box-sizing: border-box;
- padding: 31px 0 31px 16px;
-
- a{
- font-weight: 400;
- color: #FFFFFF;
- }
-}
-.div2{
- display: flex;
- flex-direction: column;
- gap: 12px;
- padding: 31px 0 0 16px;
-
- a{
- font-weight: 500;
- color: #C4C4C4;
- }
-}
-
-.buttonModalClose{
- position: absolute;
- top: 32px;
- right: 16px;
- border: none;
- background: transparent;
- padding: 0;
- display: flex;
- outline: 0;
-}
-.buttonModalOpen{
- border: none;
- background: transparent;
- padding: 0;
- display: flex;
- outline: 0;
-}
-
-.modal-overlay{
- background-color: rgba(69, 69, 69, 0.7);
- position: fixed;
- top: 0;
- bottom: 0;
- right: 0;
- left: 0;
- display: flex;
-}
-
-.modal-content{
- width: 96.48%;
- background-color: var(--white1);
- position: relative;
- max-height: 585px;
- box-sizing: border-box;
-}
\ No newline at end of file
+ font-weight: 700 !important;
+ color: var(--white1) !important;
+}
\ No newline at end of file
diff --git a/desafio/src/scss/partials/ModalMenu.scss b/desafio/src/scss/partials/ModalMenu.scss
index d1126ef..61962b7 100644
--- a/desafio/src/scss/partials/ModalMenu.scss
+++ b/desafio/src/scss/partials/ModalMenu.scss
@@ -1,78 +1,76 @@
-// .Container{
-// display: flex;
-// justify-content: center;
-// align-items: center;
-
-// }
-
-// .div1,
-// .div2{
-// a{
-// font-family: var(--font-roboto);
-// font-style: normal;
-// font-weight: 500;
-// font-size: 14px;
-// line-height: 16px;
-// text-transform: uppercase;
-// text-decoration: none;
-// }
-// }
-
-// .div1{
-// display: flex;
-// background-color: var(--black1);
-// box-sizing: border-box;
-// padding: 31px 0 31px 16px;
-
-// a{
-// font-weight: 400;
-// color: #FFFFFF;
-// }
-// }
-// .div2{
-// display: flex;
-// flex-direction: column;
-// gap: 12px;
-// padding: 31px 0 0 16px;
-
-// a{
-// font-weight: 500;
-// color: #C4C4C4;
-// }
-// }
-
-// .buttonModalClose{
-// position: absolute;
-// top: 32px;
-// right: 16px;
-// border: none;
-// background: transparent;
-// padding: 0;
-// display: flex;
-// outline: 0;
-// }
-// .buttonModalOpen{
-// border: none;
-// background: transparent;
-// padding: 0;
-// display: flex;
-// outline: 0;
-// }
-
-// .modal-overlay{
-// background-color: rgba(69, 69, 69, 0.7);
-// position: fixed;
-// top: 0;
-// bottom: 0;
-// right: 0;
-// left: 0;
-// display: flex;
-// }
-
-// .modal-content{
-// width: 96.48%;
-// background-color: var(--white1);
-// position: relative;
-// max-height: 585px;
-// box-sizing: border-box;
-// }
\ No newline at end of file
+.containerModalMenuHambuerguer{
+ display: flex;
+ align-items: center;
+ }
+
+ .div1,
+ .div2{
+ a{
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 16px;
+ text-transform: uppercase;
+ text-decoration: none;
+ }
+ }
+
+ .div1{
+ display: flex;
+ background-color: var(--black1);
+ box-sizing: border-box;
+ padding: 31px 0 31px 16px;
+
+ a{
+ font-weight: 400;
+ color: #FFFFFF;
+ }
+ }
+ .div2{
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ padding: 31px 0 0 16px;
+
+ a{
+ font-weight: 500;
+ color: #C4C4C4;
+ }
+ }
+
+ .buttonModalClose{
+ position: absolute;
+ top: 32px;
+ right: 16px;
+ border: none;
+ background: transparent;
+ padding: 0;
+ display: flex;
+ outline: 0;
+ }
+ .buttonModalOpen{
+ border: none;
+ background: transparent;
+ padding: 0;
+ display: flex;
+ outline: 0;
+ }
+
+ .modal-overlay{
+ background-color: rgba(69, 69, 69, 0.7);
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ display: flex;
+ }
+
+ .modal-content{
+ width: 96.48%;
+ background-color: var(--white1);
+ position: relative;
+ max-height: 585px;
+ box-sizing: border-box;
+ }
\ No newline at end of file
diff --git a/desafio/src/scss/partials/WhattsButtonTop.scss b/desafio/src/scss/partials/WhattsButtonTop.scss
new file mode 100644
index 0000000..54198c5
--- /dev/null
+++ b/desafio/src/scss/partials/WhattsButtonTop.scss
@@ -0,0 +1,28 @@
+.WhattsWrapper{
+ position: fixed;
+ bottom: 50px;
+ right: 16px;
+ cursor: pointer;
+ z-index: 9999;
+
+ @media screen and (min-width: 2500px) {
+ bottom: 95px;
+ }
+}
+.ButtonToTopWrapper{
+ position: fixed;
+ bottom: 13px;
+ right: 16px;
+ cursor: pointer;
+ z-index: 9999;
+ background-color: var(--grey2);
+ border-radius: 50px;
+
+ img{
+ padding: 13px 10.5px;
+
+ @media screen and (min-width: 2500px) {
+ padding: 27px 24px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/desafio/src/scss/partials/header.module.scss b/desafio/src/scss/partials/header.module.scss
index b4ee625..306b28d 100644
--- a/desafio/src/scss/partials/header.module.scss
+++ b/desafio/src/scss/partials/header.module.scss
@@ -1,6 +1,5 @@
.page-header{
background-color: var(--black1);
- margin-bottom: 200px;
&__top-wrapper{
display: grid;
@@ -159,9 +158,8 @@
margin: 0;
&__link{
- text-decoration: none;
margin-right: 55px;
-
+
&-content{
font-family: var(--font-roboto);
color: var(--white1);
@@ -169,6 +167,7 @@
font-weight: 500;
font-size: 14px;
line-height: 16px;
+ text-decoration: none;
@media screen and (min-width: 2500px) {
font-size: 28px;
diff --git a/desafio/src/scss/partials/home.scss b/desafio/src/scss/partials/home.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/desafio/src/scss/partials/mainPage.module.scss b/desafio/src/scss/partials/mainPage.module.scss
new file mode 100644
index 0000000..9dbf29f
--- /dev/null
+++ b/desafio/src/scss/partials/mainPage.module.scss
@@ -0,0 +1,338 @@
+.page-main{
+ @media screen and (max-width: 1024px) {
+ padding: 0 16px;
+ }
+
+ &-breadcrumb-wrapper{
+ width: 84.38%;
+ margin: 30px auto 80px auto;
+
+ @media screen and (max-width: 1024px) {
+ width: 100%;
+ margin: 30px auto 40px auto;
+ }
+
+ &__title{
+ display: flex;
+ justify-content: center;
+ text-transform: uppercase;
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 400;
+ font-size: 24px;
+ line-height: 28px;
+ letter-spacing: 0.1em;
+ color: var(--black3);
+ margin: 80px 0 0 0;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 48px;
+ line-height: 56px;
+ }
+ }
+ }
+
+ &-breadcrumb{
+ display: flex;
+ list-style-type: none;
+ gap: 8px;
+ padding: 0;
+ margin: 0;
+
+ &__wrapper-content{
+ display: flex;
+ align-items: center;
+
+ &__text{
+ margin: 0;
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 14px;
+ color: #C4C4C4;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 24px;
+ line-height: 28px;
+ }
+ }
+ }
+ }
+
+ &-section{
+ display: flex;
+ width: 84.38%;
+ margin: 0 auto 70px auto;
+ gap: 30px;
+
+ @media screen and (max-width: 1024px) {
+ flex-direction: column;
+ width: 100%;
+ margin: 0 auto 80px auto;
+ }
+
+ &__linksWrapper{
+ display: flex;
+ flex-direction: column;
+ width: 28.76%;
+
+ @media screen and (min-width: 1025px) {
+ border-right: 1px solid var(--black1);
+ min-height: 285px;
+ max-height: 285px;
+
+ }
+ @media screen and (max-width: 1024px) {
+ width: 100%;
+ }
+
+ @media screen and (min-width: 2500px) {
+ min-height: 465px;
+ max-height: 465px;
+ }
+
+ a{
+ height: 39px;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 19px;
+ color: var(--grey4);
+ text-decoration: none;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ padding: 0 16px;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 32px;
+ line-height: 38px;
+ height: 58px;
+ }
+ }
+ }
+
+ &__contentWrapper{
+ width: 71.24%;
+
+ @media screen and (max-width: 1024px) {
+ width: 100%;
+ }
+
+ &__title{
+ margin: 0;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 700;
+ font-size: 24px;
+ line-height: 28px;
+ color: var(--black3);
+ padding: 10px 0 12px 0;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 48px;
+ line-height: 56px;
+ }
+
+ @media screen and (max-width: 1024px) {
+ display: flex;
+ justify-content: center;
+ padding: 0 0 12px 0;
+ }
+ }
+
+ &__content{
+ margin: 0;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 13px;
+ line-height: 15px;
+ color: var(--grey4);
+
+ @media screen and (min-width: 2500px) {
+ font-size: 26px;
+ line-height: 30px;
+ }
+ }
+
+ }
+
+ &__contentWrapperForm{
+ width: 71.24%;
+
+ @media screen and (max-width: 1024px) {
+ width: 100%;
+ }
+
+ &__ButtonSubmit{
+ width: 100%;
+ border: none;
+ height: 52px;
+ border-radius: 25px;
+ background-color: var(--black1);
+ color: var(--white1);
+ font-family: var(--font-roboto);
+ font-size: 16px;
+ line-height: 19px;
+ letter-spacing: 0.05em;
+ text-transform: uppercase;
+ cursor: pointer;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 32px;
+ line-height: 38px;
+ height: 71px;
+ }
+
+ }
+
+ &__TitleForm{
+ margin: 0;
+ padding: 8px 0 12px 0;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 700;
+ font-size: 24px;
+ line-height: 28px;
+ display: flex;
+ align-items: center;
+ color: var(--black1);
+
+ @media screen and (min-width: 2500px) {
+ font-size: 48px;
+ line-height: 56px;
+ }
+
+ @media screen and (max-width: 1024px) {
+ padding: 0 0 12px 0;
+ justify-content: center;
+ }
+ }
+
+ &__FieldWrrapper{
+ display: flex;
+ flex-direction: column;
+ padding-bottom: 12px;
+ position: relative;
+
+ &__Label{
+ margin: 0;
+ padding: 0 0 11px 15px;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 14px;
+ line-height: 16px;
+ color: var(--black4);
+
+ @media screen and (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+
+ &__Input{
+ margin: 0;
+ padding: 0 20px;
+ height: 44px;
+ background: var(--white1);
+ border: 1px solid var(--black4);
+ border-radius: 25px;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 14px;
+ line-height: 16px;
+ outline: 0;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ height: 62px;
+ }
+
+ &::placeholder{
+ font-family: var(--font-roboto);
+ font-size: 14px;
+ line-height: 16px;
+ color: var(--grey5);
+
+ @media screen and (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+ }
+
+ &__Errormessage{
+ position: absolute;
+ top: 13px;
+ right: 20px;
+ font-family: var(--font-roboto);
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 14px;
+ color: var(--red1);
+
+ @media screen and (min-width: 2500px) {
+ font-size: 24px;
+ line-height: 28px;
+ }
+ }
+ }
+
+ &__FieldWrrapperTerms{
+ display: flex;
+ padding-bottom: 12px;
+ justify-content: center;
+ flex-direction: row-reverse;
+
+ &__LabelTerms{
+ margin: 0;
+ padding: 0 5px 0 0;
+ font-family: var(--font-roboto);
+ font-style: normal;
+ font-weight: 400;
+ font-size: 14px;
+ line-height: 16px;
+ color: var(--black4);
+ text-decoration: underline;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 28px;
+ line-height: 33px;
+ }
+ }
+
+ &__InputTerms{
+ display: flex;
+ margin: 0;
+ border: 1px solid var(--black1);
+ border-radius: 3px;
+
+ @media screen and (min-width: 2500px) {
+ width: 35px;
+ }
+
+ }
+
+ &__ErrormessageTerms{
+ font-family: var(--font-roboto);
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 14px;
+ color: var(--red1);
+ padding-right: 2px;
+
+ @media screen and (min-width: 2500px) {
+ font-size: 24px;
+ line-height: 28px;
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/desafio/src/scss/utils/variables.scss b/desafio/src/scss/utils/variables.scss
index 89f7d1d..c935a6a 100644
--- a/desafio/src/scss/utils/variables.scss
+++ b/desafio/src/scss/utils/variables.scss
@@ -6,8 +6,14 @@
--black1: #000000;
--black2: #303030;
+ --black3: #292929;
+ --black4: #100D0E;
--grey1: #c6c6c6;
--grey2: #c4c4c4;
--grey3: #E5E5E5;
+ --grey4: #7D7D7D;
+ --grey5: #B9B7B7;
+
+ --red1: #FF0000;
}
\ No newline at end of file