diff options
author | Mary <148872143+mary-ext@users.noreply.github.com> | 2024-01-11 13:56:45 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-10 22:56:45 -0800 |
commit | 0b2daa787cc6ee7c9fe597aee8ccf9168bada7e7 (patch) | |
tree | 42c9e0b747326ee2187cc9b484f9051f5b96dc57 /src/view/com/util | |
parent | f7b01c3542f701930764c57b7b2f6bff54a9b675 (diff) | |
download | voidsky-0b2daa787cc6ee7c9fe597aee8ccf9168bada7e7.tar.zst |
Use the RichText facets when copying post text (#2481)
* feat: serialize rich text to string * feat: wire richTextToString to copy post text
Diffstat (limited to 'src/view/com/util')
-rw-r--r-- | src/view/com/util/forms/PostDropdownBtn.tsx | 16 | ||||
-rw-r--r-- | src/view/com/util/post-ctrls/PostCtrls.tsx | 9 |
2 files changed, 21 insertions, 4 deletions
diff --git a/src/view/com/util/forms/PostDropdownBtn.tsx b/src/view/com/util/forms/PostDropdownBtn.tsx index 82373822e..8e31c9e63 100644 --- a/src/view/com/util/forms/PostDropdownBtn.tsx +++ b/src/view/com/util/forms/PostDropdownBtn.tsx @@ -2,7 +2,12 @@ import React, {memo} from 'react' import {Linking, StyleProp, View, ViewStyle} from 'react-native' import Clipboard from '@react-native-clipboard/clipboard' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {AppBskyActorDefs, AppBskyFeedPost, AtUri} from '@atproto/api' +import { + AppBskyActorDefs, + AppBskyFeedPost, + AtUri, + RichText as RichTextAPI, +} from '@atproto/api' import {toShareUrl} from 'lib/strings/url-helpers' import {useTheme} from 'lib/ThemeContext' import {shareUrl} from 'lib/sharing' @@ -24,6 +29,7 @@ import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useSession} from '#/state/session' import {isWeb} from '#/platform/detection' +import {richTextToString} from '#/lib/strings/rich-text-helpers' let PostDropdownBtn = ({ testID, @@ -31,6 +37,7 @@ let PostDropdownBtn = ({ postCid, postUri, record, + richText, style, showAppealLabelItem, }: { @@ -39,6 +46,7 @@ let PostDropdownBtn = ({ postCid: string postUri: string record: AppBskyFeedPost.Record + richText: RichTextAPI style?: StyleProp<ViewStyle> showAppealLabelItem?: boolean }): React.ReactNode => { @@ -96,9 +104,11 @@ let PostDropdownBtn = ({ }, [rootUri, toggleThreadMute, _]) const onCopyPostText = React.useCallback(() => { - Clipboard.setString(record?.text || '') + const str = richTextToString(richText) + + Clipboard.setString(str) Toast.show(_(msg`Copied to clipboard`)) - }, [record, _]) + }, [_, richText]) const onOpenTranslate = React.useCallback(() => { Linking.openURL(translatorUrl) diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx index 575f19bfc..50ef8a875 100644 --- a/src/view/com/util/post-ctrls/PostCtrls.tsx +++ b/src/view/com/util/post-ctrls/PostCtrls.tsx @@ -6,7 +6,11 @@ import { View, ViewStyle, } from 'react-native' -import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api' +import { + AppBskyFeedDefs, + AppBskyFeedPost, + RichText as RichTextAPI, +} from '@atproto/api' import {Text} from '../text/Text' import {PostDropdownBtn} from '../forms/PostDropdownBtn' import {HeartIcon, HeartIconSolid, CommentBottomArrow} from 'lib/icons' @@ -33,6 +37,7 @@ let PostCtrls = ({ big, post, record, + richText, showAppealLabelItem, style, onPressReply, @@ -40,6 +45,7 @@ let PostCtrls = ({ big?: boolean post: Shadow<AppBskyFeedDefs.PostView> record: AppBskyFeedPost.Record + richText: RichTextAPI showAppealLabelItem?: boolean style?: StyleProp<ViewStyle> onPressReply: () => void @@ -212,6 +218,7 @@ let PostCtrls = ({ postCid={post.cid} postUri={post.uri} record={record} + richText={richText} showAppealLabelItem={showAppealLabelItem} style={styles.ctrlPad} /> |