All files / src/hooks/use-notification/use-notification-get-list index.ts

0% Statements 0/15
0% Branches 0/1
0% Functions 0/1
0% Lines 0/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16                               
import { useInfiniteQuery } from '@tanstack/react-query';

import { API } from '@/api';
import { notificationKeys } from '@/lib/query-key/query-key-notification';
import { GetNotificationListQueryParams } from '@/types/service/notification';

export const useGetNotificationsInfinite = (params?: GetNotificationListQueryParams) => {
  return useInfiniteQuery({
    queryKey: notificationKeys.list(params),
    queryFn: ({ pageParam }) => API.notificationService.getList({ ...params, cursor: pageParam }),
    initialPageParam: params?.cursor,
    getNextPageParam: (lastPage) => lastPage.nextCursor,
    select: (data) => data.pages.flatMap((page) => page.notifications) || [],
  });
};