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/forms/PostDropdownBtn.tsx | |
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/forms/PostDropdownBtn.tsx')
-rw-r--r-- | src/view/com/util/forms/PostDropdownBtn.tsx | 16 |
1 files changed, 13 insertions, 3 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) |