"use client"; import Title from "@app/components/sections/Title"; import Navbar from "@app/components/sections/Navbar"; import About from "@app/components/sections/About"; import Skills from "@app/components/sections/Skills"; import Projects from "@app/components/sections/Projects"; import dynamic from 'next/dynamic'; import { useState } from "react"; import '@app/lib/i18n'; export type MenuState = { about: boolean; skills: boolean; projects: boolean; }; const Three = dynamic(() => import('@app/components/three/Three'), { ssr: false, loading: () =>
}); export default function App() { const [state, setState] = useState({ about: false, skills: false, projects: false, }); const closeSection = (key: keyof MenuState) => { setState(prev => ({ ...prev, [key]: false })); }; const isOpen = Object.values(state).some(value => value === true); return (
<Navbar state={state} setState={setState} isOpen={isOpen} /> <About id="about" open={state.about} onClose={() => closeSection("about")} /> <Skills id="skills" open={state.skills} onClose={() => closeSection("skills")} /> <Projects id="projects" open={state.projects} onClose={() => closeSection("projects")} /> </div> ); }