stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
20 lines (14 loc) • 613 B
text/typescript
import { useEffect, useState } from 'react';
import type { Event, Mute, StreamChat } from 'stream-chat';
export const useClientMutedUsers = (client: StreamChat) => {
const [mutedUsers, setMutedUsers] = useState<Mute[]>(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;
};