diff --git a/src/components/icons/LineCircle.tsx b/src/components/icons/LineCircle.tsx
index 47cd24a..e9e615b 100644
--- a/src/components/icons/LineCircle.tsx
+++ b/src/components/icons/LineCircle.tsx
@@ -1,11 +1,10 @@
-
const LineCircle = () => {
return (
{
transform='translate(126.186853 9.999998)'
fill='none'
stroke='#707070'
- stroke-width='2'
- stroke-opacity='0.2'
+ strokeWidth='2'
+ strokeOpacity='0.2'
/>
{
transform='matrix(1 0 0 0.892671 820 10)'
fill='none'
stroke='#707070'
- stroke-width='0.7'
- stroke-opacity='0.2'
+ strokeWidth='0.7'
+ strokeOpacity='0.2'
/>
)
diff --git a/src/components/learn/learn.tsx b/src/components/learn/learn.tsx
index 47b51a1..ed85e4e 100644
--- a/src/components/learn/learn.tsx
+++ b/src/components/learn/learn.tsx
@@ -16,23 +16,23 @@ const learnTexts = [
},
{
photo: DecisionPhoto,
- text: 'Tomar decisões técnicas efetivas e liderar.',
+ text: 'Como tomar decisões técnicas chave para a arquitetura.',
},
{
photo: VersusPhoto,
- text: 'Monolito vs Microsserviço vs Arquitetura',
+ text: 'Monolito vs Microsserviço vs Arquitetura Modular.',
},
{
photo: UnitTestPhoto,
- text: 'Testes de unidade, integração e ponta a ponta.',
+ text: 'Testes e qualidade.',
},
{
photo: ArchitecturePhoto,
- text: 'Arquitetura modular em grande escala',
+ text: 'Arquitetura Modular em grande escala',
},
{
photo: PatternsPhoto,
- text: 'Padrões de arquitetura enterprise e quando adotar DDD, Hexagonal',
+ text: 'Padrões de arquitetura enterprise como DDD, Arquitetura Hexagonal e Arquitetura Limpa.',
},
]
diff --git a/src/components/modules/modules.tsx b/src/components/modules/modules.tsx
index a6c1796..b30d0aa 100644
--- a/src/components/modules/modules.tsx
+++ b/src/components/modules/modules.tsx
@@ -1,40 +1,13 @@
-const dataModules = [
- {
- name: 'FUNDAMENTOS DE CONSTRUÇÃO DE SOFTWARE ENTERPRISE',
- topics: [
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- ],
- },
- {
- name: 'ARQUITETURA MODULAR EM ESCALA',
- topics: [
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- ],
- },
- {
- name: 'MANTENDO SOFTWARE EM PRODUÇÃO',
- topics: [
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- 'Bla bla bla bla',
- ],
- },
-]
-const Modules = () => {
+type module= { name: string, topics: string[] }
+type props= {
+ modules: module[]
+
+}
+const Modules = ({modules}:props) => {
return (
- {dataModules.map((module) => (
+ {modules.map((module) => (
{
return (
-
+
COM QUEM VOCÊ VAI APRENDER
- {teachersData.map((teacher) => (
+ {teachersData.map((teacher, index) => (
@@ -52,9 +64,33 @@ const Teachers = () => {
{teacher.name}
-
+
{teacher.subtitle}
+
+ {teacher.linkedin_url && (
+
+
+
+ )}
+ {teacher.instagram_url && (
+
+
+
+ )}
+ {teacher.youtube_url && (
+
+
+
+ )}
+ {teacher.github_url && (
+
+
+
+
+
+ )}
+
{teacher.description}
@@ -64,7 +100,7 @@ const Teachers = () => {
))}
-
TEXTO SOBRE AS IMAGENS
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default InformationPage
diff --git a/src/pages/leads.tsx b/src/pages/leads.tsx
new file mode 100644
index 0000000..e63119a
--- /dev/null
+++ b/src/pages/leads.tsx
@@ -0,0 +1,42 @@
+import Companies from '../components/companies/companies'
+import FirstPage from '../components/firstPage/firstPage'
+import Learn from '../components/learn/learn'
+import Modules from '../components/modules/modules'
+import Teachers from '../components/teachers/teachers'
+
+const dataModules = [
+ {
+ name: 'AULA 1: FUNDAMENTOS DA CONSTRUÇÃO DE SOFTWARE ENTERPRISE',
+ topics: [
+ 'Porque overengineering acontece',
+ 'Principios da arquitetura evolutiva',
+ 'Construindo o software certo',
+ 'Arquitetura simples, flexivel e aberta a mudanças',
+ 'Designs Patterns fundamentais',
+ ],
+ },
+ {
+ name: 'AULA 2: ARQUITETURA MODULAR EM ESCALA',
+ topics: [
+ 'Módulos vs Microsserviços vs Monolitos',
+ 'Como arquitetar um sistema modular',
+ 'Comunicação entre módulos',
+ 'Banco de dados e módulos',
+ 'Modularização extrema',
+ ],
+ },
+]
+
+function LeadsPage() {
+ return (
+
+
+
+
+
+
+
+ )
+}
+
+export default LeadsPage
diff --git a/src/routes/index.tsx b/src/routes/index.tsx
new file mode 100644
index 0000000..3cfc57a
--- /dev/null
+++ b/src/routes/index.tsx
@@ -0,0 +1,20 @@
+import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom";
+
+import InformationPage from "../pages/information";
+import LeadsPage from "../pages/leads";
+
+
+//const basePath = '/curso-apps-enterprise-nodejs-landing-page';
+
+export default function Router() {
+ return (
+
+
+ } />
+ } />
+ } />
+ } />
+
+
+ );
+}
diff --git a/src/services/gtm.ts b/src/services/gtm.ts
new file mode 100644
index 0000000..acfc334
--- /dev/null
+++ b/src/services/gtm.ts
@@ -0,0 +1,18 @@
+import CryptoJS from 'crypto-js'
+
+type Event = {
+ event: string
+ [key: string]: unknown
+}
+
+export const sha256 = (value: string): string =>
+ CryptoJS.SHA256(value).toString(CryptoJS.enc.Hex)
+
+export const track = ({ event, ...payload }: Event): void => {
+ window.dataLayer = window.dataLayer || []
+
+ window.dataLayer.push({
+ event,
+ ...payload,
+ })
+}
diff --git a/src/services/sendRequest.ts b/src/services/sendRequest.ts
new file mode 100644
index 0000000..a621e15
--- /dev/null
+++ b/src/services/sendRequest.ts
@@ -0,0 +1,12 @@
+import axios from "axios"
+import { IInputs } from "../components/forms-sign-in"
+
+export async function sendRequest_form(url: string, body: IInputs) {
+ try {
+ await axios.post(url, body)
+ } catch (error) {
+ console.log(error)
+ }
+ }
+
+
\ No newline at end of file
diff --git a/tailwind.config.js b/tailwind.config.js
index 8ce240f..d6e07f3 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -67,6 +67,7 @@ export default {
notAvailable: '#BBBBBB',
date: '#323232',
communityMemberTitle: '#464646',
+ colorForms:'#FFFFFF'
},
backgroundColor: {
blueBox: '#4476FF',
@@ -80,6 +81,8 @@ export default {
notAvailableFooter: '#B0B0B0',
available: '#43E8BB',
buyNowBtn: '#23C287',
+ blueButtonLight: '#37A0DC',
+ blueButtonMiddle: '#0098E9',
},
boxShadow: {
base: '0 3px 10px #00000008',
diff --git a/vite.config.ts b/vite.config.ts
index 5a33944..c949cf2 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -3,5 +3,6 @@ import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
+ //base: '/curso-apps-enterprise-nodejs-landing-page/',
plugins: [react()],
})