diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx index 1a14415c..83498846 100644 --- a/src/components/RichText.tsx +++ b/src/components/RichText.tsx @@ -78,40 +78,31 @@ export function RichText({ const link = segment.link const mention = segment.mention const tag = segment.tag - if ( - mention && - AppBskyRichtextFacet.validateMention(mention).success && - !disableLinks - ) { + if (mention && AppBskyRichtextFacet.validateMention(mention).success) { els.push( {segment.text} , ) } else if (link && AppBskyRichtextFacet.validateLink(link).success) { - if (disableLinks) { - els.push(toShortUrl(segment.text)) - } else { - els.push( - - {toShortUrl(segment.text)} - , - ) - } + els.push( + + {toShortUrl(segment.text)} + , + ) } else if ( - !disableLinks && enableTags && tag && AppBskyRichtextFacet.validateTag(tag).success @@ -124,6 +115,7 @@ export function RichText({ style={styles} selectable={selectable} authorHandle={authorHandle} + disableLinks={disableLinks} />, ) } else { @@ -136,7 +128,7 @@ export function RichText({ @@ -151,11 +143,13 @@ function RichTextTag({ style, selectable, authorHandle, + disableLinks, }: { text: string tag: string selectable?: boolean authorHandle?: string + disableLinks?: boolean } & TextStyleProp) { const t = useTheme() const {_} = useLingui() @@ -204,7 +198,7 @@ function RichTextTag({ style={[ style, { - pointerEvents: 'auto', + pointerEvents: disableLinks ? 'none' : 'auto', color: t.palette.primary_500, }, web({ diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx index 35b09126..10718fe9 100644 --- a/src/view/com/util/post-embeds/QuoteEmbed.tsx +++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx @@ -91,7 +91,10 @@ export function QuoteEmbed({ const richText = React.useMemo( () => quote.text.trim() - ? new RichTextAPI({text: quote.text, facets: quote.facets}) + ? new RichTextAPI({ + text: quote.text, + facets: quote.facets, + }) : undefined, [quote.text, quote.facets], )