import { useState, useEffect } from 'react' import { useTranslation } from 'react-i18next'; import Hero from './Hero'; import About from './About'; import Experience from './Experience/Experience'; import Skills from './Skills'; import Education from './Education'; import Contact from './Contact'; import { ThemeMenu, ThemeType, ThemeSelected } from './ThemeMenu'; function App() { const { t, i18n } = useTranslation(); const [theme, setTheme] = useState('dark'); const [themeSelected, setThemeSelected] = useState('system'); useEffect(() => { if (themeSelected === 'system') { const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); const handleChange = () => { const systemTheme = mediaQuery.matches ? 'dark' : 'light'; setTheme(systemTheme); document.documentElement.className = `theme-${systemTheme}`; }; handleChange(); mediaQuery.addEventListener('change', handleChange); return () => mediaQuery.removeEventListener('change', handleChange); } else { setTheme(themeSelected); document.documentElement.className = `theme-${themeSelected}`; } }, [themeSelected]); const toggleLanguage = () => { const newLang = i18n.language === 'fr' ? 'en' : 'fr'; i18n.changeLanguage(newLang); }; const handleThemeChange = (newTheme: ThemeSelected) => { setThemeSelected(newTheme); }; return (
{/* Header */}

Louis EMARD

{/* Main Content */}
{/* Footer */}
) } export default App