stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
36 lines • 1.87 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useChannelDetailsMemberStatusText = void 0;
var _react = require("react");
var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
var _useChannelMemberCount = require("../../../hooks/useChannelMemberCount");
var _useIsDirectChat = require("../../../hooks/useIsDirectChat");
var _useChannelMembersState = require("../../ChannelList/hooks/useChannelMembersState");
var _useChannelOnlineMemberCount = require("../../ChannelList/hooks/useChannelOnlineMemberCount");
var useChannelDetailsMemberStatusText = channel => {
var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
t = _useTranslationContex.t;
var members = (0, _useChannelMembersState.useChannelMembersState)(channel);
var memberCount = (0, _useChannelMemberCount.useChannelMemberCount)(channel);
var onlineCount = (0, _useChannelOnlineMemberCount.useChannelOnlineMemberCount)(channel);
var isDirect = (0, _useIsDirectChat.useIsDirectChat)(channel);
return (0, _react.useMemo)(() => {
if (isDirect) {
var _otherMember$user;
var ownUserId = channel.getClient().userID;
var otherMember = Object.values(members).find(member => {
var _member$user;
return ((_member$user = member.user) == null ? void 0 : _member$user.id) !== ownUserId;
});
return otherMember != null && (_otherMember$user = otherMember.user) != null && _otherMember$user.online ? t('Online') : '';
}
return t('{{memberCount}} members, {{onlineCount}} online', {
count: memberCount,
memberCount,
onlineCount
});
}, [channel, isDirect, memberCount, members, onlineCount, t]);
};
exports.useChannelDetailsMemberStatusText = useChannelDetailsMemberStatusText;
//# sourceMappingURL=useChannelDetailsMemberStatusText.js.map