diff --git a/app/components/Footer.tsx b/app/components/Footer.tsx new file mode 100644 index 0000000..40d6aaf --- /dev/null +++ b/app/components/Footer.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { useEffect, useState } from "react"; + +export default function Footer() { + const [blink, setBlink] = useState(true); + + useEffect(() => { + const interval = setInterval(() => { + setBlink((prev) => !prev); + }, 500); + return () => clearInterval(interval); + }, []); + + return ( + + ); +} diff --git a/app/components/Preloader.tsx b/app/components/Preloader.tsx index 8f3e1d8..cca07ca 100644 --- a/app/components/Preloader.tsx +++ b/app/components/Preloader.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; +import { Logo } from "./Logo"; export function Preloader() { const [progress, setProgress] = useState(0); @@ -45,46 +46,54 @@ export function Preloader() { initial={{ y: 0 }} exit={{ y: "-100vh" }} transition={{ duration: 0.9, ease: [0.76, 0, 0.24, 1] }} - className="fixed inset-0 z-[100] flex flex-col items-center justify-center bg-[#0A0A0A] text-white" + className="fixed inset-0 z-[100] flex flex-col items-center justify-center bg-[var(--ink)] text-white w-screen h-screen" > -
-
- - evandro.dev - -
+
-
- + -
+ + + +

+ Evandro.dev.br +

+
-
- - Carregando - - + +
+ +
+
{progress}% - -
+
+ +
)} diff --git a/app/components/Section.tsx b/app/components/Section.tsx index 021dc4e..972eefc 100644 --- a/app/components/Section.tsx +++ b/app/components/Section.tsx @@ -1,4 +1,7 @@ +"use client"; + import type React from "react"; +import { motion, Variants } from "framer-motion"; import { Reveal } from "./Reveal"; interface SectionProps { @@ -23,21 +26,45 @@ export const Section = ({ disableChildrenAnimation = false, }: SectionProps) => { const baseClass = dark ? "ds-section ds-section-dark" : "ds-section"; + + const itemVariants: Variants = { + hidden: { opacity: 0, y: 20 }, + visible: { opacity: 1, y: 0, transition: { duration: 0.6, ease: "easeOut" } } + }; + return (
- -
-
- {eyebrow &&

{eyebrow}

} -

{title}

- {description && ( -

{description}

- )} -
- {aside && } + +
+ {eyebrow && ( + + {eyebrow} + + )} + + {title} + + {description && ( + + {description} + + )}
- + {aside && {aside}} +
+ {!disableChildrenAnimation ? (
{children}
diff --git a/app/page.tsx b/app/page.tsx index 8674df5..f74693d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -6,6 +6,7 @@ import Projects from "./components/Projects"; import Skills from "./components/Skills"; import { WorkModalities } from "./components/WorkModalities"; import { Preloader } from "./components/Preloader"; +import Footer from "./components/Footer"; export default function Home() { return ( @@ -20,6 +21,7 @@ export default function Home() { +
); }