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 (