diff options
author | Hailey <153161762+haileyok@users.noreply.github.com> | 2024-01-10 22:36:47 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-10 22:36:47 -0800 |
commit | 6ec6d522e85fc8c84bb88a7ee377fb934de83dc3 (patch) | |
tree | 434ce3bd9ad60ca99a9409b0c1675793bf1f5981 /src/view/com/util/post-embeds | |
parent | 7ab4be6f7d5a89f752ebd989d9c730a9e135a989 (diff) | |
download | voidsky-6ec6d522e85fc8c84bb88a7ee377fb934de83dc3.tar.zst |
fix rendering of external in quote embeds (#2464)
Diffstat (limited to 'src/view/com/util/post-embeds')
-rw-r--r-- | src/view/com/util/post-embeds/QuoteEmbed.tsx | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx index bb8375df6..e4a091e04 100644 --- a/src/view/com/util/post-embeds/QuoteEmbed.tsx +++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx @@ -6,6 +6,7 @@ import { AppBskyEmbedImages, AppBskyEmbedRecordWithMedia, ModerationUI, + AppBskyEmbedExternal, } from '@atproto/api' import {AtUri} from '@atproto/api' import {PostMeta} from '../PostMeta' @@ -87,15 +88,19 @@ export function QuoteEmbed({ () => quote.text.trim().length === 0, [quote.text], ) - const imagesEmbed = React.useMemo( - () => - quote.embeds?.find( - embed => - AppBskyEmbedImages.isView(embed) || - AppBskyEmbedRecordWithMedia.isView(embed), - ), - [quote.embeds], - ) + const embed = React.useMemo(() => { + const e = quote.embeds?.[0] + + if (AppBskyEmbedImages.isView(e) || AppBskyEmbedExternal.isView(e)) { + return e + } else if ( + AppBskyEmbedRecordWithMedia.isView(e) && + (AppBskyEmbedImages.isView(e.media) || + AppBskyEmbedExternal.isView(e.media)) + ) { + return e.media + } + }, [quote.embeds]) return ( <Link style={[styles.container, pal.borderDark, style]} @@ -117,12 +122,7 @@ export function QuoteEmbed({ {quote.text} </Text> ) : null} - {AppBskyEmbedImages.isView(imagesEmbed) && ( - <PostEmbeds embed={imagesEmbed} moderation={{}} /> - )} - {AppBskyEmbedRecordWithMedia.isView(imagesEmbed) && ( - <PostEmbeds embed={imagesEmbed.media} moderation={{}} /> - )} + {embed && <PostEmbeds embed={embed} moderation={{}} />} </Link> ) } |