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,
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}
}
/**