diff options
author | Samuel Newman <mozzius@protonmail.com> | 2025-08-11 18:37:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-11 08:37:39 -0700 |
commit | bb949e4f44c4ed1e19c7bddc5779515b419a7022 (patch) | |
tree | 9cb70c6573ee6c4224de38b625f91483e52a5983 /src/screens/PostThread | |
parent | 2a6172cbaf2db0eda2a7cd2afaeef4b60aadf3ba (diff) | |
download | voidsky-bb949e4f44c4ed1e19c7bddc5779515b419a7022.tar.zst |
Fix translations on Android using PROCESS_TEXT intent (#8486)
* use intents to translate text on android * clean up config plugins * restore day night plugin just to be safe * leave a comment for why we can't open translate directly * add todo * fix lockfile lint
Diffstat (limited to 'src/screens/PostThread')
-rw-r--r-- | src/screens/PostThread/components/ThreadItemAnchor.tsx | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/screens/PostThread/components/ThreadItemAnchor.tsx b/src/screens/PostThread/components/ThreadItemAnchor.tsx index 481c335db..39e84d383 100644 --- a/src/screens/PostThread/components/ThreadItemAnchor.tsx +++ b/src/screens/PostThread/components/ThreadItemAnchor.tsx @@ -12,7 +12,7 @@ import {useLingui} from '@lingui/react' import {useActorStatus} from '#/lib/actor-status' import {useOpenComposer} from '#/lib/hooks/useOpenComposer' -import {useOpenLink} from '#/lib/hooks/useOpenLink' +import {useTranslate} from '#/lib/hooks/useTranslate' import {makeProfileLink} from '#/lib/routes/links' import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeHandle} from '#/lib/strings/handles' @@ -509,14 +509,10 @@ function ExpandedPostDetails({ }) { const t = useTheme() const {_, i18n} = useLingui() - const openLink = useOpenLink() + const translate = useTranslate() const isRootPost = !('reply' in post.record) const langPrefs = useLanguagePrefs() - const translatorUrl = getTranslatorLink( - post.record?.text || '', - langPrefs.primaryLanguage, - ) const needsTranslation = useMemo( () => Boolean( @@ -529,7 +525,7 @@ function ExpandedPostDetails({ const onTranslatePress = useCallback( (e: GestureResponderEvent) => { e.preventDefault() - openLink(translatorUrl, true) + translate(post.record.text || '', langPrefs.primaryLanguage) if ( bsky.dangerousIsType<AppBskyFeedPost.Record>( @@ -546,7 +542,7 @@ function ExpandedPostDetails({ return false }, - [openLink, translatorUrl, langPrefs, post], + [translate, langPrefs, post], ) return ( @@ -566,7 +562,12 @@ function ExpandedPostDetails({ </Text> <InlineLinkText - to={translatorUrl} + // overridden to open an intent on android, but keep + // as anchor tag for accessibility + to={getTranslatorLink( + post.record.text, + langPrefs.primaryLanguage, + )} label={_(msg`Translate`)} style={[a.text_sm]} onPress={onTranslatePress}> |