personal web client for Bluesky
typescript solidjs bluesky atcute

fix: better pagination check

mary.my.id 325fb21b 24df5fa7

verified
+13 -2
+13 -2
src/api/queries/bookmark.ts
··· 26 26 ); 27 27 28 28 return { 29 - cursor: data.bookmarks.length !== 0 ? data.cursor : undefined, 29 + cursor: data.cursor, 30 30 bookmarks: data.bookmarks, 31 31 }; 32 32 }, 33 33 structuralSharing: false, 34 34 initialPageParam: undefined, 35 - getNextPageParam: (last) => last.cursor, 35 + getNextPageParam: (last, all) => { 36 + // stop pagination if the last 4 pages have no bookmarks 37 + if (all.length >= 4) { 38 + const recentPages = all.slice(-4); 39 + const allEmpty = recentPages.every((page) => page.bookmarks.length === 0); 40 + if (allEmpty) { 41 + return undefined; 42 + } 43 + } 44 + 45 + return last.cursor; 46 + }, 36 47 }; 37 48 }); 38 49 };