UNPKG

@100mslive/roomkit-react

Version:

![Banner](https://github.com/100mslive/web-sdks/blob/06c65259912db6ccd8617f2ecb6fef51429251ec/prebuilt-banner.png)

30 lines (25 loc) 1.24 kB
import { useCallback } from 'react'; import { selectLocalPeer, selectSessionStore, useHMSActions, useHMSStore } from '@100mslive/react-sdk'; // @ts-ignore import { ToastManager } from '../Toast/ToastManager'; import { SESSION_STORE_KEY } from '../../common/constants'; export const useChatBlacklist = ( sessionStoreKey: SESSION_STORE_KEY.CHAT_MESSAGE_BLACKLIST | SESSION_STORE_KEY.CHAT_PEER_BLACKLIST, ) => { const hmsActions = useHMSActions(); const blacklistedIDs = useHMSStore(selectSessionStore(sessionStoreKey)); const blacklistItem = useCallback( async (blacklistID: string) => { await hmsActions.sessionStore .set(sessionStoreKey, [...(blacklistedIDs || []), blacklistID]) .catch(err => ToastManager.addToast({ title: err.description })); }, [hmsActions, sessionStoreKey, blacklistedIDs], ); return { blacklistItem, blacklistedIDs }; }; export const useIsPeerBlacklisted = ({ local = false, peerCustomerUserId = '' }) => { const localPeer = useHMSStore(selectLocalPeer); const blacklistedPeerIDs = useHMSStore(selectSessionStore(SESSION_STORE_KEY.CHAT_PEER_BLACKLIST)) || []; return blacklistedPeerIDs?.includes(local ? localPeer?.customerUserId : peerCustomerUserId); };