From a497eed16ba1f67bf2801e596842bf5c96023fde Mon Sep 17 00:00:00 2001 From: Nikita Yutanov Date: Wed, 21 Aug 2024 15:37:56 +0300 Subject: [PATCH] fix(idea/frontend): lists pagination (#1626) --- idea/frontend/src/features/code/api/hooks/use-codes.tsx | 2 +- .../src/features/message/api/hooks/use-messages.ts | 8 ++++---- .../src/features/program/api/hooks/use-programs.ts | 3 ++- idea/frontend/src/features/sails/api/hooks/use-events.ts | 2 +- idea/frontend/src/features/sails/api/types.ts | 3 ++- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/idea/frontend/src/features/code/api/hooks/use-codes.tsx b/idea/frontend/src/features/code/api/hooks/use-codes.tsx index 503239ccc6..5737fce5fc 100644 --- a/idea/frontend/src/features/code/api/hooks/use-codes.tsx +++ b/idea/frontend/src/features/code/api/hooks/use-codes.tsx @@ -11,7 +11,7 @@ function useCodes(parameters: GetCodesParameters) { const query = useInfiniteQuery({ queryKey: ['codes', parameters], - queryFn: async () => (await getCodes(parameters)).result, + queryFn: async ({ pageParam }) => (await getCodes({ ...parameters, offset: pageParam })).result, initialPageParam: INFINITE_QUERY.INITIAL_PAGE_PARAM, getNextPageParam: INFINITE_QUERY.GET_NEXT_PAGE_PARAM, select: INFINITE_QUERY.SELECT, diff --git a/idea/frontend/src/features/message/api/hooks/use-messages.ts b/idea/frontend/src/features/message/api/hooks/use-messages.ts index eb5d272667..dbd741f7ac 100644 --- a/idea/frontend/src/features/message/api/hooks/use-messages.ts +++ b/idea/frontend/src/features/message/api/hooks/use-messages.ts @@ -15,11 +15,11 @@ function useMessagesToProgram(parameters: MessagesToProgramParameters, enabled: select: INFINITE_QUERY.SELECT, queryKey: ['messagesToProgram', parameters, isDevChain], - queryFn: async () => { + queryFn: async ({ pageParam }) => { // TODO: separate into standalone hook if (isDevChain) return { result: [], count: 0 }; - return (await getMessagesToProgram(parameters)).result; + return (await getMessagesToProgram({ ...parameters, offset: pageParam })).result; }, enabled, }); @@ -38,11 +38,11 @@ function useMessagesFromProgram(parameters: MessagesFromProgramParameters, enabl select: INFINITE_QUERY.SELECT, queryKey: ['messagesFromProgram', parameters, isDevChain], - queryFn: async () => { + queryFn: async ({ pageParam }) => { // TODO: separate into standalone hook if (isDevChain) return { result: [], count: 0 }; - return (await getMessagesFromProgram(parameters)).result; + return (await getMessagesFromProgram({ ...parameters, offset: pageParam })).result; }, enabled, }); diff --git a/idea/frontend/src/features/program/api/hooks/use-programs.ts b/idea/frontend/src/features/program/api/hooks/use-programs.ts index 6920c66cbf..4ac1192e92 100644 --- a/idea/frontend/src/features/program/api/hooks/use-programs.ts +++ b/idea/frontend/src/features/program/api/hooks/use-programs.ts @@ -17,7 +17,8 @@ function usePrograms(parameters: ProgramsParameters) { select: INFINITE_QUERY.SELECT, queryKey: ['programs', parameters], - queryFn: async () => (await (isDevChain ? getLocalPrograms : getPrograms)(parameters)).result, + queryFn: async ({ pageParam }) => + (await (isDevChain ? getLocalPrograms : getPrograms)({ ...parameters, offset: pageParam })).result, }); useErrorAlert(query.error); diff --git a/idea/frontend/src/features/sails/api/hooks/use-events.ts b/idea/frontend/src/features/sails/api/hooks/use-events.ts index 5cd60b530f..c973c47aeb 100644 --- a/idea/frontend/src/features/sails/api/hooks/use-events.ts +++ b/idea/frontend/src/features/sails/api/hooks/use-events.ts @@ -9,7 +9,7 @@ function useEvents(parameters: GetEventsParameters) { const query = useInfiniteQuery({ queryKey: ['events', parameters], - queryFn: async () => (await getEvents(parameters)).result, + queryFn: async ({ pageParam }) => (await getEvents({ ...parameters, offset: pageParam })).result, initialPageParam: INFINITE_QUERY.INITIAL_PAGE_PARAM, getNextPageParam: INFINITE_QUERY.GET_NEXT_PAGE_PARAM, select: INFINITE_QUERY.SELECT, diff --git a/idea/frontend/src/features/sails/api/types.ts b/idea/frontend/src/features/sails/api/types.ts index 19ebe7f07a..592db16438 100644 --- a/idea/frontend/src/features/sails/api/types.ts +++ b/idea/frontend/src/features/sails/api/types.ts @@ -1,8 +1,9 @@ import { HexString } from '@gear-js/api'; +import { PaginationParameters } from '@/api'; import { IBase } from '@/shared/types'; -type GetEventsParameters = { +type GetEventsParameters = PaginationParameters & { service?: string; name?: string; source?: string;