diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-04-13 19:49:52 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-13 19:49:52 -0700 |
commit | 0b43d728e4b95fe2f8085b8d01e34963f8663c0d (patch) | |
tree | a12b42404dfeff36837c3cfb761f429001663a6c /src/components/AppLanguageDropdown.tsx | |
parent | 23056daa292905b0019565dc0c42870037ed98fe (diff) | |
download | voidsky-0b43d728e4b95fe2f8085b8d01e34963f8663c0d.tar.zst |
Improve the language behaviors around the PWI (#3545)
* Handle leftnav overflow with longer languages' copy * Update the language dropdown to set ALL language prefs * Add hackfix to language cachebusting on PWI * Reset feeds on language change
Diffstat (limited to 'src/components/AppLanguageDropdown.tsx')
-rw-r--r-- | src/components/AppLanguageDropdown.tsx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/components/AppLanguageDropdown.tsx b/src/components/AppLanguageDropdown.tsx index dea9e66fb..02cd0ce2d 100644 --- a/src/components/AppLanguageDropdown.tsx +++ b/src/components/AppLanguageDropdown.tsx @@ -1,16 +1,19 @@ import React from 'react' import {View} from 'react-native' import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select' +import {useQueryClient} from '@tanstack/react-query' import {sanitizeAppLanguageSetting} from '#/locale/helpers' import {APP_LANGUAGES} from '#/locale/languages' import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences' +import {resetPostsFeedQueries} from '#/state/queries/post-feed' import {atoms as a, useTheme} from '#/alf' import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron' export function AppLanguageDropdown() { const t = useTheme() + const queryClient = useQueryClient() const langPrefs = useLanguagePrefs() const setLangPrefs = useLanguagePrefsApi() const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage) @@ -21,8 +24,13 @@ export function AppLanguageDropdown() { if (sanitizedLang !== value) { setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value)) } + setLangPrefs.setPrimaryLanguage(value) + setLangPrefs.setContentLanguage(value) + + // reset feeds to refetch content + resetPostsFeedQueries(queryClient) }, - [sanitizedLang, setLangPrefs], + [sanitizedLang, setLangPrefs, queryClient], ) return ( |