diff --git a/app/dashboard/settings/page.tsx b/app/dashboard/settings/page.tsx index eb8cde3..a74bb9b 100644 --- a/app/dashboard/settings/page.tsx +++ b/app/dashboard/settings/page.tsx @@ -25,7 +25,7 @@ export default function SettingsPage() { const { t } = useTranslation() const router = useRouter() const { user, signOut, signOutPending } = useAuth() - const { settings, updateTheme, isUpdating: isUpdatingTheme } = useUserSettings() + const { settings, updateTheme, isUpdating: isUpdatingTheme, updateLanguage, isUpdatingLanguage } = useUserSettings() const { isInstallable, isInstalled, install: installPWA } = usePWAInstall() // Modal states @@ -50,8 +50,16 @@ export default function SettingsPage() { } } - const handleLanguageChange = (lang: string) => { + const handleLanguageChange = async (lang: string) => { + // Optimistically update UI immediately i18n.changeLanguage(lang) + + // Persist to database + try { + await updateLanguage(lang) + } catch (error) { + console.error("Error updating language:", error) + } } const currentTheme = settings?.theme || "system" @@ -232,7 +240,7 @@ export default function SettingsPage() { - @@ -242,7 +250,7 @@ export default function SettingsPage() { {languages.map((lang) => (