Testing
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import React from 'react'
|
||||||
import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api'
|
import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api'
|
||||||
import {
|
import {
|
||||||
useInfiniteQuery,
|
useInfiniteQuery,
|
||||||
@@ -39,9 +40,7 @@ export interface FeedParams {
|
|||||||
mergeFeedSources?: string[]
|
mergeFeedSources?: string[]
|
||||||
}
|
}
|
||||||
|
|
||||||
type RQPageParam =
|
type RQPageParam = {cursor: string | undefined} | undefined
|
||||||
| {cursor: string | undefined; api: FeedAPI; tuner: FeedTuner | NoopFeedTuner}
|
|
||||||
| undefined
|
|
||||||
|
|
||||||
export function RQKEY(feedDesc: FeedDescriptor, params?: FeedParams) {
|
export function RQKEY(feedDesc: FeedDescriptor, params?: FeedParams) {
|
||||||
return ['post-feed', feedDesc, params || {}]
|
return ['post-feed', feedDesc, params || {}]
|
||||||
@@ -78,6 +77,17 @@ export function usePostFeedQuery(
|
|||||||
const feedTuners = useFeedTuners(feedDesc)
|
const feedTuners = useFeedTuners(feedDesc)
|
||||||
const enabled = opts?.enabled !== false
|
const enabled = opts?.enabled !== false
|
||||||
|
|
||||||
|
const api = React.useMemo(() => {
|
||||||
|
return createApi(feedDesc, params || {}, feedTuners)
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, [])
|
||||||
|
const tuner = React.useMemo(() => {
|
||||||
|
return params?.disableTuner
|
||||||
|
? new NoopFeedTuner()
|
||||||
|
: new FeedTuner(feedTuners)
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
}, [])
|
||||||
|
|
||||||
return useInfiniteQuery<
|
return useInfiniteQuery<
|
||||||
FeedPage,
|
FeedPage,
|
||||||
Error,
|
Error,
|
||||||
@@ -90,13 +100,9 @@ export function usePostFeedQuery(
|
|||||||
async queryFn({pageParam}: {pageParam: RQPageParam}) {
|
async queryFn({pageParam}: {pageParam: RQPageParam}) {
|
||||||
logger.debug('usePostFeedQuery', {feedDesc, pageParam})
|
logger.debug('usePostFeedQuery', {feedDesc, pageParam})
|
||||||
|
|
||||||
const {api, tuner, cursor} = pageParam
|
const {cursor} = pageParam
|
||||||
? pageParam
|
? pageParam
|
||||||
: {
|
: {
|
||||||
api: createApi(feedDesc, params || {}, feedTuners),
|
|
||||||
tuner: params?.disableTuner
|
|
||||||
? new NoopFeedTuner()
|
|
||||||
: new FeedTuner(feedTuners),
|
|
||||||
cursor: undefined,
|
cursor: undefined,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,8 +143,6 @@ export function usePostFeedQuery(
|
|||||||
},
|
},
|
||||||
initialPageParam: undefined,
|
initialPageParam: undefined,
|
||||||
getNextPageParam: lastPage => ({
|
getNextPageParam: lastPage => ({
|
||||||
api: lastPage.api,
|
|
||||||
tuner: lastPage.tuner,
|
|
||||||
cursor: lastPage.cursor,
|
cursor: lastPage.cursor,
|
||||||
}),
|
}),
|
||||||
enabled,
|
enabled,
|
||||||
|
|||||||
Reference in New Issue
Block a user