From 20aa40a9fddbbea6e8f393b83ada532df5f6d4e8 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Fri, 23 Jan 2026 21:58:07 +0000 Subject: [PATCH] feat(client): migrate pagination from offset to cursor-based --- .../client/src/components/common/paginate.tsx | 12 +-- .../components/settings/settings-queries.tsx | 22 ++--- .../src/ee/api-key/pages/user-api-keys.tsx | 14 ++-- .../ee/api-key/pages/workspace-api-keys.tsx | 14 ++-- .../security/components/sso-provider-list.tsx | 80 ++++++++++--------- .../src/ee/security/queries/security-query.ts | 3 +- .../ee/security/services/security-service.ts | 5 +- .../features/group/components/group-list.tsx | 19 +++-- .../group/components/group-members.tsx | 15 ++-- .../src/features/page/queries/page-query.ts | 16 ++-- .../features/page/services/page-service.ts | 15 ++-- .../features/page/trash/components/trash.tsx | 14 ++-- .../src/features/page/types/page.types.ts | 2 +- .../features/share/components/share-list.tsx | 15 ++-- .../src/features/share/queries/share-query.ts | 2 +- .../features/space/components/space-list.tsx | 13 +-- .../space/components/space-members.tsx | 12 +-- .../spaces-page/all-spaces-list.tsx | 12 +-- .../components/workspace-invites-table.tsx | 15 ++-- .../components/workspace-members-table.tsx | 12 +-- apps/client/src/hooks/use-cursor-paginate.tsx | 28 +++++++ .../src/hooks/use-paginate-and-search.tsx | 23 +++++- apps/client/src/lib/types.ts | 4 +- apps/client/src/pages/spaces/spaces.tsx | 8 +- 24 files changed, 211 insertions(+), 164 deletions(-) create mode 100644 apps/client/src/hooks/use-cursor-paginate.tsx diff --git a/apps/client/src/components/common/paginate.tsx b/apps/client/src/components/common/paginate.tsx index d8e8106f..721c2f43 100644 --- a/apps/client/src/components/common/paginate.tsx +++ b/apps/client/src/components/common/paginate.tsx @@ -2,17 +2,17 @@ import { Button, Group } from "@mantine/core"; import { useTranslation } from "react-i18next"; export interface PagePaginationProps { - currentPage: number; hasPrevPage: boolean; hasNextPage: boolean; - onPageChange: (newPage: number) => void; + onPrev: () => void; + onNext: () => void; } export default function Paginate({ - currentPage, hasPrevPage, hasNextPage, - onPageChange, + onPrev, + onNext, }: PagePaginationProps) { const { t } = useTranslation(); @@ -25,7 +25,7 @@ export default function Paginate({