({ limit = 5, user, badgeId })
| 17 | }; |
| 18 | |
| 19 | export const useTopReader: UseTopReader = ({ limit = 5, user, badgeId }) => { |
| 20 | const { data = [], isPending } = useQuery({ |
| 21 | queryKey: generateQueryKey( |
| 22 | RequestKey.TopReaderBadge, |
| 23 | user, |
| 24 | badgeId ?? `latest:${limit}`, |
| 25 | ), |
| 26 | queryFn: async () => { |
| 27 | if (badgeId) { |
| 28 | return [await fetchTopReaderById(badgeId)]; |
| 29 | } |
| 30 | |
| 31 | return fetchTopReaders(limit, user.id); |
| 32 | }, |
| 33 | staleTime: StaleTime.OneHour, |
| 34 | ...disabledRefetch, |
| 35 | }); |
| 36 | |
| 37 | return { |
| 38 | data, |
| 39 | isPending, |
| 40 | }; |
| 41 | }; |
no test coverage detected