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) • 598 B
text/typescript
import { useMemo } from 'react';
import type { Channel } from 'stream-chat';
import { useChannelMembersState } from '../components/ChannelList/hooks/useChannelMembersState';
import { useChatContext } from '../contexts';
export const useIsDirectChat = (channel?: Channel) => {
const { client } = useChatContext();
const ownUserId = client.userID;
const members = useChannelMembersState(channel);
const otherMembers = useMemo(
() => Object.values(members ?? {}).filter((member) => member.user?.id !== ownUserId),
[members, ownUserId],
);
return otherMembers.length === 1;
};