sceyt-chat-react-uikit 1.7.4-beta.4 → 1.7.4-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -13136,7 +13136,7 @@ var MessageOwner = styled__default.h3(_templateObject27 || (_templateObject27 =
13136
13136
  }, function (props) {
13137
13137
  return props.clickable && 'pointer';
13138
13138
  });
13139
- var MessageText = styled__default.pre(_templateObject28 || (_templateObject28 = _taggedTemplateLiteralLoose(["\n display: flow-root;\n position: relative;\n font-family: ", ";\n margin: 0;\n padding: ", ";\n padding-bottom: ", ";\n //font-size: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: 400;\n word-wrap: break-word;\n white-space: pre-wrap;\n //white-space: normal;\n //letter-spacing: -0.2px;\n letter-spacing: 0.3px;\n color: ", ";\n user-select: text;\n //overflow: hidden;\n\n ", "\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: 0;\n height: 1px;\n }\n\n & a {\n color: ", ";\n }\n"])), function (props) {
13139
+ var MessageText = styled__default.pre(_templateObject28 || (_templateObject28 = _taggedTemplateLiteralLoose(["\n display: flow-root;\n position: relative;\n font-family: ", ";\n margin: 0;\n padding: ", ";\n padding-bottom: ", ";\n //font-size: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: 400;\n word-wrap: break-word;\n white-space: pre-wrap;\n //white-space: normal;\n //letter-spacing: -0.2px;\n letter-spacing: 0.3px;\n color: ", ";\n user-select: text;\n //overflow: hidden;\n ", "\n ", "\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: 0;\n height: 1px;\n }\n\n & a {\n color: ", ";\n }\n"])), function (props) {
13140
13140
  return props.fontFamily || 'sans-serif';
13141
13141
  }, function (props) {
13142
13142
  return props.withAttachment && (props.showMessageSenderName ? props.withPaddings ? '0 12px 10px' : '0 0 10px' : props.isForwarded ? props.withPaddings ? '4px 12px 10px' : '4px 0px 10px' : '8px 12px 10px');
@@ -13151,6 +13151,8 @@ var MessageText = styled__default.pre(_templateObject28 || (_templateObject28 =
13151
13151
  }, function (props) {
13152
13152
  var _props$incomingMessag, _props$outgoingMessag;
13153
13153
  return (props.incoming ? props === null || props === void 0 ? void 0 : (_props$incomingMessag = props.incomingMessageStyles) === null || _props$incomingMessag === void 0 ? void 0 : _props$incomingMessag.textColor : props === null || props === void 0 ? void 0 : (_props$outgoingMessag = props.outgoingMessageStyles) === null || _props$outgoingMessag === void 0 ? void 0 : _props$outgoingMessag.textColor) || props.color;
13154
+ }, function (props) {
13155
+ return props.unsupportedMessage && "\n color: " + (props.unsupportedMessageColor || '#757D8B') + ";\n font-style: italic;\n ";
13154
13156
  }, function (props) {
13155
13157
  return props.isRepliedMessage && "\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n ";
13156
13158
  }, function (props) {
@@ -13371,11 +13373,15 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
13371
13373
  accentColor = _ref2.accentColor,
13372
13374
  textSecondary = _ref2.textSecondary,
13373
13375
  onMentionNameClick = _ref2.onMentionNameClick,
13374
- shouldOpenUserProfileForMention = _ref2.shouldOpenUserProfileForMention;
13376
+ shouldOpenUserProfileForMention = _ref2.shouldOpenUserProfileForMention,
13377
+ unsupportedMessage = _ref2.unsupportedMessage;
13375
13378
  try {
13376
13379
  var messageText = [];
13377
13380
  var linkify = new LinkifyIt();
13378
13381
  var messageBodyAttributes = message.bodyAttributes && JSON.parse(JSON.stringify(message.bodyAttributes));
13382
+ if (unsupportedMessage) {
13383
+ return 'This message is not supported. Update your app to view this message.';
13384
+ }
13379
13385
  if (message.body && messageBodyAttributes && messageBodyAttributes.length > 0) {
13380
13386
  var combinedAttributesList = combineMessageAttributes(messageBodyAttributes);
13381
13387
  var textPart = text;
@@ -15397,7 +15403,7 @@ function searchChannels(action) {
15397
15403
  contactsWithChannelsMap[directChannelUser.id] = true;
15398
15404
  }
15399
15405
  var userName = makeUsername(directChannelUser && contactsMap[directChannelUser.id], directChannelUser, getFromContacts).toLowerCase();
15400
- if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy)) {
15406
+ if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy) || isSelfChannel && 'you'.includes(lowerCaseSearchBy)) {
15401
15407
  chatsGroups.push(channel);
15402
15408
  }
15403
15409
  } else {
@@ -15584,7 +15590,7 @@ function searchChannelsForForward(action) {
15584
15590
  _contactsWithChannelsMap[directChannelUser.id] = true;
15585
15591
  }
15586
15592
  var userName = makeUsername(directChannelUser && _contactsMap[directChannelUser.id], directChannelUser, _getFromContacts).toLowerCase();
15587
- if (userName.includes(_lowerCaseSearchBy) || isSelfChannel && 'me'.includes(_lowerCaseSearchBy)) {
15593
+ if (userName.includes(_lowerCaseSearchBy) || isSelfChannel && 'me'.includes(_lowerCaseSearchBy) || isSelfChannel && 'you'.includes(_lowerCaseSearchBy)) {
15588
15594
  _chatsGroups.push(channel);
15589
15595
  }
15590
15596
  } else {
@@ -17722,6 +17728,20 @@ var getFrame = function getFrame(videoSrc, time) {
17722
17728
  }
17723
17729
  };
17724
17730
 
17731
+ var HiddenMessageProperty;
17732
+ (function (HiddenMessageProperty) {
17733
+ HiddenMessageProperty["hideAfterChannelChange"] = "hideAfterChannelChange";
17734
+ HiddenMessageProperty["hideAfterSendMessage"] = "hideAfterSendMessage";
17735
+ })(HiddenMessageProperty || (HiddenMessageProperty = {}));
17736
+ (function (MESSAGE_TYPE) {
17737
+ MESSAGE_TYPE["TEXT"] = "text";
17738
+ MESSAGE_TYPE["MEDIA"] = "media";
17739
+ MESSAGE_TYPE["SYSTEM"] = "system";
17740
+ MESSAGE_TYPE["LINK"] = "link";
17741
+ MESSAGE_TYPE["FILE"] = "file";
17742
+ MESSAGE_TYPE["POLL"] = "poll";
17743
+ })(exports.MESSAGE_TYPE || (exports.MESSAGE_TYPE = {}));
17744
+
17725
17745
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
17726
17746
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
17727
17747
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -17955,7 +17975,7 @@ function sendMessage(action) {
17955
17975
  break;
17956
17976
  }
17957
17977
  _messageBuilder = channel.createMessageBuilder();
17958
- _messageBuilder.setBody(i === 0 ? message.body : '').setAttachments([]).setBodyAttributes(i === 0 ? message.bodyAttributes : {}).setMentionUserIds(i === 0 ? mentionedUserIds : []).setType(message.type).setDisplayCount(message.type === 'system' ? 0 : 1).setSilent(message.type === 'system').setMetadata(i === 0 ? JSON.stringify(message.metadata) : '');
17978
+ _messageBuilder.setBody(i === 0 ? message.body : '').setAttachments([]).setBodyAttributes(i === 0 ? message.bodyAttributes : {}).setMentionUserIds(i === 0 ? mentionedUserIds : []).setType(message.type).setDisplayCount(message.type === exports.MESSAGE_TYPE.SYSTEM ? 0 : 1).setSilent(message.type === exports.MESSAGE_TYPE.SYSTEM).setMetadata(i === 0 ? JSON.stringify(message.metadata) : '');
17959
17979
  if (message.parentMessage) {
17960
17980
  _messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
17961
17981
  }
@@ -18008,7 +18028,7 @@ function sendMessage(action) {
18008
18028
  break;
18009
18029
  }
18010
18030
  messageBuilder = channel.createMessageBuilder();
18011
- messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(message.attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount(message.type === 'system' ? 0 : 1).setSilent(message.type === 'system').setMetadata(JSON.stringify(message.metadata));
18031
+ messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(message.attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount(message.type === exports.MESSAGE_TYPE.SYSTEM ? 0 : 1).setSilent(message.type === exports.MESSAGE_TYPE.SYSTEM).setMetadata(JSON.stringify(message.metadata));
18012
18032
  if (message.parentMessage) {
18013
18033
  messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
18014
18034
  }
@@ -18275,7 +18295,7 @@ function sendTextMessage(action) {
18275
18295
  attachments = [att];
18276
18296
  }
18277
18297
  messageBuilder = channel.createMessageBuilder();
18278
- messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount((message === null || message === void 0 ? void 0 : message.displayCount) !== undefined ? message.displayCount : message.type === 'system' ? 0 : 1).setSilent((message === null || message === void 0 ? void 0 : message.silent) !== undefined ? message.silent : message.type === 'system').setMetadata(JSON.stringify(message.metadata));
18298
+ messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount((message === null || message === void 0 ? void 0 : message.displayCount) !== undefined ? message.displayCount : message.type === exports.MESSAGE_TYPE.SYSTEM ? 0 : 1).setSilent((message === null || message === void 0 ? void 0 : message.silent) !== undefined ? message.silent : message.type === exports.MESSAGE_TYPE.SYSTEM).setMetadata(JSON.stringify(message.metadata));
18279
18299
  if (message.parentMessage) {
18280
18300
  messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
18281
18301
  }
@@ -22078,7 +22098,8 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22078
22098
  accentColor = _ref2.accentColor,
22079
22099
  typingOrRecording = _ref2.typingOrRecording,
22080
22100
  channel = _ref2.channel,
22081
- isDirectChannel = _ref2.isDirectChannel;
22101
+ isDirectChannel = _ref2.isDirectChannel,
22102
+ unsupportedMessage = _ref2.unsupportedMessage;
22082
22103
  var audioRecording = React.useMemo(function () {
22083
22104
  return getAudioRecordingFromMap(channel.id);
22084
22105
  }, [channel.id, draftMessageText]);
@@ -22093,8 +22114,9 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22093
22114
  getFromContacts: getFromContacts,
22094
22115
  isLastMessage: true,
22095
22116
  accentColor: accentColor,
22096
- textSecondary: textSecondary
22097
- }))) : lastMessage.state === MESSAGE_STATUS.DELETE ? 'Message was deleted.' : lastMessage.type === 'system' ? (lastMessage.user && (lastMessage.user.id === user.id ? 'You ' : makeUsername(lastMessage.user && contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts))) + " " + (lastMessage.body === 'CC' ? 'created this channel' : lastMessage.body === 'CG' ? 'created this group' : lastMessage.body === 'AM' ? " added " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
22117
+ textSecondary: textSecondary,
22118
+ unsupportedMessage: unsupportedMessage
22119
+ }))) : lastMessage.state === MESSAGE_STATUS.DELETE ? 'Message was deleted.' : lastMessage.type === exports.MESSAGE_TYPE.SYSTEM ? (lastMessage.user && (lastMessage.user.id === user.id ? 'You ' : makeUsername(lastMessage.user && contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts))) + " " + (lastMessage.body === 'CC' ? 'created this channel' : lastMessage.body === 'CG' ? 'created this group' : lastMessage.body === 'AM' ? " added " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
22098
22120
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
22099
22121
  })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'RM' ? " removed " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
22100
22122
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
@@ -22107,7 +22129,8 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22107
22129
  getFromContacts: getFromContacts,
22108
22130
  isLastMessage: true,
22109
22131
  accentColor: accentColor,
22110
- textSecondary: textSecondary
22132
+ textSecondary: textSecondary,
22133
+ unsupportedMessage: unsupportedMessage
22111
22134
  }), channel.lastReactedMessage && '"')))));
22112
22135
  };
22113
22136
  var Channel = function Channel(_ref3) {
@@ -22172,11 +22195,11 @@ var Channel = function Channel(_ref3) {
22172
22195
  draftMessage = _useState2[0],
22173
22196
  setDraftMessage = _useState2[1];
22174
22197
  var lastMessage = channel.lastReactedMessage || channel.lastMessage;
22175
- var lastMessageMetas = lastMessage && lastMessage.type === 'system' && lastMessage.metadata && (isJSON(lastMessage.metadata) ? JSON.parse(lastMessage.metadata) : lastMessage.metadata);
22198
+ var lastMessageMetas = lastMessage && lastMessage.type === exports.MESSAGE_TYPE.SYSTEM && lastMessage.metadata && (isJSON(lastMessage.metadata) ? JSON.parse(lastMessage.metadata) : lastMessage.metadata);
22176
22199
  var _useState3 = React.useState(0),
22177
22200
  statusWidth = _useState3[0],
22178
22201
  setStatusWidth = _useState3[1];
22179
- var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : '');
22202
+ var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : '');
22180
22203
  var messageAuthorRef = React.useRef(null);
22181
22204
  var messageTimeAndStatusRef = React.useRef(null);
22182
22205
  useUpdatePresence(channel, true);
@@ -22244,6 +22267,9 @@ var Channel = function Channel(_ref3) {
22244
22267
  })
22245
22268
  };
22246
22269
  }, [typingOrRecordingIndicator]);
22270
+ var unsupportedMessage = React.useMemo(function () {
22271
+ return (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.SYSTEM && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.TEXT && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.MEDIA && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.FILE && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.LINK && (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) !== exports.MESSAGE_TYPE.POLL;
22272
+ }, [lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type]);
22247
22273
  var MessageText = React.useMemo(function () {
22248
22274
  return /*#__PURE__*/React__default.createElement(ChannelMessageText, {
22249
22275
  isTypingOrRecording: (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping) || (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording),
@@ -22258,9 +22284,10 @@ var Channel = function Channel(_ref3) {
22258
22284
  textSecondary: textSecondary,
22259
22285
  draftMessageText: draftMessageText,
22260
22286
  lastMessage: draftMessage || lastMessage,
22261
- isDirectChannel: isDirectChannel
22287
+ isDirectChannel: isDirectChannel,
22288
+ unsupportedMessage: unsupportedMessage
22262
22289
  });
22263
- }, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel]);
22290
+ }, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel, unsupportedMessage]);
22264
22291
  var getCustomLatestMessageComponent = React.useCallback(function (_ref4) {
22265
22292
  var lastMessage = _ref4.lastMessage,
22266
22293
  typingOrRecording = _ref4.typingOrRecording,
@@ -22276,7 +22303,8 @@ var Channel = function Channel(_ref3) {
22276
22303
  getFromContacts = _ref4.getFromContacts,
22277
22304
  warningColor = _ref4.warningColor,
22278
22305
  user = _ref4.user,
22279
- MessageText = _ref4.MessageText;
22306
+ MessageText = _ref4.MessageText,
22307
+ unsupportedMessage = _ref4.unsupportedMessage;
22280
22308
  return getCustomLatestMessage && getCustomLatestMessage({
22281
22309
  lastMessage: lastMessage,
22282
22310
  typingOrRecording: typingOrRecording,
@@ -22292,9 +22320,10 @@ var Channel = function Channel(_ref3) {
22292
22320
  getFromContacts: getFromContacts,
22293
22321
  warningColor: warningColor,
22294
22322
  user: user,
22295
- MessageText: MessageText
22323
+ MessageText: MessageText,
22324
+ unsupportedMessage: unsupportedMessage
22296
22325
  });
22297
- }, [getCustomLatestMessage, lastMessage, typingOrRecording, draftMessageText, textSecondary, channel, channelLastMessageFontSize, channelLastMessageHeight, isDirectChannel, textPrimary, messageAuthorRef, contactsMap, getFromContacts, warningColor, user, MessageText]);
22326
+ }, [getCustomLatestMessage, lastMessage, typingOrRecording, draftMessageText, textSecondary, channel, channelLastMessageFontSize, channelLastMessageHeight, isDirectChannel, textPrimary, messageAuthorRef, contactsMap, getFromContacts, warningColor, user, MessageText, unsupportedMessage]);
22298
22327
  var isTypeValid = React.useCallback(function (type) {
22299
22328
  return !doNotShowMessageDeliveryTypes.includes(type);
22300
22329
  }, [doNotShowMessageDeliveryTypes]);
@@ -22332,7 +22361,7 @@ var Channel = function Channel(_ref3) {
22332
22361
  subjectLineHeight: channelSubjectLineHeight,
22333
22362
  subjectColor: channelSubjectColor || textPrimary,
22334
22363
  avatarSize: channelAvatarSize
22335
- }, /*#__PURE__*/React__default.createElement("h3", null, channel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap && contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? showPhoneNumber && (_channel$members = channel.members) !== null && _channel$members !== void 0 && _channel$members.length && (_channel$members$ = channel.members[0]) !== null && _channel$members$ !== void 0 && _channel$members$.id ? "+" + ((_channel$members$2 = channel.members[0]) === null || _channel$members$2 === void 0 ? void 0 : _channel$members$2.id) + " (You)" : 'Me' : '')), channel.muted && (/*#__PURE__*/React__default.createElement(MutedIcon, {
22364
+ }, /*#__PURE__*/React__default.createElement("h3", null, channel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap && contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? showPhoneNumber && (_channel$members = channel.members) !== null && _channel$members !== void 0 && _channel$members.length && (_channel$members$ = channel.members[0]) !== null && _channel$members$ !== void 0 && _channel$members$.id ? "+" + ((_channel$members$2 = channel.members[0]) === null || _channel$members$2 === void 0 ? void 0 : _channel$members$2.id) + " (You)" : showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : '')), channel.muted && (/*#__PURE__*/React__default.createElement(MutedIcon, {
22336
22365
  color: notificationsIsMutedIconColor || iconInactive
22337
22366
  }, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), getCustomLatestMessage ? getCustomLatestMessageComponent({
22338
22367
  lastMessage: lastMessage,
@@ -22349,7 +22378,8 @@ var Channel = function Channel(_ref3) {
22349
22378
  getFromContacts: getFromContacts,
22350
22379
  warningColor: warningColor,
22351
22380
  user: user,
22352
- MessageText: MessageText
22381
+ MessageText: MessageText,
22382
+ unsupportedMessage: unsupportedMessage
22353
22383
  }) : (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
22354
22384
  color: textSecondary,
22355
22385
  markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
@@ -22368,11 +22398,11 @@ var Channel = function Channel(_ref3) {
22368
22398
  }, makeUsername(contactsMap && contactsMap[item.from.id], item.from, getFromContacts, true), index < typingOrRecording.items.length - 1 && ', ');
22369
22399
  })))) : null : draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
22370
22400
  color: warningColor
22371
- }, "Draft")) : channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.newReactions[0].user && channel.newReactions[0].user.id === user.id || !isDirectChannel) && lastMessage.type !== 'system' && (/*#__PURE__*/React__default.createElement(LastMessageAuthor, {
22401
+ }, "Draft")) : channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.newReactions[0].user && channel.newReactions[0].user.id === user.id || !isDirectChannel) && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM && (/*#__PURE__*/React__default.createElement(LastMessageAuthor, {
22372
22402
  color: textPrimary
22373
22403
  }, /*#__PURE__*/React__default.createElement("span", {
22374
22404
  ref: messageAuthorRef
22375
- }, channel.newReactions[0].user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[channel.newReactions[0].user.id], channel.newReactions[0].user, getFromContacts, true)))) : lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (lastMessage.user && lastMessage.user.id === user.id || !isDirectChannel) && lastMessage.type !== 'system' && (/*#__PURE__*/React__default.createElement(LastMessageAuthor, {
22405
+ }, channel.newReactions[0].user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[channel.newReactions[0].user.id], channel.newReactions[0].user, getFromContacts, true)))) : lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (lastMessage.user && lastMessage.user.id === user.id || !isDirectChannel) && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM && (/*#__PURE__*/React__default.createElement(LastMessageAuthor, {
22376
22406
  color: textPrimary
22377
22407
  }, /*#__PURE__*/React__default.createElement("span", {
22378
22408
  ref: messageAuthorRef
@@ -25225,7 +25255,8 @@ function ChatHeader(_ref) {
25225
25255
  backButtonOrder = _ref.backButtonOrder,
25226
25256
  channelInfoOrder = _ref.channelInfoOrder,
25227
25257
  infoIconOrder = _ref.infoIconOrder,
25228
- customActionsOrder = _ref.customActionsOrder;
25258
+ customActionsOrder = _ref.customActionsOrder,
25259
+ showPhoneNumber = _ref.showPhoneNumber;
25229
25260
  var _useColor = useColors(),
25230
25261
  accentColor = _useColor[THEME_COLORS.ACCENT],
25231
25262
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -25289,7 +25320,7 @@ function ChatHeader(_ref) {
25289
25320
  order: channelInfoOrder
25290
25321
  }, /*#__PURE__*/React__default.createElement(AvatarWrapper, null, (activeChannel.subject || isDirectChannel && (directChannelUser || isSelfChannel)) && (/*#__PURE__*/React__default.createElement(Avatar, {
25291
25322
  borderRadius: avatarBorderRadius,
25292
- name: activeChannel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : ''),
25323
+ name: activeChannel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : ''),
25293
25324
  image: activeChannel.avatarUrl || (isDirectChannel && directChannelUser ? directChannelUser.avatarUrl : isSelfChannel ? user.avatarUrl : ''),
25294
25325
  size: avatarSize || 36,
25295
25326
  textSize: avatarTextSize || 13,
@@ -25300,7 +25331,7 @@ function ChatHeader(_ref) {
25300
25331
  fontSize: titleFontSize,
25301
25332
  uppercase: directChannelUser && hideUserPresence && hideUserPresence(directChannelUser),
25302
25333
  lineHeight: titleLineHeight
25303
- }, activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), showMemberInfo && !isSelfChannel && (isDirectChannel && directChannelUser ? (/*#__PURE__*/React__default.createElement(SubTitle, {
25334
+ }, activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : '')), showMemberInfo && !isSelfChannel && (isDirectChannel && directChannelUser ? (/*#__PURE__*/React__default.createElement(SubTitle, {
25304
25335
  fontSize: memberInfoFontSize,
25305
25336
  lineHeight: memberInfoLineHeight,
25306
25337
  color: memberInfoTextColor || textSecondary
@@ -27175,7 +27206,7 @@ var Message = function Message(_ref) {
27175
27206
  return /*#__PURE__*/React__default.createElement(Container$c, {
27176
27207
  ref: messageItemRef,
27177
27208
  marginTop: differentUserMessageSpacing || '16px',
27178
- marginBottom: nextMessage && nextMessage.type !== 'system' ? differentUserMessageSpacing || '16px' : '',
27209
+ marginBottom: nextMessage && nextMessage.type !== exports.MESSAGE_TYPE.SYSTEM ? differentUserMessageSpacing || '16px' : '',
27179
27210
  fontSize: fontSize,
27180
27211
  textColor: textColor || textOnPrimary,
27181
27212
  border: border,
@@ -31244,6 +31275,9 @@ var RepliedMessage = function RepliedMessage(_ref) {
31244
31275
  }
31245
31276
  return 0;
31246
31277
  }, [message.parentMessage.attachments, parentNotLinkAttachment, (_message$parentMessag = message.parentMessage.attachments[0]) === null || _message$parentMessag === void 0 ? void 0 : _message$parentMessag.type, message.parentMessage.attachments.length]);
31278
+ var unsupportedMessage = React.useMemo(function () {
31279
+ return message.parentMessage.type !== exports.MESSAGE_TYPE.SYSTEM && message.parentMessage.type !== exports.MESSAGE_TYPE.TEXT && message.parentMessage.type !== exports.MESSAGE_TYPE.MEDIA && message.parentMessage.type !== exports.MESSAGE_TYPE.FILE && message.parentMessage.type !== exports.MESSAGE_TYPE.LINK && message.parentMessage.type !== exports.MESSAGE_TYPE.POLL;
31280
+ }, [message.parentMessage.type]);
31247
31281
  return /*#__PURE__*/React__default.createElement(ReplyMessageContainer, {
31248
31282
  withSenderName: showMessageSenderName,
31249
31283
  withBody: !!message.body,
@@ -31297,7 +31331,8 @@ var RepliedMessage = function RepliedMessage(_ref) {
31297
31331
  getFromContacts: getFromContacts,
31298
31332
  asSampleText: true,
31299
31333
  accentColor: accentColor,
31300
- textSecondary: textSecondary
31334
+ textSecondary: textSecondary,
31335
+ unsupportedMessage: unsupportedMessage
31301
31336
  }) : parentNotLinkAttachment && (message.parentMessage.attachments[0].type === attachmentTypes.image ? 'Photo' : message.parentMessage.attachments[0].type === attachmentTypes.video ? 'Video' : message.parentMessage.attachments[0].type === attachmentTypes.voice ? ' Voice' : 'File'))));
31302
31337
  };
31303
31338
  var RepliedMessage$1 = /*#__PURE__*/React__default.memo(RepliedMessage, function (prevProps, nextProps) {
@@ -32705,7 +32740,8 @@ var MessageBody = function MessageBody(_ref) {
32705
32740
  handleCreateChat = _ref.handleCreateChat,
32706
32741
  messageTextRef = _ref.messageTextRef,
32707
32742
  handleOpenUserProfile = _ref.handleOpenUserProfile,
32708
- shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention;
32743
+ shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention,
32744
+ unsupportedMessage = _ref.unsupportedMessage;
32709
32745
  var _useColor = useColors(),
32710
32746
  accentColor = _useColor[THEME_COLORS.ACCENT],
32711
32747
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -32730,10 +32766,10 @@ var MessageBody = function MessageBody(_ref) {
32730
32766
  return moment(message.createdAt).startOf('day');
32731
32767
  }, [message.createdAt]);
32732
32768
  var firstMessageInInterval = React.useMemo(function () {
32733
- return !(prevMessage && current.diff(moment(prevMessage.createdAt).startOf('day'), 'days') === 0) || (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === 'system' || unreadMessageId === prevMessage.id;
32769
+ return !(prevMessage && current.diff(moment(prevMessage.createdAt).startOf('day'), 'days') === 0) || (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === exports.MESSAGE_TYPE.SYSTEM || unreadMessageId === prevMessage.id;
32734
32770
  }, [prevMessage, current, unreadMessageId]);
32735
32771
  var lastMessageInInterval = React.useMemo(function () {
32736
- return !(nextMessage && current.diff(moment(nextMessage.createdAt).startOf('day'), 'days') === 0) || nextMessage.type === 'system';
32772
+ return !(nextMessage && current.diff(moment(nextMessage.createdAt).startOf('day'), 'days') === 0) || nextMessage.type === exports.MESSAGE_TYPE.SYSTEM;
32737
32773
  }, [nextMessage, current]);
32738
32774
  var messageTimeVisible = React.useMemo(function () {
32739
32775
  return showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
@@ -32935,7 +32971,9 @@ var MessageBody = function MessageBody(_ref) {
32935
32971
  outgoingMessageStyles: outgoingMessageStyles,
32936
32972
  incomingMessageStyles: incomingMessageStyles,
32937
32973
  incoming: message.incoming,
32938
- linkColor: linkColor
32974
+ linkColor: linkColor,
32975
+ unsupportedMessage: unsupportedMessage,
32976
+ unsupportedMessageColor: textSecondary
32939
32977
  }, linkAttachment && (/*#__PURE__*/React__default.createElement(OGMetadata, {
32940
32978
  attachments: [linkAttachment],
32941
32979
  state: message.state,
@@ -32950,7 +32988,8 @@ var MessageBody = function MessageBody(_ref) {
32950
32988
  accentColor: accentColor,
32951
32989
  textSecondary: textSecondary,
32952
32990
  onMentionNameClick: handleOpenUserProfile,
32953
- shouldOpenUserProfileForMention: !!shouldOpenUserProfileForMention
32991
+ shouldOpenUserProfileForMention: !!shouldOpenUserProfileForMention,
32992
+ unsupportedMessage: unsupportedMessage
32954
32993
  })), !withAttachments && message.state === MESSAGE_STATUS.DELETE ? (/*#__PURE__*/React__default.createElement(MessageStatusDeleted$1, {
32955
32994
  color: textSecondary
32956
32995
  }, " Message was deleted. ")) : '', messageStatusAndTimePosition === 'onMessage' && !notLinkAttachment && (messageStatusVisible || messageTimeVisible) ? (/*#__PURE__*/React__default.createElement(MessageStatusAndTime$1, {
@@ -33724,7 +33763,7 @@ var Message$1 = function Message(_ref) {
33724
33763
  var messageUserID = message.user ? message.user.id : 'deleted';
33725
33764
  var prevMessageUserID = prevMessage ? prevMessage.user ? prevMessage.user.id : 'deleted' : null;
33726
33765
  var current = moment(message.createdAt).startOf('day');
33727
- var firstMessageInInterval = !(prevMessage && current.diff(moment(prevMessage.createdAt).startOf('day'), 'days') === 0) || (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === 'system' || unreadMessageId === prevMessage.id;
33766
+ var firstMessageInInterval = !(prevMessage && current.diff(moment(prevMessage.createdAt).startOf('day'), 'days') === 0) || (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === exports.MESSAGE_TYPE.SYSTEM || unreadMessageId === prevMessage.id;
33728
33767
  var messageTimeVisible = showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
33729
33768
  var messageStatusVisible = !message.incoming && showMessageStatus && message.state !== MESSAGE_STATUS.DELETE && (showMessageStatusForEachMessage || !nextMessage);
33730
33769
  var renderAvatar = (isUnreadMessage || prevMessageUserID !== messageUserID || firstMessageInInterval) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
@@ -33854,6 +33893,15 @@ var Message$1 = function Message(_ref) {
33854
33893
  })) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
33855
33894
  dispatch(markMessagesAsReadAC(channel.id, [message.id]));
33856
33895
  }
33896
+ if (!message.userMarkers.find(function (marker) {
33897
+ return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
33898
+ })) {
33899
+ if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
33900
+ return marker.name === MESSAGE_DELIVERY_STATUS.READ;
33901
+ })) {
33902
+ dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
33903
+ }
33904
+ }
33857
33905
  };
33858
33906
  var handleForwardMessage = function handleForwardMessage(channelIds) {
33859
33907
  if (channelIds && channelIds.length) {
@@ -33956,13 +34004,16 @@ var Message$1 = function Message(_ref) {
33956
34004
  handleOpenChannelDetails();
33957
34005
  }
33958
34006
  };
34007
+ var unsupportedMessage = React.useMemo(function () {
34008
+ return message.type !== exports.MESSAGE_TYPE.SYSTEM && message.type !== exports.MESSAGE_TYPE.POLL && message.type !== exports.MESSAGE_TYPE.FILE && message.type !== exports.MESSAGE_TYPE.LINK && message.type !== exports.MESSAGE_TYPE.MEDIA && message.type !== exports.MESSAGE_TYPE.TEXT;
34009
+ }, [message.type]);
33959
34010
  return /*#__PURE__*/React__default.createElement(MessageItem, {
33960
34011
  className: 'message_item',
33961
34012
  rtl: ownMessageOnRightSide && !message.incoming,
33962
34013
  withAvatar: renderAvatar,
33963
34014
  showOwnAvatar: showOwnAvatar,
33964
34015
  hoverBackground: hoverBackground ? message.incoming ? (incomingMessageStyles === null || incomingMessageStyles === void 0 ? void 0 : incomingMessageStyles.background) || bubbleIncoming : (outgoingMessageStyles === null || outgoingMessageStyles === void 0 ? void 0 : outgoingMessageStyles.background) || bubbleOutgoing : '',
33965
- topMargin: (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === 'system' ? '0' : prevMessage && unreadMessageId === prevMessage.id ? '16px' : prevMessageUserID !== messageUserID || firstMessageInInterval ? differentUserMessageSpacing || '16px' : sameUserMessageSpacing || '8px',
34016
+ topMargin: (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.type) === exports.MESSAGE_TYPE.SYSTEM ? '0' : prevMessage && unreadMessageId === prevMessage.id ? '16px' : prevMessageUserID !== messageUserID || firstMessageInInterval ? differentUserMessageSpacing || '16px' : sameUserMessageSpacing || '8px',
33966
34017
  bottomMargin: message.reactionTotals && message.reactionTotals.length ? reactionsContainerTopPosition : '',
33967
34018
  ref: messageItemRef,
33968
34019
  selectMessagesIsActive: selectionIsActive,
@@ -34026,7 +34077,8 @@ var Message$1 = function Message(_ref) {
34026
34077
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
34027
34078
  handleMediaItemClick: handleMediaItemClick,
34028
34079
  isThreadMessage: isThreadMessage,
34029
- handleOpenUserProfile: handleOpenUserProfile
34080
+ handleOpenUserProfile: handleOpenUserProfile,
34081
+ unsupportedMessage: unsupportedMessage
34030
34082
  })) : (/*#__PURE__*/React__default.createElement(MessageBody$1, {
34031
34083
  message: message,
34032
34084
  channel: channel,
@@ -34152,7 +34204,8 @@ var Message$1 = function Message(_ref) {
34152
34204
  messageTextRef: messageTextRef,
34153
34205
  messageTimeColorOnAttachment: messageTimeColorOnAttachment || textOnPrimary,
34154
34206
  handleOpenUserProfile: handleOpenUserProfile,
34155
- shouldOpenUserProfileForMention: shouldOpenUserProfileForMention
34207
+ shouldOpenUserProfileForMention: shouldOpenUserProfileForMention,
34208
+ unsupportedMessage: unsupportedMessage
34156
34209
  })), messageStatusAndTimePosition === 'bottomOfMessage' && (messageStatusVisible || messageTimeVisible) && (/*#__PURE__*/React__default.createElement(MessageStatusAndTime$1, {
34157
34210
  message: message,
34158
34211
  showMessageTimeAndStatusOnlyOnHover: showMessageTimeAndStatusOnlyOnHover,
@@ -34355,12 +34408,6 @@ var MessageItem = styled__default.div(_templateObject12$3 || (_templateObject12$
34355
34408
  return props.hoverBackground || '';
34356
34409
  }, HiddenMessageTime$1, MessageStatus$1);
34357
34410
 
34358
- var HiddenMessageProperty;
34359
- (function (HiddenMessageProperty) {
34360
- HiddenMessageProperty["hideAfterChannelChange"] = "hideAfterChannelChange";
34361
- HiddenMessageProperty["hideAfterSendMessage"] = "hideAfterSendMessage";
34362
- })(HiddenMessageProperty || (HiddenMessageProperty = {}));
34363
-
34364
34411
  var _templateObject$G, _templateObject2$B, _templateObject3$v, _templateObject4$r, _templateObject5$m, _templateObject6$j, _templateObject7$h, _templateObject8$g, _templateObject9$d, _templateObject0$c, _templateObject1$9;
34365
34412
  var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
34366
34413
  var lastIndex = _ref.lastIndex,
@@ -35213,7 +35260,7 @@ var MessageList = function MessageList(_ref2) {
35213
35260
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
35214
35261
  key: message.id || message.tid
35215
35262
  }, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
35216
- noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
35263
+ noMargin: !isUnreadMessage && prevMessage && prevMessage.type === exports.MESSAGE_TYPE.SYSTEM && message.type !== exports.MESSAGE_TYPE.SYSTEM,
35217
35264
  theme: theme,
35218
35265
  lastIndex: false,
35219
35266
  currentMessageDate: message.createdAt,
@@ -35225,9 +35272,9 @@ var MessageList = function MessageList(_ref2) {
35225
35272
  dateDividerBackgroundColor: dateDividerBackgroundColor,
35226
35273
  chatBackgroundColor: backgroundColor || themeBackgroundColor,
35227
35274
  dateDividerBorderRadius: dateDividerBorderRadius,
35228
- marginBottom: prevMessage && prevMessage.type === 'system' && message.type !== 'system' ? '16px' : '0',
35275
+ marginBottom: prevMessage && prevMessage.type === exports.MESSAGE_TYPE.SYSTEM && message.type !== exports.MESSAGE_TYPE.SYSTEM ? '16px' : '0',
35229
35276
  marginTop: differentUserMessageSpacing
35230
- }), message.type === 'system' ? (/*#__PURE__*/React__default.createElement(SystemMessage, {
35277
+ }), message.type === exports.MESSAGE_TYPE.SYSTEM ? (/*#__PURE__*/React__default.createElement(SystemMessage, {
35231
35278
  key: message.id || message.tid,
35232
35279
  channel: channel,
35233
35280
  message: message,
@@ -35391,8 +35438,8 @@ var MessageList = function MessageList(_ref2) {
35391
35438
  newMessagesSeparatorLeftRightSpaceWidth: newMessagesSeparatorTextLeftRightSpacesWidth,
35392
35439
  newMessagesSeparatorSpaceColor: newMessagesSeparatorSpaceColor,
35393
35440
  dividerText: newMessagesSeparatorText || 'Unread Messages',
35394
- marginTop: message.type === 'system' ? '0px' : '',
35395
- marginBottom: message.type === 'system' ? '16px' : '0',
35441
+ marginTop: message.type === exports.MESSAGE_TYPE.SYSTEM ? '0px' : '',
35442
+ marginBottom: message.type === exports.MESSAGE_TYPE.SYSTEM ? '16px' : '0',
35396
35443
  chatBackgroundColor: backgroundColor || themeBackgroundColor,
35397
35444
  unread: true
35398
35445
  })) : null);
@@ -39825,6 +39872,41 @@ var CloseIconWrapper = styled__default.span(_templateObject34$1 || (_templateObj
39825
39872
  return props.color;
39826
39873
  });
39827
39874
 
39875
+ var copyToClipboard = function copyToClipboard(text) {
39876
+ try {
39877
+ var _temp2 = function _temp2(_result2) {
39878
+ if (_exit) return _result2;
39879
+ try {
39880
+ if (typeof document !== 'undefined') {
39881
+ var textarea = document.createElement('textarea');
39882
+ textarea.value = text;
39883
+ textarea.style.position = 'fixed';
39884
+ textarea.style.left = '-9999px';
39885
+ document.body.appendChild(textarea);
39886
+ textarea.focus();
39887
+ textarea.select();
39888
+ var successful = document.execCommand('copy');
39889
+ document.body.removeChild(textarea);
39890
+ return successful;
39891
+ }
39892
+ } catch (e) {}
39893
+ return false;
39894
+ };
39895
+ var _exit = false;
39896
+ var _temp = _catch(function () {
39897
+ if (typeof navigator !== 'undefined' && navigator.clipboard && navigator.clipboard.writeText) {
39898
+ return Promise.resolve(navigator.clipboard.writeText(text)).then(function () {
39899
+ _exit = true;
39900
+ return true;
39901
+ });
39902
+ }
39903
+ }, function () {});
39904
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
39905
+ } catch (e) {
39906
+ return Promise.reject(e);
39907
+ }
39908
+ };
39909
+
39828
39910
  var _path$1e;
39829
39911
  function _extends$1i() {
39830
39912
  return _extends$1i = Object.assign ? Object.assign.bind() : function (n) {
@@ -40724,9 +40806,7 @@ var _templateObject$P, _templateObject2$K, _templateObject3$D, _templateObject4$
40724
40806
  function InviteLinkModal(_ref) {
40725
40807
  var _getInviteLinkOptions, _tabs$link, _tabs$qr, _tabs$link2, _tabs$qr2;
40726
40808
  var onClose = _ref.onClose,
40727
- link = _ref.link,
40728
- onReset = _ref.onReset,
40729
- SVGLogoIcon = _ref.SVGLogoIcon,
40809
+ SVGOrPNGLogoIcon = _ref.SVGOrPNGLogoIcon,
40730
40810
  channelId = _ref.channelId;
40731
40811
  var _useColor = useColors(),
40732
40812
  accentColor = _useColor[THEME_COLORS.ACCENT],
@@ -40781,6 +40861,7 @@ function InviteLinkModal(_ref) {
40781
40861
  var _useState4 = React.useState('link'),
40782
40862
  shareMode = _useState4[0],
40783
40863
  setShareMode = _useState4[1];
40864
+ var logoRef = React.useRef(null);
40784
40865
  var handleCopy = function handleCopy() {
40785
40866
  try {
40786
40867
  var _temp = _catch(function () {
@@ -40806,7 +40887,6 @@ function InviteLinkModal(_ref) {
40806
40887
  setOpenForwardPopup(false);
40807
40888
  return Promise.resolve();
40808
40889
  }
40809
- var qrImageUrl = "https://api.qrserver.com/v1/create-qr-code/?data=" + encodeURIComponent(inviteUrl) + "&size=200x200&ecc=H&margin=12&color=000000&bgcolor=FFFFFF";
40810
40890
  setOpenForwardPopup(false);
40811
40891
  return Promise.resolve(_forOf(channelIds, function (channelId) {
40812
40892
  var channel = getChannelFromMap(channelId);
@@ -40824,51 +40904,162 @@ function InviteLinkModal(_ref) {
40824
40904
  dispatch(forwardMessageAC(message, channelId, connectionStatus, false));
40825
40905
  } else {
40826
40906
  var _temp2 = _catch(function () {
40827
- return Promise.resolve(fetch(qrImageUrl)).then(function (resp) {
40828
- return Promise.resolve(resp.blob()).then(function (blob) {
40829
- var file = new File([blob], 'invite-qr.png', {
40830
- type: 'image/png'
40907
+ var toPngBlob = function toPngBlob() {
40908
+ try {
40909
+ var dpr = 4;
40910
+ var baseQrSize = 200;
40911
+ var qrSize = baseQrSize * dpr;
40912
+ var qrUrl = "https://api.qrserver.com/v1/create-qr-code/?data=" + encodeURIComponent(inviteUrl) + "&size=" + qrSize + "x" + qrSize + "&ecc=H&margin=32&color=000000&bgcolor=FFFFFF";
40913
+ return Promise.resolve(fetch(qrUrl, {
40914
+ cache: 'no-store'
40915
+ })).then(function (qrResp) {
40916
+ return Promise.resolve(qrResp.blob()).then(function (qrBlob) {
40917
+ var qrObjectUrl = URL.createObjectURL(qrBlob);
40918
+ var boxWidth = qrSize;
40919
+ var boxHeight = qrSize;
40920
+ var canvas = document.createElement('canvas');
40921
+ canvas.width = boxWidth;
40922
+ canvas.height = boxHeight;
40923
+ var ctx = canvas.getContext('2d');
40924
+ var img = new Image();
40925
+ img.src = qrObjectUrl;
40926
+ return Promise.resolve(new Promise(function (resolve, reject) {
40927
+ img.onload = function () {
40928
+ return resolve(null);
40929
+ };
40930
+ img.onerror = reject;
40931
+ })).then(function () {
40932
+ var _logoRef$current;
40933
+ function _temp6() {
40934
+ URL.revokeObjectURL(qrObjectUrl);
40935
+ return Promise.resolve(new Promise(function (resolve) {
40936
+ return canvas.toBlob(function (b) {
40937
+ return resolve(b);
40938
+ }, 'image/png');
40939
+ }));
40940
+ }
40941
+ ctx.imageSmoothingEnabled = false;
40942
+ ctx.drawImage(img, 0, 0, qrSize, qrSize);
40943
+ var overlaySize = qrSize * 22 / 100;
40944
+ var overlayX = (boxWidth - overlaySize) / 2;
40945
+ var overlayY = (boxHeight - overlaySize) / 2;
40946
+ var roundedPath = function roundedPath(x, y, w, h, r) {
40947
+ ctx.beginPath();
40948
+ ctx.moveTo(x + r, y);
40949
+ ctx.lineTo(x + w - r, y);
40950
+ ctx.quadraticCurveTo(x + w, y, x + w, y + r);
40951
+ ctx.lineTo(x + w, y + h - r);
40952
+ ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h);
40953
+ ctx.lineTo(x + r, y + h);
40954
+ ctx.quadraticCurveTo(x, y + h, x, y + h - r);
40955
+ ctx.lineTo(x, y + r);
40956
+ ctx.quadraticCurveTo(x, y, x + r, y);
40957
+ ctx.closePath();
40958
+ };
40959
+ var cornerRadius = 8 * dpr;
40960
+ var imgElement = (_logoRef$current = logoRef.current) === null || _logoRef$current === void 0 ? void 0 : _logoRef$current.querySelector('img');
40961
+ var _temp5 = function () {
40962
+ if (imgElement && (imgElement.currentSrc || imgElement.src)) {
40963
+ var logoUrl = imgElement.currentSrc || imgElement.src;
40964
+ var logoImg = new Image();
40965
+ logoImg.src = logoUrl;
40966
+ return Promise.resolve(new Promise(function (resolve, reject) {
40967
+ logoImg.onload = function () {
40968
+ return resolve(null);
40969
+ };
40970
+ logoImg.onerror = reject;
40971
+ })).then(function () {
40972
+ ctx.save();
40973
+ roundedPath(overlayX, overlayY, overlaySize, overlaySize, cornerRadius);
40974
+ ctx.clip();
40975
+ ctx.drawImage(logoImg, overlayX, overlayY, overlaySize, overlaySize);
40976
+ ctx.restore();
40977
+ });
40978
+ } else {
40979
+ var _logoRef$current2;
40980
+ var svgElement = (_logoRef$current2 = logoRef.current) === null || _logoRef$current2 === void 0 ? void 0 : _logoRef$current2.querySelector('svg');
40981
+ var _temp4 = function () {
40982
+ if (svgElement) {
40983
+ var serializer = new XMLSerializer();
40984
+ var svgString = serializer.serializeToString(svgElement);
40985
+ if (!/^<svg[^>]+xmlns=/.test(svgString)) {
40986
+ svgString = svgString.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
40987
+ }
40988
+ var svgBlob = new Blob([svgString], {
40989
+ type: 'image/svg+xml;charset=utf-8'
40990
+ });
40991
+ var svgUrl = URL.createObjectURL(svgBlob);
40992
+ var _logoImg = new Image();
40993
+ _logoImg.src = svgUrl;
40994
+ return Promise.resolve(new Promise(function (resolve, reject) {
40995
+ _logoImg.onload = function () {
40996
+ return resolve(null);
40997
+ };
40998
+ _logoImg.onerror = reject;
40999
+ })).then(function () {
41000
+ ctx.save();
41001
+ roundedPath(overlayX, overlayY, overlaySize, overlaySize, cornerRadius);
41002
+ ctx.clip();
41003
+ ctx.drawImage(_logoImg, overlayX, overlayY, overlaySize, overlaySize);
41004
+ ctx.restore();
41005
+ URL.revokeObjectURL(svgUrl);
41006
+ });
41007
+ }
41008
+ }();
41009
+ if (_temp4 && _temp4.then) return _temp4.then(function () {});
41010
+ }
41011
+ }();
41012
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
41013
+ });
41014
+ });
40831
41015
  });
40832
- var localUrl = URL.createObjectURL(file);
40833
- var message = {
40834
- metadata: '',
40835
- body: '',
40836
- mentionedUsers: [],
40837
- type: 'text',
40838
- attachments: [{
40839
- name: 'invite-qr.png',
40840
- data: file,
40841
- upload: false,
40842
- type: "" + file.type,
40843
- url: {
40844
- type: "" + file.type,
40845
- data: file
40846
- },
40847
- createdAt: new Date(),
40848
- progress: 0,
40849
- completion: 0,
40850
- messageId: '',
40851
- size: file.size,
40852
- attachmentUrl: localUrl
40853
- }]
40854
- };
40855
- return Promise.resolve(handleUploadAttachments([{
41016
+ } catch (e) {
41017
+ return Promise.reject(e);
41018
+ }
41019
+ };
41020
+ return Promise.resolve(toPngBlob()).then(function (blob) {
41021
+ var file = new File([blob], 'invite-qr.png', {
41022
+ type: 'image/png'
41023
+ });
41024
+ var localUrl = URL.createObjectURL(file);
41025
+ var message = {
41026
+ metadata: '',
41027
+ body: '',
41028
+ mentionedUsers: [],
41029
+ type: 'text',
41030
+ attachments: [{
40856
41031
  name: 'invite-qr.png',
40857
41032
  data: file,
40858
41033
  upload: false,
40859
- type: attachmentTypes.image,
40860
- url: file,
41034
+ type: "" + file.type,
41035
+ url: {
41036
+ type: "" + file.type,
41037
+ data: file
41038
+ },
40861
41039
  createdAt: new Date(),
40862
41040
  progress: 0,
40863
41041
  completion: 0,
40864
41042
  messageId: '',
40865
41043
  size: file.size,
40866
41044
  attachmentUrl: localUrl
40867
- }], message, channel)).then(function (attachmentsToSend) {
40868
- dispatch(forwardMessageAC(_extends({}, message, {
40869
- attachments: attachmentsToSend
40870
- }), channelId, connectionStatus, false));
40871
- });
41045
+ }]
41046
+ };
41047
+ return Promise.resolve(handleUploadAttachments([{
41048
+ name: 'invite-qr.png',
41049
+ data: file,
41050
+ upload: false,
41051
+ type: attachmentTypes.image,
41052
+ url: file,
41053
+ createdAt: new Date(),
41054
+ progress: 0,
41055
+ completion: 0,
41056
+ messageId: '',
41057
+ size: file.size,
41058
+ attachmentUrl: localUrl
41059
+ }], message, channel)).then(function (attachmentsToSend) {
41060
+ dispatch(forwardMessageAC(_extends({}, message, {
41061
+ attachments: attachmentsToSend
41062
+ }), channelId, connectionStatus, false));
40872
41063
  });
40873
41064
  });
40874
41065
  }, function (e) {
@@ -40900,7 +41091,6 @@ function InviteLinkModal(_ref) {
40900
41091
  var _channelInviteKeys$;
40901
41092
  setShowResetConfirm(false);
40902
41093
  dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || ''));
40903
- if (onReset) onReset();
40904
41094
  };
40905
41095
  React.useEffect(function () {
40906
41096
  if (channelId) {
@@ -40914,8 +41104,8 @@ function InviteLinkModal(_ref) {
40914
41104
  return (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : channelInviteKeys[0]) || null;
40915
41105
  }, [channelInviteKeys]);
40916
41106
  var inviteUrl = React.useMemo(function () {
40917
- return link || getBaseUrlForInviteMembers() + "/" + ((inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '');
40918
- }, [link, inviteKey]);
41107
+ return getBaseUrlForInviteMembers() + "/" + ((inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '');
41108
+ }, [inviteKey]);
40919
41109
  var handleShowPreviousMessages = function handleShowPreviousMessages() {
40920
41110
  dispatch(updateChannelInviteKeyAC(channelId, (inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '', !(inviteKey !== null && inviteKey !== void 0 && inviteKey.accessPriorHistory) || false));
40921
41111
  };
@@ -41026,11 +41216,13 @@ function InviteLinkModal(_ref) {
41026
41216
  borderColor: border,
41027
41217
  backgroundColor: surface1
41028
41218
  }, /*#__PURE__*/React__default.createElement("img", {
41029
- src: "https://api.qrserver.com/v1/create-qr-code/?data=" + encodeURIComponent(inviteUrl) + "&size=200x200&ecc=H&margin=12&color=000000&bgcolor=FFFFFF",
41219
+ src: "https://api.qrserver.com/v1/create-qr-code/?data=" + encodeURIComponent(inviteUrl) + "&size=200x200&ecc=H&margin=12&color=000000&bgcolor=FFFFFF&format=png",
41030
41220
  alt: 'Invite QR',
41031
41221
  width: 200,
41032
41222
  height: 200
41033
- }), /*#__PURE__*/React__default.createElement(LogoIconCont, null, SVGLogoIcon)), /*#__PURE__*/React__default.createElement(QrHint, {
41223
+ }), /*#__PURE__*/React__default.createElement(LogoIconCont, {
41224
+ ref: logoRef
41225
+ }, SVGOrPNGLogoIcon)), /*#__PURE__*/React__default.createElement(QrHint, {
41034
41226
  color: textSecondary
41035
41227
  }, qrHintText)))), /*#__PURE__*/React__default.createElement(PopupFooter, {
41036
41228
  backgroundColor: surface1
@@ -41059,7 +41251,7 @@ function InviteLinkModal(_ref) {
41059
41251
  handleForward: handleForwardChannels
41060
41252
  })));
41061
41253
  }
41062
- var LogoIconCont = styled__default.div(_templateObject$P || (_templateObject$P = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: calc(50% - 18px);\n left: calc(50% - 18px);\n width: 36px;\n height: 36px;\n border-radius: 10px;\n background-color: #ffffff;\n align-items: center;\n justify-content: center;\n display: flex;\n padding: 6px;\n"])));
41254
+ var LogoIconCont = styled__default.div(_templateObject$P || (_templateObject$P = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: calc(50% - 11%);\n left: calc(50% - 11%);\n width: 22%;\n height: 22%;\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 10px;\n }\n svg {\n width: 100%;\n height: 100%;\n object-fit: contain;\n border-radius: 10px;\n }\n"])));
41063
41255
  var Tabs$1 = styled__default.div(_templateObject2$K || (_templateObject2$K = _taggedTemplateLiteralLoose(["\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n border-radius: 10px;\n background-color: ", ";\n padding: 2px;\n margin: 4px 0 16px;\n border: 1px solid ", ";\n"])), function (p) {
41064
41256
  return p.backgroundColor;
41065
41257
  }, function (p) {
@@ -41424,7 +41616,7 @@ var Members = function Members(_ref) {
41424
41616
  onClose: function onClose() {
41425
41617
  return setOpenInviteModal(false);
41426
41618
  },
41427
- SVGLogoIcon: QRCodeIcon,
41619
+ SVGOrPNGLogoIcon: QRCodeIcon,
41428
41620
  channelId: channel.id
41429
41621
  })));
41430
41622
  };
@@ -42485,7 +42677,7 @@ var EditChannel = function EditChannel(_ref) {
42485
42677
  })));
42486
42678
  };
42487
42679
 
42488
- var _templateObject$Z, _templateObject2$S, _templateObject3$J, _templateObject4$D, _templateObject5$x, _templateObject6$s, _templateObject7$q, _templateObject8$o, _templateObject9$i, _templateObject0$g, _templateObject1$d, _templateObject10$8;
42680
+ var _templateObject$Z, _templateObject2$S, _templateObject3$J, _templateObject4$D, _templateObject5$x, _templateObject6$s, _templateObject7$q, _templateObject8$o, _templateObject9$i, _templateObject0$g, _templateObject1$d, _templateObject10$8, _templateObject11$8, _templateObject12$7;
42489
42681
  var Details = function Details(_ref) {
42490
42682
  var _activeChannel$member;
42491
42683
  var detailsTitleText = _ref.detailsTitleText,
@@ -42610,7 +42802,9 @@ var Details = function Details(_ref) {
42610
42802
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
42611
42803
  borderThemeColor = _useColor[THEME_COLORS.BORDER],
42612
42804
  textFootnote = _useColor[THEME_COLORS.TEXT_FOOTNOTE],
42613
- surface2 = _useColor[THEME_COLORS.SURFACE_2];
42805
+ surface2 = _useColor[THEME_COLORS.SURFACE_2],
42806
+ tooltipBackground = _useColor[THEME_COLORS.TOOLTIP_BACKGROUND],
42807
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
42614
42808
  var dispatch = useDispatch();
42615
42809
  var ChatClient = getClient();
42616
42810
  var user = ChatClient.user;
@@ -42642,6 +42836,10 @@ var Details = function Details(_ref) {
42642
42836
  var detailsRef = React.useRef(null);
42643
42837
  var detailsHeaderRef = React.useRef(null);
42644
42838
  var openTimeOut = React.useRef(null);
42839
+ var copiedPhoneTimerRef = React.useRef(null);
42840
+ var _useState6 = React.useState(false),
42841
+ copiedPhone = _useState6[0],
42842
+ setCopiedPhone = _useState6[1];
42645
42843
  var isDirectChannel = activeChannel && activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
42646
42844
  var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
42647
42845
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
@@ -42675,6 +42873,13 @@ var Details = function Details(_ref) {
42675
42873
  setChannelDetailsHeight(detailsContainer.offsetHeight);
42676
42874
  }
42677
42875
  }, []);
42876
+ React.useEffect(function () {
42877
+ return function () {
42878
+ if (copiedPhoneTimerRef.current) {
42879
+ clearTimeout(copiedPhoneTimerRef.current);
42880
+ }
42881
+ };
42882
+ }, []);
42678
42883
  var handleTabChange = function handleTabChange() {
42679
42884
  if (detailsRef.current && detailsHeaderRef.current) {
42680
42885
  detailsRef.current.scrollTo({
@@ -42683,6 +42888,27 @@ var Details = function Details(_ref) {
42683
42888
  });
42684
42889
  }
42685
42890
  };
42891
+ var handleCopyPhoneNumber = function handleCopyPhoneNumber() {
42892
+ try {
42893
+ var _temp = function () {
42894
+ if (directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id) {
42895
+ var value = "+" + directChannelUser.id;
42896
+ return Promise.resolve(copyToClipboard(value)).then(function () {
42897
+ setCopiedPhone(true);
42898
+ if (copiedPhoneTimerRef.current) {
42899
+ clearTimeout(copiedPhoneTimerRef.current);
42900
+ }
42901
+ copiedPhoneTimerRef.current = setTimeout(function () {
42902
+ return setCopiedPhone(false);
42903
+ }, 1200);
42904
+ });
42905
+ }
42906
+ }();
42907
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
42908
+ } catch (e) {
42909
+ return Promise.reject(e);
42910
+ }
42911
+ };
42686
42912
  return /*#__PURE__*/React__default.createElement(Container$t, {
42687
42913
  backgroundColor: backgroundColor,
42688
42914
  mounted: mounted,
@@ -42735,7 +42961,7 @@ var Details = function Details(_ref) {
42735
42961
  direction: avatarAndNameDirection
42736
42962
  }, /*#__PURE__*/React__default.createElement(Avatar, {
42737
42963
  image: activeChannel && activeChannel.avatarUrl || directChannelUser && directChannelUser.avatarUrl || isSelfChannel && user.avatarUrl,
42738
- name: activeChannel && activeChannel.subject || directChannelUser && (directChannelUser.firstName || directChannelUser.id) || isSelfChannel && 'Me',
42964
+ name: activeChannel && activeChannel.subject || directChannelUser && (directChannelUser.firstName || directChannelUser.id) || (isSelfChannel && showPhoneNumber ? "+" + user.id + " (You)" : 'Me'),
42739
42965
  size: channelAvatarSize || 72,
42740
42966
  textSize: channelAvatarTextSize || 26,
42741
42967
  setDefaultAvatar: isDirectChannel
@@ -42747,7 +42973,7 @@ var Details = function Details(_ref) {
42747
42973
  fontSize: channelNameFontSize,
42748
42974
  lineHeight: channelNameLineHeight,
42749
42975
  color: textPrimary
42750
- }, activeChannel && activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), !isDirectChannel && checkActionPermission('updateChannel') && (/*#__PURE__*/React__default.createElement(EditButton, {
42976
+ }, activeChannel && activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : '')), !isDirectChannel && checkActionPermission('updateChannel') && (/*#__PURE__*/React__default.createElement(EditButton, {
42751
42977
  topPosition: channelEditIconTopPosition,
42752
42978
  rightPosition: channelEditIconRightPosition,
42753
42979
  onClick: function onClick() {
@@ -42757,7 +42983,14 @@ var Details = function Details(_ref) {
42757
42983
  color: textSecondary,
42758
42984
  fontSize: channelMembersFontSize,
42759
42985
  lineHeight: channelMembersLineHeight
42760
- }, showPhoneNumber && directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id ? "+" + (directChannelUser === null || directChannelUser === void 0 ? void 0 : directChannelUser.id) : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
42986
+ }, showPhoneNumber && directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id ? (/*#__PURE__*/React__default.createElement(PhoneNumberContainer, {
42987
+ onClick: handleCopyPhoneNumber,
42988
+ role: 'button',
42989
+ "aria-label": 'Copy phone number'
42990
+ }, "+" + directChannelUser.id, copiedPhone && (/*#__PURE__*/React__default.createElement(CopiedTooltip, {
42991
+ background: tooltipBackground,
42992
+ color: textOnPrimary
42993
+ }, "Copied")))) : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
42761
42994
  color: textSecondary,
42762
42995
  fontSize: channelMembersFontSize,
42763
42996
  lineHeight: channelMembersLineHeight
@@ -42922,6 +43155,12 @@ var ChannelName$1 = styled__default(SectionHeader)(_templateObject0$g || (_templ
42922
43155
  });
42923
43156
  var ChannelNameWrapper = styled__default.div(_templateObject1$d || (_templateObject1$d = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
42924
43157
  var EditButton = styled__default.span(_templateObject10$8 || (_templateObject10$8 = _taggedTemplateLiteralLoose(["\n margin-left: 6px;\n cursor: pointer;\n color: #b2b6be;\n"])));
43158
+ var PhoneNumberContainer = styled__default.span(_templateObject11$8 || (_templateObject11$8 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: text;\n"])));
43159
+ var CopiedTooltip = styled__default.span(_templateObject12$7 || (_templateObject12$7 = _taggedTemplateLiteralLoose(["\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n bottom: calc(100% + 6px);\n padding: 4px 8px;\n border-radius: 6px;\n background: ", ";\n color: ", ";\n font-size: 12px;\n line-height: 14px;\n white-space: nowrap;\n pointer-events: none;\n z-index: 10;\n"])), function (props) {
43160
+ return props.background;
43161
+ }, function (props) {
43162
+ return props.color;
43163
+ });
42925
43164
 
42926
43165
  var _templateObject$_;
42927
43166
  var ChannelDetailsContainer = function ChannelDetailsContainer(_ref) {