diff options
Diffstat (limited to 'src/state')
-rw-r--r-- | src/state/queries/search-posts.ts | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/src/state/queries/search-posts.ts b/src/state/queries/search-posts.ts index 9bf3c0f9e..ef8b08358 100644 --- a/src/state/queries/search-posts.ts +++ b/src/state/queries/search-posts.ts @@ -10,12 +10,19 @@ import {getAgent} from '#/state/session' import {embedViewRecordToPostView, getEmbeddedPost} from './util' const searchPostsQueryKeyRoot = 'search-posts' -const searchPostsQueryKey = ({query}: {query: string}) => [ +const searchPostsQueryKey = ({query, sort}: {query: string; sort?: string}) => [ searchPostsQueryKeyRoot, query, + sort, ] -export function useSearchPostsQuery({query}: {query: string}) { +export function useSearchPostsQuery({ + query, + sort, +}: { + query: string + sort?: 'top' | 'latest' +}) { return useInfiniteQuery< AppBskyFeedSearchPosts.OutputSchema, Error, @@ -23,14 +30,20 @@ export function useSearchPostsQuery({query}: {query: string}) { QueryKey, string | undefined >({ - queryKey: searchPostsQueryKey({query}), + queryKey: searchPostsQueryKey({query, sort}), queryFn: async ({pageParam}) => { - const res = await getAgent().app.bsky.feed.searchPosts({ - q: query, - limit: 25, - cursor: pageParam, - }) - return res.data + // waiting on new APIs + switch (sort) { + // case 'top': + // case 'latest': + default: + const res = await getAgent().app.bsky.feed.searchPosts({ + q: query, + limit: 25, + cursor: pageParam, + }) + return res.data + } }, initialPageParam: undefined, getNextPageParam: lastPage => lastPage.cursor, |