UNPKG

stream-chat-react

Version:

React components to create chat conversations or livestream style chat

41 lines (40 loc) 1.47 kB
import { useMemo } from 'react'; export const useCreateChatContext = (value) => { const { channel, channelsQueryState, client, closeMobileNav, customClasses, getAppSettings, isMessageAIGenerated, latestMessageDatesByChannels, mutes, navOpen, openMobileNav, searchController, setActiveChannel, theme, useImageFlagEmojisOnWindows, } = value; const channelCid = channel?.cid; const channelsQueryError = channelsQueryState.error; const channelsQueryInProgress = channelsQueryState.queryInProgress; const clientValues = `${client.clientID}${Object.keys(client.activeChannels).length}${Object.keys(client.listeners).length}${client.mutedChannels.length} ${client.user?.id}`; const mutedUsersLength = mutes.length; const chatContext = useMemo(() => ({ channel, channelsQueryState, client, closeMobileNav, customClasses, getAppSettings, isMessageAIGenerated, latestMessageDatesByChannels, mutes, navOpen, openMobileNav, searchController, setActiveChannel, theme, useImageFlagEmojisOnWindows, }), // eslint-disable-next-line react-hooks/exhaustive-deps [ channelCid, channelsQueryError, channelsQueryInProgress, clientValues, getAppSettings, searchController, mutedUsersLength, navOpen, isMessageAIGenerated, ]); return chatContext; };