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} /> + + + )