diff options
| author | Mohamed Bassem <me@mbassem.com> | 2024-12-22 16:17:22 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2024-12-22 23:38:38 +0000 |
| commit | 353e5d6374c77a2744590a5bfd3329672009b281 (patch) | |
| tree | 5a64f13ddc930fbcf699101248b35f72cda6fc6b /apps/mobile | |
| parent | 71d7490d0a647e9254bf15b38201177057d88f95 (diff) | |
| download | karakeep-353e5d6374c77a2744590a5bfd3329672009b281.tar.zst | |
feat: Add basic pagination to searchBookmarks tRPC
Diffstat (limited to 'apps/mobile')
| -rw-r--r-- | apps/mobile/app/dashboard/search.tsx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/apps/mobile/app/dashboard/search.tsx b/apps/mobile/app/dashboard/search.tsx index 884345e7..de3d0f46 100644 --- a/apps/mobile/app/dashboard/search.tsx +++ b/apps/mobile/app/dashboard/search.tsx @@ -17,10 +17,15 @@ export default function Search() { const onRefresh = api.useUtils().bookmarks.searchBookmarks.invalidate; - const { data, error, refetch, isPending } = - api.bookmarks.searchBookmarks.useQuery( + const { data, error, refetch, isPending, fetchNextPage, isFetchingNextPage } = + api.bookmarks.searchBookmarks.useInfiniteQuery( { text: query }, - { placeholderData: keepPreviousData }, + { + placeholderData: keepPreviousData, + gcTime: 0, + initialCursor: null, + getNextPageParam: (lastPage) => lastPage.nextCursor, + }, ); if (error) { @@ -45,7 +50,9 @@ export default function Search() { {!data && <FullPageSpinner />} {data && ( <BookmarkList - bookmarks={data.bookmarks} + bookmarks={data.pages.flatMap((p) => p.bookmarks)} + fetchNextPage={fetchNextPage} + isFetchingNextPage={isFetchingNextPage} onRefresh={onRefresh} isRefreshing={isPending} /> |
