import { useTranslation } from 'react-i18next'; import { SelectField } from '@/components/ui/Field'; import { Card } from '@/components/ui/primitives'; import { supportedLanguages, type SupportedLanguage } from '@/i18n'; import { useUiStore } from '@/stores/ui'; /** Внешний вид: тема и язык. Хранятся локально, без запросов к серверу. */ export default function AppearanceSettingsPage() { const { t, i18n } = useTranslation(); const theme = useUiStore((state) => state.theme); const setTheme = useUiStore((state) => state.setTheme); const locale = i18n.resolvedLanguage === 'en' ? 'en' : 'ru'; const changeLanguage = (language: SupportedLanguage): void => { window.localStorage.setItem('glchat.language', language); void i18n.changeLanguage(language); }; return (

{t('settings.appearance.title')}

{t('settings.appearance.description')}

setTheme(value === 'light' ? 'light' : 'dark')} options={[ { value: 'dark', label: t('theme.dark') }, { value: 'light', label: t('theme.light') }, ]} /> changeLanguage(value === 'en' ? 'en' : 'ru')} options={supportedLanguages.map((language) => ({ value: language, label: t(`language.${language}`), }))} />
); }