diff --git a/src/components/VideoPostCard.tsx b/src/components/VideoPostCard.tsx
index ea1092f760..9a49add5b2 100644
--- a/src/components/VideoPostCard.tsx
+++ b/src/components/VideoPostCard.tsx
@@ -1,10 +1,11 @@
-import {Pressable, View} from 'react-native'
+import {View} from 'react-native'
import {Image} from 'expo-image'
import {LinearGradient} from 'expo-linear-gradient'
-import {AppBskyEmbedVideo,AppBskyFeedDefs} from '@atproto/api'
+import {AppBskyEmbedVideo, AppBskyFeedDefs} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {VIBES_FEED_URI} from '#/lib/constants'
import {sanitizeHandle} from '#/lib/strings/handles'
import {formatCount} from '#/view/com/util/numeric/format'
import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar'
@@ -14,9 +15,16 @@ import {select} from '#/alf/util/themeSelector'
import {useInteractionState} from '#/components/hooks/useInteractionState'
import {Heart2_Stroke2_Corner0_Rounded as Heart} from '#/components/icons/Heart2'
import {Repost_Stroke2_Corner2_Rounded as Repost} from '#/components/icons/Repost'
+import {Link} from '#/components/Link'
import {Text} from '#/components/Typography'
-export function VideoPostCard({post}: {post: AppBskyFeedDefs.PostView}) {
+export function VideoPostCard({
+ post,
+ sourceFeedUri = VIBES_FEED_URI,
+}: {
+ post: AppBskyFeedDefs.PostView
+ sourceFeedUri?: string
+}) {
const t = useTheme()
const {_, i18n} = useLingui()
const embed = post.embed
@@ -40,11 +48,24 @@ export function VideoPostCard({post}: {post: AppBskyFeedDefs.PostView}) {
})
return (
-
+ onHoverOut={onHoverOut}
+ style={[
+ a.flex_col,
+ {
+ alignItems: undefined,
+ justifyContent: undefined,
+ },
+ ]}>
-
+
)
}
diff --git a/src/components/feeds/PostFeedVideoGridRow.tsx b/src/components/feeds/PostFeedVideoGridRow.tsx
index 2d1a035632..11fa84eb73 100644
--- a/src/components/feeds/PostFeedVideoGridRow.tsx
+++ b/src/components/feeds/PostFeedVideoGridRow.tsx
@@ -5,7 +5,13 @@ import {FeedPostSliceItem} from '#/state/queries/post-feed'
import {atoms as a, useGutters} from '#/alf'
import {VideoPostCard} from '#/components/VideoPostCard'
-export function PostFeedVideoGridRow({slices}: {slices: FeedPostSliceItem[]}) {
+export function PostFeedVideoGridRow({
+ slices,
+ sourceFeedUri,
+}: {
+ slices: FeedPostSliceItem[]
+ sourceFeedUri: string
+}) {
const gutters = useGutters(['base', 'base', 0, 'base'])
const posts = slices
.filter(slice => AppBskyEmbedVideo.isView(slice.post.embed))
@@ -22,7 +28,7 @@ export function PostFeedVideoGridRow({slices}: {slices: FeedPostSliceItem[]}) {
{posts.map(post => (
-
+
))}
diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts
index 744a5a0d85..ab23a331c1 100644
--- a/src/lib/routes/types.ts
+++ b/src/lib/routes/types.ts
@@ -57,7 +57,7 @@ export type CommonNavigatorParams = {
StarterPackShort: {code: string}
StarterPackWizard: undefined
StarterPackEdit: {rkey?: string}
- TempVibe: undefined
+ TempVibe: {feedUri: string; cursor?: string}
}
export type BottomTabNavigatorParams = CommonNavigatorParams & {
diff --git a/src/view/com/posts/PostFeed.tsx b/src/view/com/posts/PostFeed.tsx
index 70c3dff069..7844fb40b8 100644
--- a/src/view/com/posts/PostFeed.tsx
+++ b/src/view/com/posts/PostFeed.tsx
@@ -24,7 +24,7 @@ import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {logEvent} from '#/lib/statsig/statsig'
import {useTheme} from '#/lib/ThemeContext'
import {logger} from '#/logger'
-import {isIOS, isNative,isWeb} from '#/platform/detection'
+import {isIOS, isNative, isWeb} from '#/platform/detection'
import {listenPostCreated} from '#/state/events'
import {useFeedFeedbackContext} from '#/state/feed-feedback'
import {useTrendingSettings} from '#/state/preferences/trending'
@@ -94,6 +94,7 @@ type FeedRow =
type: 'videoGridRow'
key: string
slices: FeedPostSliceItem[]
+ sourceFeedUri: string
}
| {
type: 'sliceViewFullThread'
@@ -358,6 +359,7 @@ let PostFeed = ({
type: 'videoGridRow',
key: row.map(r => r._reactKey).join('-'),
slices: row,
+ sourceFeedUri: feedUri,
})
}
} else {
@@ -595,7 +597,12 @@ let PostFeed = ({
} else if (row.type === 'sliceViewFullThread') {
return
} else if (row.type === 'videoGridRow') {
- return
+ return (
+
+ )
} else {
return null
}