diff --git a/index.html b/index.html
index e4b78ea..612da80 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
-
Vite + React + TS
+ Louis Emard
diff --git a/public/CV_Louis_EMARD_EN_.pdf b/public/CV_Louis_EMARD_EN_.pdf
new file mode 100644
index 0000000..4f3607b
Binary files /dev/null and b/public/CV_Louis_EMARD_EN_.pdf differ
diff --git a/public/CV_Louis_Emard_FR_.pdf b/public/CV_Louis_Emard_FR_.pdf
new file mode 100644
index 0000000..bc3f06c
Binary files /dev/null and b/public/CV_Louis_Emard_FR_.pdf differ
diff --git a/src/components/About.tsx b/src/components/About.tsx
index ebf562e..7939dd5 100644
--- a/src/components/About.tsx
+++ b/src/components/About.tsx
@@ -17,8 +17,8 @@ const About = () => {
{t('about.experience_desc')}
-
{t('about.passion_title')}
-
{t('about.passion_desc')}
+
{t('about.approach_title')}
+
{t('about.approach_desc')}
diff --git a/src/components/App.tsx b/src/components/App.tsx
index e57ab10..b6bc2f1 100644
--- a/src/components/App.tsx
+++ b/src/components/App.tsx
@@ -10,8 +10,22 @@ import { ThemeMenu, ThemeType, ThemeSelected } from './ThemeMenu';
function App() {
const { t, i18n } = useTranslation();
- const [theme, setTheme] = useState('dark');
- const [themeSelected, setThemeSelected] = useState('system');
+ const [theme, setTheme] = useState(() => {
+ const savedTheme = localStorage.getItem('theme');
+ return (savedTheme as ThemeType) || 'dark';
+ });
+ const [themeSelected, setThemeSelected] = useState(() => {
+ const savedThemeSelected = localStorage.getItem('themeSelected');
+ return (savedThemeSelected as ThemeSelected) || 'system';
+ });
+
+ // Charger la langue sauvegardée au démarrage
+ useEffect(() => {
+ const savedLanguage = localStorage.getItem('language');
+ if (savedLanguage && (savedLanguage === 'fr' || savedLanguage === 'en')) {
+ i18n.changeLanguage(savedLanguage);
+ }
+ }, [i18n]);
useEffect(() => {
if (themeSelected === 'system') {
@@ -30,32 +44,51 @@ function App() {
setTheme(themeSelected);
document.documentElement.className = `theme-${themeSelected}`;
}
- }, [themeSelected]);
+
+ // Sauvegarder le thème sélectionné
+ localStorage.setItem('themeSelected', themeSelected);
+ localStorage.setItem('theme', theme);
+ }, [themeSelected, theme]);
const toggleLanguage = () => {
const newLang = i18n.language === 'fr' ? 'en' : 'fr';
i18n.changeLanguage(newLang);
+ localStorage.setItem('language', newLang);
};
const handleThemeChange = (newTheme: ThemeSelected) => {
setThemeSelected(newTheme);
};
+ const scrollToSection = (id: string) => {
+ const section = document.getElementById(id);
+ if (section) {
+ section.scrollIntoView({ behavior: 'smooth' });
+ }
+ }
+
return (
-
+
+ {/* Background Blobs */}
+
+
{/* Header */}
- Louis EMARD
+ Louis EMARD