import { useEffect, useState } from 'react'; import type { Event, Mute, StreamChat } from 'stream-chat'; export const useClientMutedUsers = (client: StreamChat) => { const [mutedUsers, setMutedUsers] = useState(client?.mutedUsers || []); useEffect(() => { const handleEvent = (event: Event) => { setMutedUsers((mutes) => event.me?.mutes || mutes || []); }; const listener = client?.on('notification.mutes_updated', handleEvent); return () => listener?.unsubscribe(); // eslint-disable-next-line react-hooks/exhaustive-deps }, [setMutedUsers]); return mutedUsers; };