diff --git a/package-lock.json b/package-lock.json
index d465f10..6e2def4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,6 +19,7 @@
"styled-normalize": "^8.0.7"
},
"devDependencies": {
+ "@types/gsap": "^3.0.0",
"@types/node": "^17.0.21",
"@types/react": "^17.0.39",
"@types/styled-components": "^5.1.24",
@@ -627,6 +628,16 @@
"node": ">=10.13.0"
}
},
+ "node_modules/@types/gsap": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/gsap/-/gsap-3.0.0.tgz",
+ "integrity": "sha512-BbWLi4WRHGze4C8NV7U7yRevuBFiPkPZZyGa0rryanvh/9HPUFXTNBXsGQxJZJq7Ix7j4RXMYodP3s+OsqCErg==",
+ "deprecated": "This is a stub types definition. gsap provides its own type definitions, so you do not need this installed.",
+ "dev": true,
+ "dependencies": {
+ "gsap": "*"
+ }
+ },
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
@@ -4636,6 +4647,15 @@
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
"dev": true
},
+ "@types/gsap": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/gsap/-/gsap-3.0.0.tgz",
+ "integrity": "sha512-BbWLi4WRHGze4C8NV7U7yRevuBFiPkPZZyGa0rryanvh/9HPUFXTNBXsGQxJZJq7Ix7j4RXMYodP3s+OsqCErg==",
+ "dev": true,
+ "requires": {
+ "gsap": "*"
+ }
+ },
"@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
diff --git a/package.json b/package.json
index c3d0cb6..20193f9 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"styled-normalize": "^8.0.7"
},
"devDependencies": {
+ "@types/gsap": "^3.0.0",
"@types/node": "^17.0.21",
"@types/react": "^17.0.39",
"@types/styled-components": "^5.1.24",
diff --git a/src/components/Footer/FooterStyles.ts b/src/components/Footer/FooterStyles.ts
index 662b5cf..1a46c26 100644
--- a/src/components/Footer/FooterStyles.ts
+++ b/src/components/Footer/FooterStyles.ts
@@ -35,7 +35,7 @@ export const LinkItem = styled.a`
}
@media ${props => props.theme.breakpoints.sm} {
- font-size: 8px;
+ font-size: 10px;
line-height: 14px;
margin-bottom: 8px;
display: flex;
diff --git a/src/components/Hero/Hero.tsx b/src/components/Hero/Hero.tsx
index 7c67c39..bcac351 100644
--- a/src/components/Hero/Hero.tsx
+++ b/src/components/Hero/Hero.tsx
@@ -1,13 +1,19 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import {
Section,
SectionTitle,
SectionText,
ButtonBack,
+ loadScrollTrigger,
} from '../../styles/GlobalComponents';
import { LeftSection } from './HeroStyles';
const Hero: React.FC = () => {
+
+ useEffect(() => {
+ loadScrollTrigger();
+ })
+
return (
<>
@@ -18,10 +24,10 @@ const Hero: React.FC = () => {
meu Portfolio
- Sou Vinícius, e aqui você irá encontrar meus projetos
+ Meu nome é Vinícius, sou Desenvolvedor Web, e aqui você irá encontrar meus projetos
mais relevantes e um pouco sobre minha história!
- Leia Mais
+ Leia Mais
>
diff --git a/src/components/Projects/Card/Card.tsx b/src/components/Projects/Card/Card.tsx
index 08f3db3..c1f1106 100644
--- a/src/components/Projects/Card/Card.tsx
+++ b/src/components/Projects/Card/Card.tsx
@@ -31,7 +31,7 @@ const Card: React.FC = ({
const [openVideo, setOpenVideo] = useState(false);
return (
-
+
= ({
setOpenVideo(true);
}}
onMouseLeave={() => {
-
setOpenVideo(false);
}}
>
- Hover to preview
+ setOpenVideo(!openVideo)}>Hover to preview
{openVideo && (
-
- )}
+
+ )}
{title}
{description}
-
+
Visualize o código
diff --git a/src/components/Projects/Card/CardStyles.ts b/src/components/Projects/Card/CardStyles.ts
index 141263d..7f92568 100644
--- a/src/components/Projects/Card/CardStyles.ts
+++ b/src/components/Projects/Card/CardStyles.ts
@@ -1,6 +1,6 @@
import styled from "styled-components";
-export const CardDiv = styled.a`
+export const CardDiv = styled.div`
max-width: 550px;
background-image: ${props => props.theme.gradients.secondary1};
border-radius: 20px;
@@ -75,43 +75,41 @@ export const CardImage = styled.div<{ src: string }>`
}
&:hover {
- span {
- opacity: 0;
- }
+ span {
+ opacity: 0;
}
+}
- @media ${props=> props.theme.breakpoints.lg} {
- height: 300px;
+ @media ${props=> props.theme.breakpoints.lg} {
+ height: 350px;
}
@media ${props=> props.theme.breakpoints.md} {
- height: 250px;
- span {
- opacity: 0;
- visibility: hidden;
- }
+ height: 300px;
}
@media ${props=> props.theme.breakpoints.sm} {
height: 250px;
+ span {
+ z-index: 99999;
+ }
+ &:hover {
+ span {
+ opacity: 1;
+ }
+ }
}
`;
export const CardTitle = styled.h3`
color: ${props => props.theme.colors.primary};
font-size: ${props => props.theme.fonts.size['1xl']};
-
- /* @media ${props=> props.theme.breakpoints.lg} {
- font-size: ${props => props.theme.fonts.size.lg};
-
- } */
@media ${props=> props.theme.breakpoints.md} {
font-size: ${props => props.theme.fonts.size.lg};
}
-
`;
export const Text = styled.p`
diff --git a/src/components/Projects/Projects.tsx b/src/components/Projects/Projects.tsx
index 5f16714..4abfd7f 100644
--- a/src/components/Projects/Projects.tsx
+++ b/src/components/Projects/Projects.tsx
@@ -12,7 +12,7 @@ import Card from './Card/Card';
const Projects: React.FC = () => {
return (
-
+
Projetos
{projects.map(proj => (
diff --git a/src/components/Technologies/Technologies.tsx b/src/components/Technologies/Technologies.tsx
index c2a0130..ef065f9 100644
--- a/src/components/Technologies/Technologies.tsx
+++ b/src/components/Technologies/Technologies.tsx
@@ -1,23 +1,26 @@
import React from 'react';
import { DiFirebase, DiReact, DiZend } from 'react-icons/di';
-import { Section, SectionDivider, SectionText, SectionTitle } from '../../styles/GlobalComponents';
+import { Section, SectionDivider, SectionText, SectionTitle } from '../../styles/GlobalComponents';
import { List, ListContainer, ListItem, ListParagraph, ListTitle } from './TechnologiesStyles';
-const Technologies: React.FC = () => (
+const Technologies: React.FC = () => {
+
+
+ return (
- Tecnologias
+ Tecnologias
Atualmente, acumulo conhecimentos do Front-End, UI/UX e o básico de Banco de Dados.
-
- Front-End
-
+
+ Front-End
+
Experiência com
React.js, Next.js,
Typescript...
@@ -26,11 +29,11 @@ const Technologies: React.FC = () => (
-
- Back-End
-
+
+ Back-End
+
Experiência com
PostgresSQL
@@ -38,11 +41,11 @@ const Technologies: React.FC = () => (
-
- UI/UX
-
+
+ UI/UX
+
Experiência com
ferramentas como Figma
@@ -52,5 +55,6 @@ const Technologies: React.FC = () => (
);
+ }
export default Technologies;
diff --git a/src/components/TimeLine/TimeLine.tsx b/src/components/TimeLine/TimeLine.tsx
index 81daedf..e318689 100644
--- a/src/components/TimeLine/TimeLine.tsx
+++ b/src/components/TimeLine/TimeLine.tsx
@@ -11,6 +11,7 @@ const Timeline: React.FC = () => {
const carouselRef = useRef();
const scroll = (node: HTMLElement, left: number) => {
+ if(!node) return;
return node.scrollTo({ left, behavior: 'smooth' });
}
@@ -49,7 +50,7 @@ const Timeline: React.FC = () => {
Posso falar que sou a pessoa mais curiosa que conheço, desde que conheci esse mundo a cada dia fico mais apaixonado e motivado a aprender mais! Meu maior objetivo é aplicar meus conhecimentos em projetos práticos, igual esse aqui.
-
+
<>
{TimeLineData.map((item, index) => (
{
))}
>
-
+
{TimeLineData.map((item, index) => {
return (
`
display: ${props => (props.grid ? 'grid' : 'flex')};
flex-direction: ${props => (props.row ? 'row' : 'column')};
@@ -37,7 +90,7 @@ export const Section = styled.section`
}
@media ${props => props.theme.breakpoints.sm} {
- padding: ${props => (props.nopadding ? '0' : '16px 16px 0')};
+ padding: ${props => (props.nopadding ? '10px 20px' : '16px 16px 0')};
width: 100vw;
flex-direction: column;
}