add on-device translation to replies
This commit is contained in:
@@ -38,12 +38,14 @@ import {PostHider} from '#/components/moderation/PostHider'
|
|||||||
import {type AppModerationCause} from '#/components/Pills'
|
import {type AppModerationCause} from '#/components/Pills'
|
||||||
import {Embed, PostEmbedViewContext} from '#/components/Post/Embed'
|
import {Embed, PostEmbedViewContext} from '#/components/Post/Embed'
|
||||||
import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
|
import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
|
||||||
|
import {TranslatedPost} from '#/components/Post/Translated'
|
||||||
import {PostControls, PostControlsSkeleton} from '#/components/PostControls'
|
import {PostControls, PostControlsSkeleton} from '#/components/PostControls'
|
||||||
import {RichText} from '#/components/RichText'
|
import {RichText} from '#/components/RichText'
|
||||||
import * as Skele from '#/components/Skeleton'
|
import * as Skele from '#/components/Skeleton'
|
||||||
import {SubtleHover} from '#/components/SubtleHover'
|
import {SubtleHover} from '#/components/SubtleHover'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
import {useActorStatus} from '#/features/liveNow'
|
import {useActorStatus} from '#/features/liveNow'
|
||||||
|
import {Provider as OnDeviceTranslationProvider} from '#/translation'
|
||||||
|
|
||||||
export type ThreadItemPostProps = {
|
export type ThreadItemPostProps = {
|
||||||
item: Extract<ThreadItem, {type: 'threadPost'}>
|
item: Extract<ThreadItem, {type: 'threadPost'}>
|
||||||
@@ -68,6 +70,7 @@ export function ThreadItemPost({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<OnDeviceTranslationProvider>
|
||||||
<ThreadItemPostInner
|
<ThreadItemPostInner
|
||||||
item={item}
|
item={item}
|
||||||
postShadow={postShadow}
|
postShadow={postShadow}
|
||||||
@@ -75,6 +78,7 @@ export function ThreadItemPost({
|
|||||||
overrides={overrides}
|
overrides={overrides}
|
||||||
onPostSuccess={onPostSuccess}
|
onPostSuccess={onPostSuccess}
|
||||||
/>
|
/>
|
||||||
|
</OnDeviceTranslationProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,6 +322,7 @@ const ThreadItemPostInner = memo(function ThreadItemPostInner({
|
|||||||
onPress={onPressShowMore}
|
onPress={onPressShowMore}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
<TranslatedPost postText={richText.text} standalone />
|
||||||
</View>
|
</View>
|
||||||
) : undefined}
|
) : undefined}
|
||||||
{post.embed && (
|
{post.embed && (
|
||||||
|
|||||||
@@ -38,11 +38,13 @@ import {PostHider} from '#/components/moderation/PostHider'
|
|||||||
import {type AppModerationCause} from '#/components/Pills'
|
import {type AppModerationCause} from '#/components/Pills'
|
||||||
import {Embed, PostEmbedViewContext} from '#/components/Post/Embed'
|
import {Embed, PostEmbedViewContext} from '#/components/Post/Embed'
|
||||||
import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
|
import {ShowMoreTextButton} from '#/components/Post/ShowMoreTextButton'
|
||||||
|
import {TranslatedPost} from '#/components/Post/Translated'
|
||||||
import {PostControls, PostControlsSkeleton} from '#/components/PostControls'
|
import {PostControls, PostControlsSkeleton} from '#/components/PostControls'
|
||||||
import {RichText} from '#/components/RichText'
|
import {RichText} from '#/components/RichText'
|
||||||
import * as Skele from '#/components/Skeleton'
|
import * as Skele from '#/components/Skeleton'
|
||||||
import {SubtleHover} from '#/components/SubtleHover'
|
import {SubtleHover} from '#/components/SubtleHover'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
|
import {Provider as OnDeviceTranslationProvider} from '#/translation'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mimic the space in PostMeta
|
* Mimic the space in PostMeta
|
||||||
@@ -70,6 +72,7 @@ export function ThreadItemTreePost({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<OnDeviceTranslationProvider>
|
||||||
<ThreadItemTreePostInner
|
<ThreadItemTreePostInner
|
||||||
// Safeguard from clobbering per-post state below:
|
// Safeguard from clobbering per-post state below:
|
||||||
key={postShadow.uri}
|
key={postShadow.uri}
|
||||||
@@ -79,6 +82,7 @@ export function ThreadItemTreePost({
|
|||||||
overrides={overrides}
|
overrides={overrides}
|
||||||
onPostSuccess={onPostSuccess}
|
onPostSuccess={onPostSuccess}
|
||||||
/>
|
/>
|
||||||
|
</OnDeviceTranslationProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,6 +362,7 @@ const ThreadItemTreePostInner = memo(function ThreadItemTreePostInner({
|
|||||||
onPress={onPressShowMore}
|
onPress={onPressShowMore}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
<TranslatedPost postText={richText.text} standalone />
|
||||||
</View>
|
</View>
|
||||||
) : null}
|
) : null}
|
||||||
{post.embed && (
|
{post.embed && (
|
||||||
|
|||||||
Reference in New Issue
Block a user