@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.
31 lines (27 loc) • 1.06 kB
JavaScript
;
var _private = require('@liveblocks/react/_private');
var react = require('react');
var shared = require('../shared.cjs');
var useInitial = require('./use-initial.cjs');
function useIsGroupMentionMember(mention) {
const frozenMention = useInitial.useInitial(mention);
const frozenUserIds = frozenMention.userIds;
if (frozenMention.kind !== "group") {
return false;
} else if (Array.isArray(frozenUserIds)) {
const currentId = shared.useCurrentUserId();
const isMember = react.useMemo(() => {
return frozenUserIds.some((userId) => userId === currentId);
}, [frozenUserIds, currentId]);
return isMember;
} else {
const currentId = shared.useCurrentUserId();
const { group } = _private.useGroup(frozenMention.id);
const isMember = react.useMemo(() => {
return Boolean(group?.members.some((member) => member.id === currentId));
}, [group, currentId]);
return isMember;
}
}
exports.useIsGroupMentionMember = useIsGroupMentionMember;
//# sourceMappingURL=use-group-mention.cjs.map