aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/app
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2024-12-22 16:17:22 +0000
committerMohamed Bassem <me@mbassem.com>2024-12-22 23:38:38 +0000
commit353e5d6374c77a2744590a5bfd3329672009b281 (patch)
tree5a64f13ddc930fbcf699101248b35f72cda6fc6b /apps/mobile/app
parent71d7490d0a647e9254bf15b38201177057d88f95 (diff)
downloadkarakeep-353e5d6374c77a2744590a5bfd3329672009b281.tar.zst
feat: Add basic pagination to searchBookmarks tRPC
Diffstat (limited to 'apps/mobile/app')
-rw-r--r--apps/mobile/app/dashboard/search.tsx15
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}
/>