diff --git a/src/components/MediaPreview.tsx b/src/components/MediaPreview.tsx index 9a05b54dff..0d5ef05fc8 100644 --- a/src/components/MediaPreview.tsx +++ b/src/components/MediaPreview.tsx @@ -6,6 +6,7 @@ import { AppBskyEmbedImages, AppBskyEmbedRecordWithMedia, AppBskyEmbedVideo, + AppBskyFeedDefs, } from '@atproto/api' import {Trans} from '@lingui/macro' @@ -22,17 +23,12 @@ export function Embed({ embed, style, }: { - embed?: - | AppBskyEmbedImages.View - | AppBskyEmbedRecordWithMedia.View - | AppBskyEmbedExternal.View - | AppBskyEmbedVideo.View - | {[k: string]: unknown} + embed?: AppBskyFeedDefs.PostView['embed'] style?: StyleProp }) { let media = AppBskyEmbedRecordWithMedia.isView(embed) ? embed.media : embed - if (AppBskyEmbedImages.isView(media)) { + if (AppBskyEmbedImages.isValidView(media)) { return ( {media.images.map(image => ( @@ -44,7 +40,7 @@ export function Embed({ ))} ) - } else if (AppBskyEmbedExternal.isView(media) && media.external.thumb) { + } else if (AppBskyEmbedExternal.isValidView(media) && media.external.thumb) { let url: URL | undefined try { url = new URL(media.external.uri) @@ -62,7 +58,7 @@ export function Embed({ ) } } - } else if (AppBskyEmbedVideo.isView(media)) { + } else if (AppBskyEmbedVideo.isValidView(media)) { return (