diff options
author | Eric Bailey <git@esb.lol> | 2025-03-14 10:28:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-14 10:28:02 -0500 |
commit | 9cea7f0393a3bdd5b020f014ed1f8929a5755342 (patch) | |
tree | 1b5e955ca473a12adab5ce9b37f9d9d1fbc49cea /src | |
parent | dcc8b351464727e2780b279338dd46589424784e (diff) | |
download | voidsky-9cea7f0393a3bdd5b020f014ed1f8929a5755342.tar.zst |
Fix missing RecordWithMedia media embed preview in notifications view (#7988)
Diffstat (limited to 'src')
-rw-r--r-- | src/components/MediaPreview.tsx | 8 | ||||
-rw-r--r-- | src/types/bsky/post.ts | 23 |
2 files changed, 20 insertions, 11 deletions
diff --git a/src/components/MediaPreview.tsx b/src/components/MediaPreview.tsx index 6e368e7dc..208973cc9 100644 --- a/src/components/MediaPreview.tsx +++ b/src/components/MediaPreview.tsx @@ -54,6 +54,14 @@ export function Embed({ <VideoItem thumbnail={e.view.thumbnail} alt={e.view.alt} /> </Outer> ) + } else if ( + e.type === 'post_with_media' && + // ignore further "nested" RecordWithMedia + e.media.type !== 'post_with_media' && + // ignore any unknowns + e.media.view !== null + ) { + return <Embed embed={e.media.view} style={style} /> } return null diff --git a/src/types/bsky/post.ts b/src/types/bsky/post.ts index 225726f41..61b63dce7 100644 --- a/src/types/bsky/post.ts +++ b/src/types/bsky/post.ts @@ -1,4 +1,5 @@ import { + $Typed, AppBskyEmbedExternal, AppBskyEmbedImages, AppBskyEmbedRecord, @@ -12,47 +13,47 @@ import { export type Embed = | { type: 'post' - view: AppBskyEmbedRecord.ViewRecord + view: $Typed<AppBskyEmbedRecord.ViewRecord> } | { type: 'post_not_found' - view: AppBskyEmbedRecord.ViewNotFound + view: $Typed<AppBskyEmbedRecord.ViewNotFound> } | { type: 'post_blocked' - view: AppBskyEmbedRecord.ViewBlocked + view: $Typed<AppBskyEmbedRecord.ViewBlocked> } | { type: 'post_detached' - view: AppBskyEmbedRecord.ViewDetached + view: $Typed<AppBskyEmbedRecord.ViewDetached> } | { type: 'feed' - view: AppBskyFeedDefs.GeneratorView + view: $Typed<AppBskyFeedDefs.GeneratorView> } | { type: 'list' - view: AppBskyGraphDefs.ListView + view: $Typed<AppBskyGraphDefs.ListView> } | { type: 'labeler' - view: AppBskyLabelerDefs.LabelerView + view: $Typed<AppBskyLabelerDefs.LabelerView> } | { type: 'starter_pack' - view: AppBskyGraphDefs.StarterPackViewBasic + view: $Typed<AppBskyGraphDefs.StarterPackViewBasic> } | { type: 'images' - view: AppBskyEmbedImages.View + view: $Typed<AppBskyEmbedImages.View> } | { type: 'link' - view: AppBskyEmbedExternal.View + view: $Typed<AppBskyEmbedExternal.View> } | { type: 'video' - view: AppBskyEmbedVideo.View + view: $Typed<AppBskyEmbedVideo.View> } | { type: 'post_with_media' |