diff --git a/src/app/components/BuyMeACoffee/styles.module.css b/src/app/components/BuyMeACoffee/styles.module.css index 23bc14f..c05f4cd 100644 --- a/src/app/components/BuyMeACoffee/styles.module.css +++ b/src/app/components/BuyMeACoffee/styles.module.css @@ -11,6 +11,14 @@ } } +.buy_me_a_coffee-wrapper h4 { + display: none; + + @media (min-width: 480px) { + display: block; + } +} + .buy_me_a_coffee-wrapper:hover { color: var(--secondary); } diff --git a/src/app/components/Footer/index.tsx b/src/app/components/Footer/index.tsx index 14023ed..af4b716 100644 --- a/src/app/components/Footer/index.tsx +++ b/src/app/components/Footer/index.tsx @@ -1,10 +1,35 @@ +import BuyMeACoffee from "../BuyMeACoffee"; import Typography from "../Typography"; import styles from "./styles.module.css"; +import { GITHUB_LINK, EMAIL_LINK, LINKEDIN_LINK } from "../../utils/contrants"; +import GithubIcon from "../../assets/icons/github-logo.svg"; +import EmailIcon from "../../assets/icons/email-logo.svg"; +import LinkedinIcon from "../../assets/icons/linkedin-logo.svg"; export default function Footer() { return ( diff --git a/src/app/components/Footer/styles.module.css b/src/app/components/Footer/styles.module.css index afd6a1f..6ca21eb 100644 --- a/src/app/components/Footer/styles.module.css +++ b/src/app/components/Footer/styles.module.css @@ -16,3 +16,29 @@ max-width: 90rem; padding: 1rem 2rem; } +.footer-wrapper ul { + list-style-type: none; + display: flex; + justify-content: center; + align-items: center; + gap: 1rem; +} + +.footer-wrapper li svg { + width: 2rem; + height: 2rem; + + @media (min-width: 768px) { + width: 3rem; + height: 3rem; + } +} + +.footer-wrapper li svg path { + fill: var(--primary); + transition: var(--transition); +} + +.footer-wrapper li:hover svg path { + fill: var(--secondary); +} diff --git a/src/app/components/PresentationCard/index.tsx b/src/app/components/PresentationCard/index.tsx new file mode 100644 index 0000000..9460aab --- /dev/null +++ b/src/app/components/PresentationCard/index.tsx @@ -0,0 +1,21 @@ +import styles from "./styles.module.css"; + +interface PresentationCardProps { + title: string; + link: string; + date: Date; +} + +export default function PresentationCard({ link }: PresentationCardProps) { + return ( +
+ +
+ ); +} diff --git a/src/app/components/PresentationCard/styles.module.css b/src/app/components/PresentationCard/styles.module.css new file mode 100644 index 0000000..e20ae80 --- /dev/null +++ b/src/app/components/PresentationCard/styles.module.css @@ -0,0 +1,6 @@ +.presentation iframe { + border: none; + width: 100%; + max-width: 30rem; + height: 16.875rem; +} diff --git a/src/app/components/ProjectCard/styles.module.css b/src/app/components/ProjectCard/styles.module.css index e243fc2..f3f308f 100644 --- a/src/app/components/ProjectCard/styles.module.css +++ b/src/app/components/ProjectCard/styles.module.css @@ -1,13 +1,20 @@ .project { - width: 100%; + width: 90%; display: flex; flex-direction: column; gap: 0; + box-shadow: var(--shadow); + border-radius: 0.5rem; +} + +.project:hover { + transform: scale(1.0125); + transition: var(--transition); } .project img { width: 100%; - height: 100%; + height: auto; object-fit: cover; border-radius: 0.5rem 0.5rem 0 0; } diff --git a/src/app/data/presentations.ts b/src/app/data/presentations.ts new file mode 100644 index 0000000..0b63e90 --- /dev/null +++ b/src/app/data/presentations.ts @@ -0,0 +1,13 @@ +interface Presentation { + title: string; + link: string; + date: Date; +} + +export const presentations: Presentation[] = [ + { + title: "masterChefEcomp", + link: "https://www.youtube.com/embed/cK7dz0PXVq8?si=g3fMHDqd73KFvOl7", + date: new Date("2024-03-20"), + }, +]; diff --git a/src/app/i18n/locales/en.json b/src/app/i18n/locales/en.json index 0e8c2cf..739e64b 100644 --- a/src/app/i18n/locales/en.json +++ b/src/app/i18n/locales/en.json @@ -35,8 +35,26 @@ "seeMore": { "label": "See all projects" } + }, + "experience": { + "title": { + "label": "Experience" + }, + "seeMore": { + "label": "See my full resume" + } + }, + "formation": { + "title": { + "label": "Formation" + } + }, + "presentations": { + "title": { + "label": "Presentations" + } } }, "projects": {} } -} +} \ No newline at end of file diff --git a/src/app/i18n/locales/pt.json b/src/app/i18n/locales/pt.json index 39d9175..a6b6197 100644 --- a/src/app/i18n/locales/pt.json +++ b/src/app/i18n/locales/pt.json @@ -35,8 +35,26 @@ "seeMore": { "label": "Veja todos os projetos" } + }, + "experience": { + "title": { + "label": "Experiência" + }, + "seeMore": { + "label": "Veja meu currículo completo" + } + }, + "formation": { + "title": { + "label": "Formação" + } + }, + "presentations": { + "title": { + "label": "Apresentações" + } } }, "projects": {} } -} +} \ No newline at end of file diff --git a/src/app/page.module.css b/src/app/page.module.css index b26fb7d..75b3b32 100644 --- a/src/app/page.module.css +++ b/src/app/page.module.css @@ -49,7 +49,7 @@ } .home-intro_section-logo { - filter: drop-shadow(var(--shadow)); + filter: drop-shadow(4px 8px 32px rgba(0, 0, 0, 0.25)); } .home-intro_section-title { @@ -143,6 +143,7 @@ border: 0.25rem solid var(--primary); grid-area: a; justify-self: center; + box-shadow: var(--shadow); @media (min-width: 768px) { justify-self: start; @@ -222,3 +223,7 @@ gap: 2rem; } } + +.home-presentations-list { + list-style-type: none; +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 2911fff..bbd9b86 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -17,6 +17,8 @@ import { projects } from "./data/projects"; import ProjectCard from "./components/ProjectCard"; import Link from "next/link"; import ArrowRight from "./assets/icons/arrow-right-alt.svg"; +import { presentations } from "./data/presentations"; +import PresentationCard from "./components/PresentationCard"; export default function Home() { const { t } = useTranslation(); @@ -95,6 +97,50 @@ export default function Home() { +
+
+
+ + {t("pages.home.experience.title.label")} + + + + {t("pages.home.experience.seeMore.label")} + + + +
+
+
+
+
+
+ + {t("pages.home.formation.title.label")} + +
+
+
+
+
+
+ + {t("pages.home.presentations.title.label")} + +
+ +
+