import React from 'react' import {View} from 'react-native' 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' import {Text} from '#/components/Typography' export function AppLanguageDropdown() { const t = useTheme() const queryClient = useQueryClient() const langPrefs = useLanguagePrefs() const setLangPrefs = useLanguagePrefsApi() const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage) const onChangeAppLanguage = React.useCallback( (ev: React.ChangeEvent) => { const value = ev.target.value if (!value) return if (sanitizedLang !== value) { setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value)) } setLangPrefs.setPrimaryLanguage(value) setLangPrefs.setContentLanguage(value) // reset feeds to refetch content resetPostsFeedQueries(queryClient) }, [sanitizedLang, setLangPrefs, queryClient], ) return ( {APP_LANGUAGES.find(l => l.code2 === sanitizedLang)?.name} ) }