diff --git a/src/components/FeedCard.tsx b/src/components/FeedCard.tsx
index efd14be4ba..630691b027 100644
--- a/src/components/FeedCard.tsx
+++ b/src/components/FeedCard.tsx
@@ -1,7 +1,7 @@
import {useCallback, useEffect, useMemo} from 'react'
import {type GestureResponderEvent, View} from 'react-native'
import {
- type AppBskyFeedDefs,
+ AppBskyFeedDefs,
type AppBskyGraphDefs,
AtUri,
RichText as RichTextApi,
@@ -28,6 +28,7 @@ import {
} from '#/components/Button'
import {Live_Stroke2_Corner0_Rounded as LiveIcon} from '#/components/icons/Live'
import {Pin_Stroke2_Corner0_Rounded as PinIcon} from '#/components/icons/Pin'
+import {VideoClip_Stroke2_Corner0_Rounded as VideoClipIcon} from '#/components/icons/VideoClip'
import {Link as InternalLink, type LinkProps} from '#/components/Link'
import {Loader} from '#/components/Loader'
import * as Prompt from '#/components/Prompt'
@@ -54,6 +55,7 @@ export function Default(props: Props) {
title={view.displayName}
creator={view.creator}
uri={view.uri}
+ contentMode={view.contentMode}
/>
@@ -124,13 +126,16 @@ export function TitleAndByline({
title,
creator,
uri,
+ contentMode,
}: {
title: string
creator?: bsky.profile.AnyProfileView
uri?: string
+ contentMode?: AppBskyFeedDefs.GeneratorView['contentMode']
}) {
const t = useTheme()
const activeLiveEvents = useActiveLiveEventFeedUris()
+ const isVideoFeed = contentMode === AppBskyFeedDefs.CONTENTMODEVIDEO
const liveColor = useMemo(
() =>
select(t.name, {
@@ -170,6 +175,20 @@ export function TitleAndByline({
Feed by {sanitizeHandle(creator.handle, '@')}
)}
+ {isVideoFeed && (
+
+
+
+ Video feed
+
+
+ )}
)
}
diff --git a/src/components/Post/Embed/FeedEmbed.tsx b/src/components/Post/Embed/FeedEmbed.tsx
index a726c313e1..867059e8b6 100644
--- a/src/components/Post/Embed/FeedEmbed.tsx
+++ b/src/components/Post/Embed/FeedEmbed.tsx
@@ -25,8 +25,15 @@ export function FeedEmbed({
title={embed.view.displayName}
creator={embed.view.creator}
uri={embed.view.uri}
+ contentMode={embed.view.contentMode}
/>
+
+
+
)