Add FeedFeedbackProvider

This commit is contained in:
Dan Abramov
2025-01-18 03:12:25 +00:00
parent 49ad3bcdfd
commit faae363b80
+8
View File
@@ -55,6 +55,8 @@ import {sanitizeHandle} from '#/lib/strings/handles'
import {isAndroid} from '#/platform/detection' import {isAndroid} from '#/platform/detection'
import {POST_TOMBSTONE, Shadow, usePostShadow} from '#/state/cache/post-shadow' import {POST_TOMBSTONE, Shadow, usePostShadow} from '#/state/cache/post-shadow'
import {useProfileShadow} from '#/state/cache/profile-shadow' import {useProfileShadow} from '#/state/cache/profile-shadow'
import {FeedFeedbackProvider} from '#/state/feed-feedback'
import {useFeedFeedback} from '#/state/feed-feedback'
import {usePostLikeMutationQueue} from '#/state/queries/post' import {usePostLikeMutationQueue} from '#/state/queries/post'
import { import {
AuthorFilter, AuthorFilter,
@@ -62,6 +64,7 @@ import {
usePostFeedQuery, usePostFeedQuery,
} from '#/state/queries/post-feed' } from '#/state/queries/post-feed'
import {useProfileFollowMutationQueue} from '#/state/queries/profile' import {useProfileFollowMutationQueue} from '#/state/queries/profile'
import {useSession} from '#/state/session'
import {useSetMinimalShellMode} from '#/state/shell' import {useSetMinimalShellMode} from '#/state/shell'
import {useSetLightStatusBar} from '#/state/shell/light-status-bar' import {useSetLightStatusBar} from '#/state/shell/light-status-bar'
import {List} from '#/view/com/util/List' import {List} from '#/view/com/util/List'
@@ -154,6 +157,7 @@ function Inner() {
throw new Error(`Invalid video feed params ${JSON.stringify(params)}`) throw new Error(`Invalid video feed params ${JSON.stringify(params)}`)
} }
}, [params]) }, [params])
const { const {
data, data,
isFetching, isFetching,
@@ -162,6 +166,8 @@ function Inner() {
isFetchingNextPage, isFetchingNextPage,
fetchNextPage, fetchNextPage,
} = usePostFeedQuery(feedDesc) } = usePostFeedQuery(feedDesc)
const {hasSession} = useSession()
const feedFeedback = useFeedFeedback(feedDesc, hasSession)
let videos = data?.pages.flatMap(page => let videos = data?.pages.flatMap(page =>
page.slices.flatMap(slice => slice.items), page.slices.flatMap(slice => slice.items),
@@ -336,6 +342,7 @@ function Inner() {
) )
return ( return (
<FeedFeedbackProvider value={feedFeedback}>
<GestureDetector gesture={scrollGesture}> <GestureDetector gesture={scrollGesture}>
<List <List
data={videos} data={videos}
@@ -361,6 +368,7 @@ function Inner() {
viewabilityConfig={{itemVisiblePercentThreshold: 100}} viewabilityConfig={{itemVisiblePercentThreshold: 100}}
/> />
</GestureDetector> </GestureDetector>
</FeedFeedbackProvider>
) )
} }