Pull language methods into api context (#1847)
* Pull language methods into api context * Rename for consistency
This commit is contained in:
parent
f18b15241a
commit
bd531f2344
7 changed files with 105 additions and 93 deletions
|
@ -53,9 +53,8 @@ import {useModals, useModalControls} from '#/state/modals'
|
|||
import {useRequireAltTextEnabled} from '#/state/preferences'
|
||||
import {
|
||||
useLanguagePrefs,
|
||||
useSetLanguagePrefs,
|
||||
useLanguagePrefsApi,
|
||||
toPostLanguages,
|
||||
savePostLanguageToHistory,
|
||||
} from '#/state/preferences/languages'
|
||||
|
||||
type Props = ComposerOpts
|
||||
|
@ -73,7 +72,7 @@ export const ComposePost = observer(function ComposePost({
|
|||
const store = useStores()
|
||||
const requireAltTextEnabled = useRequireAltTextEnabled()
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const setLangPrefs = useSetLanguagePrefs()
|
||||
const setLangPrefs = useLanguagePrefsApi()
|
||||
const textInput = useRef<TextInputRef>(null)
|
||||
const [isKeyboardVisible] = useIsKeyboardVisible({iosUseWillEvents: true})
|
||||
const [isProcessing, setIsProcessing] = useState(false)
|
||||
|
@ -245,7 +244,7 @@ export const ComposePost = observer(function ComposePost({
|
|||
if (!replyTo) {
|
||||
store.me.mainFeed.onPostCreated()
|
||||
}
|
||||
savePostLanguageToHistory(setLangPrefs)
|
||||
setLangPrefs.savePostLanguageToHistory()
|
||||
onPost?.()
|
||||
onClose()
|
||||
Toast.show(`Your ${replyTo ? 'reply' : 'post'} has been published`)
|
||||
|
|
|
@ -17,7 +17,7 @@ import {codeToLanguageName} from '../../../../locale/helpers'
|
|||
import {useModalControls} from '#/state/modals'
|
||||
import {
|
||||
useLanguagePrefs,
|
||||
useSetLanguagePrefs,
|
||||
useLanguagePrefsApi,
|
||||
toPostLanguages,
|
||||
hasPostLanguage,
|
||||
} from '#/state/preferences/languages'
|
||||
|
@ -26,7 +26,7 @@ export const SelectLangBtn = observer(function SelectLangBtn() {
|
|||
const pal = usePalette('default')
|
||||
const {openModal} = useModalControls()
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const setLangPrefs = useSetLanguagePrefs()
|
||||
const setLangPrefs = useLanguagePrefsApi()
|
||||
|
||||
const onPressMore = useCallback(async () => {
|
||||
if (isNative) {
|
||||
|
@ -63,7 +63,7 @@ export const SelectLangBtn = observer(function SelectLangBtn() {
|
|||
: ['far', 'circle'],
|
||||
label: langName,
|
||||
onPress() {
|
||||
setLangPrefs(v => ({...v, postLanguage: commaSeparatedLangCodes}))
|
||||
setLangPrefs.setPostLanguage(commaSeparatedLangCodes)
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
@ -11,8 +11,7 @@ import {ConfirmLanguagesButton} from './ConfirmLanguagesButton'
|
|||
import {useModalControls} from '#/state/modals'
|
||||
import {
|
||||
useLanguagePrefs,
|
||||
useSetLanguagePrefs,
|
||||
toggleContentLanguage,
|
||||
useLanguagePrefsApi,
|
||||
} from '#/state/preferences/languages'
|
||||
|
||||
export const snapPoints = ['100%']
|
||||
|
@ -20,7 +19,7 @@ export const snapPoints = ['100%']
|
|||
export function Component({}: {}) {
|
||||
const {closeModal} = useModalControls()
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const setLangPrefs = useSetLanguagePrefs()
|
||||
const setLangPrefs = useLanguagePrefsApi()
|
||||
const pal = usePalette('default')
|
||||
const {isMobile} = useWebMediaQueries()
|
||||
const onPressDone = React.useCallback(() => {
|
||||
|
@ -50,9 +49,9 @@ export function Component({}: {}) {
|
|||
|
||||
const onPress = React.useCallback(
|
||||
(code2: string) => {
|
||||
toggleContentLanguage(langPrefs, setLangPrefs, code2)
|
||||
setLangPrefs.toggleContentLanguage(code2)
|
||||
},
|
||||
[langPrefs, setLangPrefs],
|
||||
[setLangPrefs],
|
||||
)
|
||||
|
||||
return (
|
||||
|
|
|
@ -12,9 +12,8 @@ import {ToggleButton} from 'view/com/util/forms/ToggleButton'
|
|||
import {useModalControls} from '#/state/modals'
|
||||
import {
|
||||
useLanguagePrefs,
|
||||
useSetLanguagePrefs,
|
||||
useLanguagePrefsApi,
|
||||
hasPostLanguage,
|
||||
togglePostLanguage,
|
||||
} from '#/state/preferences/languages'
|
||||
|
||||
export const snapPoints = ['100%']
|
||||
|
@ -22,7 +21,7 @@ export const snapPoints = ['100%']
|
|||
export const Component = observer(function PostLanguagesSettingsImpl() {
|
||||
const {closeModal} = useModalControls()
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const setLangPrefs = useSetLanguagePrefs()
|
||||
const setLangPrefs = useLanguagePrefsApi()
|
||||
const pal = usePalette('default')
|
||||
const {isMobile} = useWebMediaQueries()
|
||||
const onPressDone = React.useCallback(() => {
|
||||
|
@ -52,9 +51,9 @@ export const Component = observer(function PostLanguagesSettingsImpl() {
|
|||
|
||||
const onPress = React.useCallback(
|
||||
(code2: string) => {
|
||||
togglePostLanguage(langPrefs, setLangPrefs, code2)
|
||||
setLangPrefs.togglePostLanguage(code2)
|
||||
},
|
||||
[langPrefs, setLangPrefs],
|
||||
[setLangPrefs],
|
||||
)
|
||||
|
||||
return (
|
||||
|
|
|
@ -19,7 +19,7 @@ import {LANGUAGES} from 'lib/../locale/languages'
|
|||
import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select'
|
||||
import {useSetMinimalShellMode} from '#/state/shell'
|
||||
import {useModalControls} from '#/state/modals'
|
||||
import {useLanguagePrefs, useSetLanguagePrefs} from '#/state/preferences'
|
||||
import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
|
||||
|
||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'LanguageSettings'>
|
||||
|
||||
|
@ -28,7 +28,7 @@ export const LanguageSettingsScreen = observer(function LanguageSettingsImpl(
|
|||
) {
|
||||
const pal = usePalette('default')
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const setLangPrefs = useSetLanguagePrefs()
|
||||
const setLangPrefs = useLanguagePrefsApi()
|
||||
const {isTabletOrDesktop} = useWebMediaQueries()
|
||||
const {screen, track} = useAnalytics()
|
||||
const setMinimalShellMode = useSetMinimalShellMode()
|
||||
|
@ -49,7 +49,7 @@ export const LanguageSettingsScreen = observer(function LanguageSettingsImpl(
|
|||
const onChangePrimaryLanguage = React.useCallback(
|
||||
(value: Parameters<PickerSelectProps['onValueChange']>[0]) => {
|
||||
if (langPrefs.primaryLanguage !== value) {
|
||||
setLangPrefs(v => ({...v, primaryLanguage: value}))
|
||||
setLangPrefs.setPrimaryLanguage(value)
|
||||
}
|
||||
},
|
||||
[langPrefs, setLangPrefs],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue