UNPKG

@liveblocks/react-ui

Version:

A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.

29 lines (26 loc) 985 B
import { useGroup } from '@liveblocks/react/_private'; import { useMemo } from 'react'; import { useCurrentUserId } from '../shared.js'; import { useInitial } from './use-initial.js'; function useIsGroupMentionMember(mention) { const frozenMention = useInitial(mention); const frozenUserIds = frozenMention.userIds; if (frozenMention.kind !== "group") { return false; } else if (Array.isArray(frozenUserIds)) { const currentId = useCurrentUserId(); const isMember = useMemo(() => { return frozenUserIds.some((userId) => userId === currentId); }, [frozenUserIds, currentId]); return isMember; } else { const currentId = useCurrentUserId(); const { group } = useGroup(frozenMention.id); const isMember = useMemo(() => { return Boolean(group?.members.some((member) => member.id === currentId)); }, [group, currentId]); return isMember; } } export { useIsGroupMentionMember }; //# sourceMappingURL=use-group-mention.js.map