import React, { useState, useEffect } from 'react'; import styles from './HomeStyles/Einstellungen.module.css'; import sharedStyles from '../../components/PageManager/pages.module.css'; import { useLanguage, Language } from '../../contexts/LanguageContext'; function Einstellungen() { const [isDarkMode, setIsDarkMode] = useState(false); const { currentLanguage, setLanguage, t, isLoading } = useLanguage(); // Sync component state with current theme on mount useEffect(() => { const savedTheme = localStorage.getItem('theme'); const prefersDark = savedTheme === 'dark' || (!savedTheme && window.matchMedia('(prefers-color-scheme: dark)').matches); setIsDarkMode(prefersDark); }, []); const applyTheme = (isDark: boolean) => { if (isDark) { document.documentElement.classList.add('dark-theme'); document.documentElement.classList.remove('light-theme'); } else { document.documentElement.classList.add('light-theme'); document.documentElement.classList.remove('dark-theme'); } document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light'); }; const toggleTheme = () => { const newIsDarkMode = !isDarkMode; setIsDarkMode(newIsDarkMode); applyTheme(newIsDarkMode); localStorage.setItem('theme', newIsDarkMode ? 'dark' : 'light'); }; const handleLanguageChange = async (language: Language) => { if (language === currentLanguage) return; try { await setLanguage(language); } catch (error) { console.error('Failed to change language:', error); } }; const getLanguageLabel = (lang: Language): string => { switch (lang) { case 'de': return t('language.german'); case 'en': return t('language.english'); case 'fr': return t('language.french'); default: return lang; } }; if (isLoading) { return (
{t('common.loading')}
); } return (

{t('settings.title')}

{t('settings.theme')} {t('settings.theme.description')}
{t('settings.language')} {t('settings.language.description')}

{t('settings.about')}

{t('settings.version')} 1.0.0
); } export default Einstellungen;