De-closure post-feed
This commit is contained in:
@@ -143,13 +143,44 @@ export function usePostFeedQuery(
|
||||
>({
|
||||
staleTime: STALE.INFINITY,
|
||||
queryKey: RQKEY(feedDesc, params),
|
||||
async queryFn({pageParam}: {pageParam: RQPageParam}) {
|
||||
queryFn,
|
||||
initialPageParam: undefined,
|
||||
getNextPageParam: lastPage => lastPage.cursor,
|
||||
meta: {queryClient, tuner, api, feedTuners},
|
||||
enabled,
|
||||
})
|
||||
|
||||
return {...out, pollLatest}
|
||||
}
|
||||
|
||||
interface QueryMeta {
|
||||
queryClient: QueryClient
|
||||
tuner: FeedTuner
|
||||
api: FeedAPI
|
||||
feedTuners: ReturnType<typeof useFeedTuners>
|
||||
}
|
||||
|
||||
async function queryFn({
|
||||
queryKey,
|
||||
meta,
|
||||
pageParam,
|
||||
}: {
|
||||
queryKey: QueryKey
|
||||
meta: any
|
||||
pageParam: RQPageParam
|
||||
}) {
|
||||
const [_, feedDesc, _params] = queryKey as ReturnType<typeof RQKEY>
|
||||
const {queryClient, tuner, api, feedTuners} = meta as QueryMeta
|
||||
|
||||
logger.debug('usePostFeedQuery', {feedDesc, pageParam})
|
||||
|
||||
if (!pageParam) {
|
||||
tuner.reset()
|
||||
}
|
||||
|
||||
const res = await api.fetch({cursor: pageParam, limit: 30})
|
||||
precacheResolvedUris(queryClient, res.feed) // precache the handle->did resolution
|
||||
|
||||
const slices = tuner.tune(res.feed, feedTuners)
|
||||
return {
|
||||
cursor: res.cursor,
|
||||
@@ -180,13 +211,6 @@ export function usePostFeedQuery(
|
||||
.filter(Boolean) as FeedPostSliceItem[],
|
||||
})),
|
||||
}
|
||||
},
|
||||
initialPageParam: undefined,
|
||||
getNextPageParam: lastPage => lastPage.cursor,
|
||||
enabled,
|
||||
})
|
||||
|
||||
return {...out, pollLatest}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user