- Introduced DrawLine component for drawing animations. - Added LazyRevealImage component for lazy loading images with reveal animations. - Implemented TextDiffuseReveal for animated text reveals with staggered effects. - Created TopProgressBar for a dynamic loading indicator. - Added PointCloud mock for testing animations. - Developed useReducedMotion hook to handle user preferences for reduced motion. - Centralized animation configurations in config.ts for easier management. - Defined animation variants in variants.ts for consistent animation effects. - Established AnimationProvider to supply global animation settings. - Created tests for AnimationProvider and useReducedMotion hook. - Added SVG assets for branding and UI elements. - Documented frontend review plan and hero circuit board animation plan.
36 lines
993 B
TypeScript
36 lines
993 B
TypeScript
"use client";
|
|
|
|
import dynamic from "next/dynamic";
|
|
import { Suspense } from "react";
|
|
import About from "./components/About";
|
|
import Contact from "./components/Contact";
|
|
import Experience from "./components/Experience";
|
|
import Footer from "./components/Footer";
|
|
import Hero from "./components/Hero";
|
|
import { SectionLoading } from "./components/SectionLoading";
|
|
import Skills from "./components/Skills";
|
|
import { WorkModalities } from "./components/WorkModalities";
|
|
|
|
const Projects = dynamic(() => import("./components/Projects"));
|
|
|
|
export default function Home() {
|
|
return (
|
|
<div className="flex min-h-screen flex-col overflow-x-hidden">
|
|
<main className="ds-main">
|
|
<Hero />
|
|
<About />
|
|
<Skills />
|
|
<Experience />
|
|
<Suspense
|
|
fallback={<SectionLoading message="Carregando projetos..." />}
|
|
>
|
|
<Projects />
|
|
</Suspense>
|
|
<WorkModalities />
|
|
<Contact />
|
|
</main>
|
|
<Footer />
|
|
</div>
|
|
);
|
|
}
|