diff options
Diffstat (limited to 'src/state/queries/suggested-feeds.ts')
-rw-r--r-- | src/state/queries/suggested-feeds.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/state/queries/suggested-feeds.ts b/src/state/queries/suggested-feeds.ts new file mode 100644 index 000000000..7e6b534ad --- /dev/null +++ b/src/state/queries/suggested-feeds.ts @@ -0,0 +1,29 @@ +import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query' +import {AppBskyFeedGetSuggestedFeeds} from '@atproto/api' + +import {getAgent} from '#/state/session' +import {STALE} from '#/state/queries' + +export const suggestedFeedsQueryKey = ['suggestedFeeds'] + +export function useSuggestedFeedsQuery() { + return useInfiniteQuery< + AppBskyFeedGetSuggestedFeeds.OutputSchema, + Error, + InfiniteData<AppBskyFeedGetSuggestedFeeds.OutputSchema>, + QueryKey, + string | undefined + >({ + staleTime: STALE.HOURS.ONE, + queryKey: suggestedFeedsQueryKey, + queryFn: async ({pageParam}) => { + const res = await getAgent().app.bsky.feed.getSuggestedFeeds({ + limit: 10, + cursor: pageParam, + }) + return res.data + }, + initialPageParam: undefined, + getNextPageParam: lastPage => lastPage.cursor, + }) +} |