@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
JavaScript
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