Rename translation hooks
This commit is contained in:
@@ -5,7 +5,7 @@ import {type ChatBskyConvoDefs, RichText} from '@atproto/api'
|
||||
import {msg} from '@lingui/core/macro'
|
||||
import {useLingui} from '@lingui/react'
|
||||
|
||||
import {useTranslate} from '#/lib/hooks/useTranslate'
|
||||
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
|
||||
import {richTextToString} from '#/lib/strings/rich-text-helpers'
|
||||
import {useConvoActive} from '#/state/messages/convo'
|
||||
import {useLanguagePrefs} from '#/state/preferences'
|
||||
@@ -41,7 +41,7 @@ export let MessageContextMenu = ({
|
||||
const reportControl = usePromptControl()
|
||||
const blockOrDeleteControl = usePromptControl()
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const translate = useTranslate()
|
||||
const translate = useGoogleTranslate()
|
||||
|
||||
const isFromSelf = message.sender?.did === currentAccount?.did
|
||||
|
||||
@@ -54,12 +54,12 @@ export let MessageContextMenu = ({
|
||||
true,
|
||||
)
|
||||
|
||||
Clipboard.setStringAsync(str)
|
||||
void Clipboard.setStringAsync(str)
|
||||
Toast.show(_(msg`Copied to clipboard`), 'clipboard-check')
|
||||
}, [_, message.text, message.facets])
|
||||
|
||||
const onPressTranslateMessage = useCallback(() => {
|
||||
translate(message.text, langPrefs.primaryLanguage)
|
||||
void translate(message.text, langPrefs.primaryLanguage)
|
||||
|
||||
ax.metric('translate', {
|
||||
sourceLanguages: [],
|
||||
|
||||
@@ -6,10 +6,9 @@ import {getTranslatorLink} from '#/locale/helpers'
|
||||
import {IS_ANDROID} from '#/env'
|
||||
|
||||
/**
|
||||
* Will always link out to Google Translate. If inline translation is desired,
|
||||
* use `useTranslateOnDevice`
|
||||
* @deprecated Will always link out to Google Translate. Prefer `useTranslate`.
|
||||
*/
|
||||
export function useTranslate() {
|
||||
export function useGoogleTranslate() {
|
||||
const openLink = useOpenLink()
|
||||
|
||||
return useCallback(
|
||||
@@ -4,8 +4,7 @@ import {getLocales} from 'expo-localization'
|
||||
import {type TranslationTaskResult} from '@bsky.app/expo-translate-text/build/ExpoTranslateText.types'
|
||||
import {useFocusEffect} from '@react-navigation/native'
|
||||
|
||||
import {useOpenLink} from '#/lib/hooks/useOpenLink'
|
||||
import {getTranslatorLink} from '#/locale/helpers'
|
||||
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
|
||||
import {logger} from '#/logger'
|
||||
import {useLanguagePrefs} from '#/state/preferences'
|
||||
import {useAnalytics} from '#/analytics'
|
||||
@@ -111,9 +110,9 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
Record<string, TranslationState>
|
||||
>({})
|
||||
const [refCounts, setRefCounts] = useState<Record<string, number>>({})
|
||||
const openLink = useOpenLink()
|
||||
const ax = useAnalytics()
|
||||
const {primaryLanguage} = useLanguagePrefs()
|
||||
const googleTranslate = useGoogleTranslate()
|
||||
|
||||
useEffect(() => {
|
||||
setTranslationState(prev => {
|
||||
@@ -171,11 +170,6 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
sourceLangCode?: string,
|
||||
options?: Options,
|
||||
) => {
|
||||
const translateUrl = getTranslatorLink(
|
||||
text,
|
||||
targetLangCode,
|
||||
sourceLangCode,
|
||||
)
|
||||
if (options?.googleTranslate) {
|
||||
ax.metric('translate:result', {
|
||||
method: 'google-translate',
|
||||
@@ -183,7 +177,7 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
sourceLanguage: sourceLangCode ?? null,
|
||||
targetLanguage: targetLangCode,
|
||||
})
|
||||
await openLink(translateUrl)
|
||||
await googleTranslate(text, targetLangCode, sourceLangCode)
|
||||
return
|
||||
}
|
||||
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
|
||||
@@ -228,10 +222,10 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
...prev,
|
||||
[key]: {status: 'idle'},
|
||||
}))
|
||||
await openLink(translateUrl)
|
||||
await googleTranslate(text, targetLangCode, sourceLangCode)
|
||||
}
|
||||
},
|
||||
[ax, openLink, primaryLanguage],
|
||||
[ax, googleTranslate, primaryLanguage],
|
||||
)
|
||||
|
||||
const ctx = useMemo(
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import {useCallback, useContext, useMemo} from 'react'
|
||||
|
||||
import {useOpenLink} from '#/lib/hooks/useOpenLink'
|
||||
import {getTranslatorLink} from '#/locale/helpers'
|
||||
import {useGoogleTranslate} from '#/lib/hooks/useGoogleTranslate'
|
||||
import {useLanguagePrefs} from '#/state/preferences'
|
||||
import {useAnalytics} from '#/analytics'
|
||||
import {Context} from './context'
|
||||
@@ -29,9 +28,9 @@ export function useTranslateOnDevice() {
|
||||
}
|
||||
|
||||
export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
const openLink = useOpenLink()
|
||||
const ax = useAnalytics()
|
||||
const {primaryLanguage} = useLanguagePrefs()
|
||||
const googleTranslate = useGoogleTranslate()
|
||||
|
||||
const translate = useCallback(
|
||||
async (
|
||||
@@ -47,14 +46,9 @@ export function Provider({children}: React.PropsWithChildren<unknown>) {
|
||||
sourceLanguage: sourceLangCode ?? null,
|
||||
targetLanguage: targetLangCode,
|
||||
})
|
||||
const translateUrl = getTranslatorLink(
|
||||
text,
|
||||
targetLangCode,
|
||||
sourceLangCode,
|
||||
)
|
||||
await openLink(translateUrl)
|
||||
await googleTranslate(text, targetLangCode, sourceLangCode)
|
||||
},
|
||||
[ax, openLink, primaryLanguage],
|
||||
[ax, googleTranslate, primaryLanguage],
|
||||
)
|
||||
|
||||
const ctx = useMemo(
|
||||
|
||||
Reference in New Issue
Block a user