diff --git a/src/components/FeedCard.tsx b/src/components/FeedCard.tsx index 7f3cb88f..ecf0a1b9 100644 --- a/src/components/FeedCard.tsx +++ b/src/components/FeedCard.tsx @@ -5,6 +5,7 @@ import { AppBskyFeedDefs, AppBskyGraphDefs, AtUri, + RichText as RichTextApi, } from '@atproto/api' import {msg, plural, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -24,7 +25,6 @@ import * as Toast from 'view/com/util/Toast' import {useTheme} from '#/alf' import {atoms as a} from '#/alf' import {Button, ButtonIcon} from '#/components/Button' -import {useRichText} from '#/components/hooks/useRichText' import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus' import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash' import {Link as InternalLink, LinkProps} from '#/components/Link' @@ -199,13 +199,14 @@ export function TitleAndBylinePlaceholder({creator}: {creator?: boolean}) { } export function Description({description}: {description?: string}) { - const [rt, isResolving] = useRichText(description || '') - if (!description) return null - return isResolving ? ( - - ) : ( - - ) + const rt = React.useMemo(() => { + if (!description) return + const rt = new RichTextApi({text: description || ''}) + rt.detectFacetsWithoutResolution() + return rt + }, [description]) + if (!rt) return null + return } export function Likes({count}: {count: number}) {