diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-11-08 09:38:28 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-08 09:38:28 -0800 |
commit | 5843e212c0ebbfc6c3831929bbbaa72e1a289aba (patch) | |
tree | 08b6beed54700c56b65edbff32dc32baae0a4208 /src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx | |
parent | e75b2d508baf9b19e7340657ac2951e9f057b735 (diff) | |
download | voidsky-5843e212c0ebbfc6c3831929bbbaa72e1a289aba.tar.zst |
Move language preferences to new persistence + context (#1837)
Diffstat (limited to 'src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx')
-rw-r--r-- | src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx b/src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx index 910522f90..659245616 100644 --- a/src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx +++ b/src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx @@ -9,11 +9,18 @@ import {deviceLocales} from 'platform/detection' import {LANGUAGES, LANGUAGES_MAP_CODE2} from '../../../../locale/languages' import {LanguageToggle} from './LanguageToggle' import {ConfirmLanguagesButton} from './ConfirmLanguagesButton' +import { + useLanguagePrefs, + useSetLanguagePrefs, + toggleContentLanguage, +} from '#/state/preferences/languages' export const snapPoints = ['100%'] export function Component({}: {}) { const store = useStores() + const langPrefs = useLanguagePrefs() + const setLangPrefs = useSetLanguagePrefs() const pal = usePalette('default') const {isMobile} = useWebMediaQueries() const onPressDone = React.useCallback(() => { @@ -29,23 +36,23 @@ export function Component({}: {}) { // sort so that device & selected languages are on top, then alphabetically langs.sort((a, b) => { const hasA = - store.preferences.hasContentLanguage(a.code2) || + langPrefs.contentLanguages.includes(a.code2) || deviceLocales.includes(a.code2) const hasB = - store.preferences.hasContentLanguage(b.code2) || + langPrefs.contentLanguages.includes(b.code2) || deviceLocales.includes(b.code2) if (hasA === hasB) return a.name.localeCompare(b.name) if (hasA) return -1 return 1 }) return langs - }, [store]) + }, [langPrefs]) const onPress = React.useCallback( (code2: string) => { - store.preferences.toggleContentLanguage(code2) + toggleContentLanguage(langPrefs, setLangPrefs, code2) }, - [store], + [langPrefs, setLangPrefs], ) return ( |