De-closure post-feed

This commit is contained in:
Paul Frazee
2023-11-28 17:13:26 -08:00
parent eee30792b3
commit 7b7f3d46e1
+32 -8
View File
@@ -143,13 +143,44 @@ export function usePostFeedQuery(
>({ >({
staleTime: STALE.INFINITY, staleTime: STALE.INFINITY,
queryKey: RQKEY(feedDesc, params), 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}) logger.debug('usePostFeedQuery', {feedDesc, pageParam})
if (!pageParam) { if (!pageParam) {
tuner.reset() tuner.reset()
} }
const res = await api.fetch({cursor: pageParam, limit: 30}) const res = await api.fetch({cursor: pageParam, limit: 30})
precacheResolvedUris(queryClient, res.feed) // precache the handle->did resolution precacheResolvedUris(queryClient, res.feed) // precache the handle->did resolution
const slices = tuner.tune(res.feed, feedTuners) const slices = tuner.tune(res.feed, feedTuners)
return { return {
cursor: res.cursor, cursor: res.cursor,
@@ -180,13 +211,6 @@ export function usePostFeedQuery(
.filter(Boolean) as FeedPostSliceItem[], .filter(Boolean) as FeedPostSliceItem[],
})), })),
} }
},
initialPageParam: undefined,
getNextPageParam: lastPage => lastPage.cursor,
enabled,
})
return {...out, pollLatest}
} }
/** /**