From 4041a76a58503572c6fe8edc87658afc946a11e0 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 25 Sep 2023 11:58:17 -0300 Subject: more ui: pagination --- packages/demobank-ui/src/hooks/backend.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'packages/demobank-ui/src/hooks/backend.ts') diff --git a/packages/demobank-ui/src/hooks/backend.ts b/packages/demobank-ui/src/hooks/backend.ts index e6a3a1c0c..3d5bfa360 100644 --- a/packages/demobank-ui/src/hooks/backend.ts +++ b/packages/demobank-ui/src/hooks/backend.ts @@ -159,7 +159,7 @@ interface useBackendType { fetcher: (endpoint: string) => Promise>; multiFetcher: (endpoint: string[][]) => Promise[]>; paginatedFetcher: ( - args: [string, number, number], + args: [string, string | undefined, number], ) => Promise>; sandboxAccountsFetcher: ( args: [string, number, number, string], @@ -188,13 +188,15 @@ export function usePublicBackend(): useBackendType { [baseUrl], ); const paginatedFetcher = useCallback( - function fetcherImpl([endpoint, page, size]: [ + function fetcherImpl([endpoint, start, size]: [ string, - number, + string | undefined, number, ]): Promise> { + const delta = -1 * size //descending order + const params = start ? { delta, start } : {delta} return requestHandler(baseUrl, endpoint, { - params: { page: page || 1, size }, + params, }); }, [baseUrl], @@ -280,14 +282,16 @@ export function useAuthenticatedBackend(): useBackendType { [baseUrl, creds], ); const paginatedFetcher = useCallback( - function fetcherImpl([endpoint, page = 1, size]: [ + function fetcherImpl([endpoint, start, size]: [ string, - number, + string | undefined, number, ]): Promise> { + const delta = -1 * size //descending order + const params = start ? { delta, start } : {delta} return requestHandler(baseUrl, endpoint, { token: creds, - params: { delta: size, start: size * page }, + params, }); }, [baseUrl, creds], -- cgit v1.2.3