diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/RichText.tsx | 42 | ||||
-rw-r--r-- | src/view/com/util/post-embeds/QuoteEmbed.tsx | 5 |
2 files changed, 25 insertions, 22 deletions
diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx index 83498846b..1a14415cf 100644 --- a/src/components/RichText.tsx +++ b/src/components/RichText.tsx @@ -78,31 +78,40 @@ export function RichText({ const link = segment.link const mention = segment.mention const tag = segment.tag - if (mention && AppBskyRichtextFacet.validateMention(mention).success) { + if ( + mention && + AppBskyRichtextFacet.validateMention(mention).success && + !disableLinks + ) { els.push( <InlineLink selectable={selectable} key={key} to={`/profile/${mention.did}`} - style={[...styles, {pointerEvents: disableLinks ? 'none' : 'auto'}]} + style={[...styles, {pointerEvents: 'auto'}]} // @ts-ignore TODO dataSet={WORD_WRAP}> {segment.text} </InlineLink>, ) } else if (link && AppBskyRichtextFacet.validateLink(link).success) { - els.push( - <InlineLink - selectable={selectable} - key={key} - to={link.uri} - style={[...styles, {pointerEvents: disableLinks ? 'none' : 'auto'}]} - // @ts-ignore TODO - dataSet={WORD_WRAP}> - {toShortUrl(segment.text)} - </InlineLink>, - ) + if (disableLinks) { + els.push(toShortUrl(segment.text)) + } else { + els.push( + <InlineLink + selectable={selectable} + key={key} + to={link.uri} + style={[...styles, {pointerEvents: 'auto'}]} + // @ts-ignore TODO + dataSet={WORD_WRAP}> + {toShortUrl(segment.text)} + </InlineLink>, + ) + } } else if ( + !disableLinks && enableTags && tag && AppBskyRichtextFacet.validateTag(tag).success @@ -115,7 +124,6 @@ export function RichText({ style={styles} selectable={selectable} authorHandle={authorHandle} - disableLinks={disableLinks} />, ) } else { @@ -128,7 +136,7 @@ export function RichText({ <Text selectable={selectable} testID={testID} - style={[styles, {pointerEvents: disableLinks ? 'none' : 'auto'}]} + style={styles} numberOfLines={numberOfLines} // @ts-ignore web only -prf dataSet={WORD_WRAP}> @@ -143,13 +151,11 @@ function RichTextTag({ style, selectable, authorHandle, - disableLinks, }: { text: string tag: string selectable?: boolean authorHandle?: string - disableLinks?: boolean } & TextStyleProp) { const t = useTheme() const {_} = useLingui() @@ -198,7 +204,7 @@ function RichTextTag({ style={[ style, { - pointerEvents: disableLinks ? 'none' : 'auto', + pointerEvents: '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 10718fe93..35b091269 100644 --- a/src/view/com/util/post-embeds/QuoteEmbed.tsx +++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx @@ -91,10 +91,7 @@ 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], ) |