diff options
author | Eric Bailey <git@esb.lol> | 2025-04-09 17:00:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-09 15:00:40 -0700 |
commit | 5371114609c5c5f431cf52b01c3de3619e7c8b13 (patch) | |
tree | 602f39b64bff07c55f8af491fc8ad5bd20b7585d /src/view/com/post-thread/PostThreadItem.tsx | |
parent | 4c0213b3e91ee7d6a25b104cefa58ee26368ffd8 (diff) | |
download | voidsky-5371114609c5c5f431cf52b01c3de3619e7c8b13.tar.zst |
Add translate metrics (#8171)
* Add translate metrics * Format
Diffstat (limited to 'src/view/com/post-thread/PostThreadItem.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThreadItem.tsx | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index f818e47a1..3c8fa31ed 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -1,16 +1,16 @@ import React, {memo, useMemo} from 'react' import { - GestureResponderEvent, + type GestureResponderEvent, StyleSheet, Text as RNText, View, } from 'react-native' import { - AppBskyFeedDefs, + type AppBskyFeedDefs, AppBskyFeedPost, - AppBskyFeedThreadgate, + type AppBskyFeedThreadgate, AtUri, - ModerationDecision, + type ModerationDecision, RichText as RichTextAPI, } from '@atproto/api' import {msg, Plural, Trans} from '@lingui/macro' @@ -26,9 +26,14 @@ import {countLines} from '#/lib/strings/helpers' import {niceDate} from '#/lib/strings/time' import {s} from '#/lib/styles' import {getTranslatorLink, isPostInLanguage} from '#/locale/helpers' -import {POST_TOMBSTONE, Shadow, usePostShadow} from '#/state/cache/post-shadow' +import {logger} from '#/logger' +import { + POST_TOMBSTONE, + type Shadow, + usePostShadow, +} from '#/state/cache/post-shadow' import {useLanguagePrefs} from '#/state/preferences' -import {ThreadPost} from '#/state/queries/post-thread' +import {type ThreadPost} from '#/state/queries/post-thread' import {useSession} from '#/state/session' import {useComposerControls} from '#/state/shell/composer' import {useMergedThreadgateHiddenReplies} from '#/state/threadgate-hidden-replies' @@ -52,7 +57,7 @@ import {ContentHider} from '#/components/moderation/ContentHider' import {LabelsOnMyPost} from '#/components/moderation/LabelsOnMe' import {PostAlerts} from '#/components/moderation/PostAlerts' import {PostHider} from '#/components/moderation/PostHider' -import {AppModerationCause} from '#/components/Pills' +import {type AppModerationCause} from '#/components/Pills' import * as Prompt from '#/components/Prompt' import {RichText} from '#/components/RichText' import {SubtleWebHover} from '#/components/SubtleWebHover' @@ -747,14 +752,29 @@ function ExpandedPostDetails({ const {_, i18n} = useLingui() const openLink = useOpenLink() const isRootPost = !('reply' in post.record) + const langPrefs = useLanguagePrefs() const onTranslatePress = React.useCallback( (e: GestureResponderEvent) => { e.preventDefault() openLink(translatorUrl, true) + + if ( + bsky.dangerousIsType<AppBskyFeedPost.Record>( + post.record, + AppBskyFeedPost.isRecord, + ) + ) { + logger.metric('translate', { + sourceLanguages: post.record.langs ?? [], + targetLanguage: langPrefs.primaryLanguage, + textLength: post.record.text.length, + }) + } + return false }, - [openLink, translatorUrl], + [openLink, translatorUrl, langPrefs, post], ) return ( |