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 17 18 19 20 21 22 23 24 25 26 27 | import { useQueryClient } from "@tanstack/react-query";
import { groupChatsListKey, hostRequestsListKey } from "features/queryKeys";
import useNotifications from "features/useNotifications";
import { useEffect } from "react";
/**
* Refetches the group chat and host request lists whenever their corresponding
* unseen counts on the ping query change, so badge counts and list contents
* stay in sync.
*/
export default function useMessageListsAutoRefetch() {
const { data: notifications } = useNotifications();
const queryClient = useQueryClient();
const unseenMessageCount = notifications?.unseenMessageCount;
const unseenReceivedHostRequestCount =
notifications?.unseenReceivedHostRequestCount;
const unseenSentHostRequestCount = notifications?.unseenSentHostRequestCount;
useEffect(() => {
queryClient.invalidateQueries({ queryKey: groupChatsListKey() });
}, [unseenMessageCount, queryClient]);
useEffect(() => {
queryClient.invalidateQueries({ queryKey: hostRequestsListKey() });
}, [unseenReceivedHostRequestCount, unseenSentHostRequestCount, queryClient]);
}
|