Files
ncd-fe/packages/pl-hooks/lib/hooks/statuses/use-status-quotes.ts
nicole mikołajczyk bbf0325146 pl-hooks: migrate from eslint
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-24 14:01:33 +01:00

32 lines
1001 B
TypeScript

import { useInfiniteQuery } from '@tanstack/react-query';
import { usePlHooksApiClient } from '@/contexts/api-client';
import { usePlHooksQueryClient } from '@/contexts/query-client';
import { minifyStatusList } from '@/normalizers/status-list';
import type { PaginatedResponse } from 'pl-api';
const useStatusQuotes = (statusId: string) => {
const queryClient = usePlHooksQueryClient();
const { client } = usePlHooksApiClient();
return useInfiniteQuery(
{
queryKey: ['statusLists', 'quotes', statusId],
queryFn: ({ pageParam }) =>
pageParam.next?.() || client.statuses.getStatusQuotes(statusId).then(minifyStatusList),
initialPageParam: {
previous: null,
next: null,
items: [],
partial: false,
} as PaginatedResponse<string>,
getNextPageParam: (page) => (page.next ? page : undefined),
select: (data) => data.pages.map((page) => page.items).flat(),
},
queryClient,
);
};
export { useStatusQuotes };