mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1import {type AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
2import {
3 type InfiniteData,
4 type QueryKey,
5 useInfiniteQuery,
6} from '@tanstack/react-query'
7
8import {STALE} from '#/state/queries'
9import {useAgent} from '#/state/session'
10
11const suggestedFeedsQueryKeyRoot = 'suggestedFeeds'
12export const suggestedFeedsQueryKey = [suggestedFeedsQueryKeyRoot]
13
14export function useSuggestedFeedsQuery() {
15 const agent = useAgent()
16 return useInfiniteQuery<
17 AppBskyFeedGetSuggestedFeeds.OutputSchema,
18 Error,
19 InfiniteData<AppBskyFeedGetSuggestedFeeds.OutputSchema>,
20 QueryKey,
21 string | undefined
22 >({
23 staleTime: STALE.HOURS.ONE,
24 queryKey: suggestedFeedsQueryKey,
25 queryFn: async ({pageParam}) => {
26 const res = await agent.app.bsky.feed.getSuggestedFeeds({
27 limit: 10,
28 cursor: pageParam,
29 })
30 return res.data
31 },
32 initialPageParam: undefined,
33 getNextPageParam: lastPage => lastPage.cursor,
34 })
35}