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

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
@@ -12760,7 +12760,7 @@ function SvgSearch(props) {
12760
12760
  })));
12761
12761
  }
12762
12762
 
12763
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0, _templateObject1, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40;
12763
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0, _templateObject1, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41;
12764
12764
  function md5(inputString) {
12765
12765
  var hc = '0123456789abcdef';
12766
12766
  function rh(n) {
@@ -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) {
@@ -13254,6 +13256,11 @@ var AttachmentPreviewTitle = styled__default.span(_templateObject40 || (_templat
13254
13256
  }, function (props) {
13255
13257
  return props.color;
13256
13258
  });
13259
+ var CopiedTooltip = styled__default.span(_templateObject41 || (_templateObject41 = _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 font-size: 12px;\n line-height: 14px;\n white-space: nowrap;\n pointer-events: none;\n z-index: 10;\n animation: slideDownFadeIn 0.3s ease-out;\n background-color: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);\n\n @keyframes slideDownFadeIn {\n from {\n transform: translateX(-50%) translateY(8px);\n opacity: 0;\n }\n to {\n transform: translateX(-50%) translateY(0);\n opacity: 1;\n }\n }\n"])), function (p) {
13260
+ return p.background;
13261
+ }, function (p) {
13262
+ return p.color;
13263
+ });
13257
13264
 
13258
13265
  var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1;
13259
13266
  var StatusText = styled__default.span(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose(["\n color: ", ";\n font-weight: 400;\n font-size: ", ";\n"])), function (props) {
@@ -13330,7 +13337,10 @@ var MessageStatusIcon = function MessageStatusIcon(_ref) {
13330
13337
  });
13331
13338
  }
13332
13339
  };
13333
- var linkifyTextPart = function linkifyTextPart(textPart, match) {
13340
+ var linkifyTextPart = function linkifyTextPart(textPart, match, target) {
13341
+ if (target === void 0) {
13342
+ target = '_blank';
13343
+ }
13334
13344
  var newMessageText;
13335
13345
  var prevMatchEnd = 0;
13336
13346
  var lastFoundIndex = 0;
@@ -13342,7 +13352,7 @@ var linkifyTextPart = function linkifyTextPart(textPart, match) {
13342
13352
  draggable: false,
13343
13353
  key: index,
13344
13354
  href: matchItem.url,
13345
- target: '_blank',
13355
+ target: target,
13346
13356
  rel: 'noreferrer'
13347
13357
  }, "" + matchItem.text)];
13348
13358
  } else {
@@ -13350,7 +13360,7 @@ var linkifyTextPart = function linkifyTextPart(textPart, match) {
13350
13360
  draggable: false,
13351
13361
  key: index,
13352
13362
  href: matchItem.url,
13353
- target: '_blank',
13363
+ target: target,
13354
13364
  rel: 'noreferrer'
13355
13365
  }, "" + matchItem.text));
13356
13366
  }
@@ -13371,11 +13381,17 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
13371
13381
  accentColor = _ref2.accentColor,
13372
13382
  textSecondary = _ref2.textSecondary,
13373
13383
  onMentionNameClick = _ref2.onMentionNameClick,
13374
- shouldOpenUserProfileForMention = _ref2.shouldOpenUserProfileForMention;
13384
+ shouldOpenUserProfileForMention = _ref2.shouldOpenUserProfileForMention,
13385
+ unsupportedMessage = _ref2.unsupportedMessage,
13386
+ _ref2$target = _ref2.target,
13387
+ target = _ref2$target === void 0 ? '_blank' : _ref2$target;
13375
13388
  try {
13376
13389
  var messageText = [];
13377
13390
  var linkify = new LinkifyIt();
13378
13391
  var messageBodyAttributes = message.bodyAttributes && JSON.parse(JSON.stringify(message.bodyAttributes));
13392
+ if (unsupportedMessage) {
13393
+ return 'This message is not supported. Update your app to view this message.';
13394
+ }
13379
13395
  if (message.body && messageBodyAttributes && messageBodyAttributes.length > 0) {
13380
13396
  var combinedAttributesList = combineMessageAttributes(messageBodyAttributes);
13381
13397
  var textPart = text;
@@ -13386,12 +13402,12 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
13386
13402
  var firstPart = "" + (textPart ? textPart === null || textPart === void 0 ? void 0 : textPart.substring(nextPartIndex || 0, attributeOffset) : '');
13387
13403
  var firstPartMatch = firstPart ? linkify.match(firstPart) : '';
13388
13404
  if (!isLastMessage && !asSampleText && firstPartMatch) {
13389
- firstPart = linkifyTextPart(firstPart, firstPartMatch);
13405
+ firstPart = linkifyTextPart(firstPart, firstPartMatch, target);
13390
13406
  }
13391
13407
  var secondPart = "" + (textPart ? textPart === null || textPart === void 0 ? void 0 : textPart.substring(attributeOffset + attribute.length) : '');
13392
13408
  var secondPartMatch = secondPart ? linkify.match(secondPart) : '';
13393
13409
  if (!isLastMessage && !asSampleText && secondPartMatch) {
13394
- secondPart = linkifyTextPart(secondPart, secondPartMatch);
13410
+ secondPart = linkifyTextPart(secondPart, secondPartMatch, target);
13395
13411
  }
13396
13412
  if (attribute.type.includes('mention')) {
13397
13413
  var mentionDisplay = message.mentionedUsers && message.mentionedUsers.find(function (men) {
@@ -13460,7 +13476,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
13460
13476
  } else {
13461
13477
  var match = linkify.match(text);
13462
13478
  if (!isLastMessage && !asSampleText && match) {
13463
- messageText = linkifyTextPart(text, match);
13479
+ messageText = linkifyTextPart(text, match, target);
13464
13480
  }
13465
13481
  }
13466
13482
  return messageText.length > 1 ? asSampleText ? messageText.join('') : messageText : text;
@@ -15397,7 +15413,7 @@ function searchChannels(action) {
15397
15413
  contactsWithChannelsMap[directChannelUser.id] = true;
15398
15414
  }
15399
15415
  var userName = makeUsername(directChannelUser && contactsMap[directChannelUser.id], directChannelUser, getFromContacts).toLowerCase();
15400
- if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy)) {
15416
+ if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy) || isSelfChannel && 'you'.includes(lowerCaseSearchBy)) {
15401
15417
  chatsGroups.push(channel);
15402
15418
  }
15403
15419
  } else {
@@ -15584,7 +15600,7 @@ function searchChannelsForForward(action) {
15584
15600
  _contactsWithChannelsMap[directChannelUser.id] = true;
15585
15601
  }
15586
15602
  var userName = makeUsername(directChannelUser && _contactsMap[directChannelUser.id], directChannelUser, _getFromContacts).toLowerCase();
15587
- if (userName.includes(_lowerCaseSearchBy) || isSelfChannel && 'me'.includes(_lowerCaseSearchBy)) {
15603
+ if (userName.includes(_lowerCaseSearchBy) || isSelfChannel && 'me'.includes(_lowerCaseSearchBy) || isSelfChannel && 'you'.includes(_lowerCaseSearchBy)) {
15588
15604
  _chatsGroups.push(channel);
15589
15605
  }
15590
15606
  } else {
@@ -17722,6 +17738,20 @@ var getFrame = function getFrame(videoSrc, time) {
17722
17738
  }
17723
17739
  };
17724
17740
 
17741
+ var HiddenMessageProperty;
17742
+ (function (HiddenMessageProperty) {
17743
+ HiddenMessageProperty["hideAfterChannelChange"] = "hideAfterChannelChange";
17744
+ HiddenMessageProperty["hideAfterSendMessage"] = "hideAfterSendMessage";
17745
+ })(HiddenMessageProperty || (HiddenMessageProperty = {}));
17746
+ (function (MESSAGE_TYPE) {
17747
+ MESSAGE_TYPE["TEXT"] = "text";
17748
+ MESSAGE_TYPE["MEDIA"] = "media";
17749
+ MESSAGE_TYPE["SYSTEM"] = "system";
17750
+ MESSAGE_TYPE["LINK"] = "link";
17751
+ MESSAGE_TYPE["FILE"] = "file";
17752
+ MESSAGE_TYPE["POLL"] = "poll";
17753
+ })(exports.MESSAGE_TYPE || (exports.MESSAGE_TYPE = {}));
17754
+
17725
17755
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
17726
17756
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
17727
17757
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -17955,7 +17985,7 @@ function sendMessage(action) {
17955
17985
  break;
17956
17986
  }
17957
17987
  _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) : '');
17988
+ _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
17989
  if (message.parentMessage) {
17960
17990
  _messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
17961
17991
  }
@@ -18008,7 +18038,7 @@ function sendMessage(action) {
18008
18038
  break;
18009
18039
  }
18010
18040
  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));
18041
+ 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
18042
  if (message.parentMessage) {
18013
18043
  messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
18014
18044
  }
@@ -18275,7 +18305,7 @@ function sendTextMessage(action) {
18275
18305
  attachments = [att];
18276
18306
  }
18277
18307
  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));
18308
+ 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
18309
  if (message.parentMessage) {
18280
18310
  messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
18281
18311
  }
@@ -22078,7 +22108,8 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22078
22108
  accentColor = _ref2.accentColor,
22079
22109
  typingOrRecording = _ref2.typingOrRecording,
22080
22110
  channel = _ref2.channel,
22081
- isDirectChannel = _ref2.isDirectChannel;
22111
+ isDirectChannel = _ref2.isDirectChannel,
22112
+ unsupportedMessage = _ref2.unsupportedMessage;
22082
22113
  var audioRecording = React.useMemo(function () {
22083
22114
  return getAudioRecordingFromMap(channel.id);
22084
22115
  }, [channel.id, draftMessageText]);
@@ -22093,12 +22124,13 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22093
22124
  getFromContacts: getFromContacts,
22094
22125
  isLastMessage: true,
22095
22126
  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) {
22127
+ textSecondary: textSecondary,
22128
+ unsupportedMessage: unsupportedMessage
22129
+ }))) : 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
22130
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
22099
22131
  })) + " " + (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
22132
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
22101
- })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(LastMessageDescription, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')), LastMessageAttachments({
22133
+ })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : lastMessage.body === 'JL' ? 'Joined this group via invite link' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(LastMessageDescription, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')), LastMessageAttachments({
22102
22134
  lastMessage: lastMessage
22103
22135
  }), !!(lastMessage && lastMessage.id) && MessageTextFormat({
22104
22136
  text: lastMessage.body,
@@ -22107,7 +22139,8 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
22107
22139
  getFromContacts: getFromContacts,
22108
22140
  isLastMessage: true,
22109
22141
  accentColor: accentColor,
22110
- textSecondary: textSecondary
22142
+ textSecondary: textSecondary,
22143
+ unsupportedMessage: unsupportedMessage
22111
22144
  }), channel.lastReactedMessage && '"')))));
22112
22145
  };
22113
22146
  var Channel = function Channel(_ref3) {
@@ -22172,11 +22205,11 @@ var Channel = function Channel(_ref3) {
22172
22205
  draftMessage = _useState2[0],
22173
22206
  setDraftMessage = _useState2[1];
22174
22207
  var lastMessage = channel.lastReactedMessage || channel.lastMessage;
22175
- var lastMessageMetas = lastMessage && lastMessage.type === 'system' && lastMessage.metadata && (isJSON(lastMessage.metadata) ? JSON.parse(lastMessage.metadata) : lastMessage.metadata);
22208
+ var lastMessageMetas = lastMessage && lastMessage.type === exports.MESSAGE_TYPE.SYSTEM && lastMessage.metadata && (isJSON(lastMessage.metadata) ? JSON.parse(lastMessage.metadata) : lastMessage.metadata);
22176
22209
  var _useState3 = React.useState(0),
22177
22210
  statusWidth = _useState3[0],
22178
22211
  setStatusWidth = _useState3[1];
22179
- var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : '');
22212
+ var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : '');
22180
22213
  var messageAuthorRef = React.useRef(null);
22181
22214
  var messageTimeAndStatusRef = React.useRef(null);
22182
22215
  useUpdatePresence(channel, true);
@@ -22244,6 +22277,9 @@ var Channel = function Channel(_ref3) {
22244
22277
  })
22245
22278
  };
22246
22279
  }, [typingOrRecordingIndicator]);
22280
+ var unsupportedMessage = React.useMemo(function () {
22281
+ 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;
22282
+ }, [lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type]);
22247
22283
  var MessageText = React.useMemo(function () {
22248
22284
  return /*#__PURE__*/React__default.createElement(ChannelMessageText, {
22249
22285
  isTypingOrRecording: (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping) || (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording),
@@ -22258,9 +22294,10 @@ var Channel = function Channel(_ref3) {
22258
22294
  textSecondary: textSecondary,
22259
22295
  draftMessageText: draftMessageText,
22260
22296
  lastMessage: draftMessage || lastMessage,
22261
- isDirectChannel: isDirectChannel
22297
+ isDirectChannel: isDirectChannel,
22298
+ unsupportedMessage: unsupportedMessage
22262
22299
  });
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]);
22300
+ }, [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
22301
  var getCustomLatestMessageComponent = React.useCallback(function (_ref4) {
22265
22302
  var lastMessage = _ref4.lastMessage,
22266
22303
  typingOrRecording = _ref4.typingOrRecording,
@@ -22276,7 +22313,8 @@ var Channel = function Channel(_ref3) {
22276
22313
  getFromContacts = _ref4.getFromContacts,
22277
22314
  warningColor = _ref4.warningColor,
22278
22315
  user = _ref4.user,
22279
- MessageText = _ref4.MessageText;
22316
+ MessageText = _ref4.MessageText,
22317
+ unsupportedMessage = _ref4.unsupportedMessage;
22280
22318
  return getCustomLatestMessage && getCustomLatestMessage({
22281
22319
  lastMessage: lastMessage,
22282
22320
  typingOrRecording: typingOrRecording,
@@ -22292,9 +22330,10 @@ var Channel = function Channel(_ref3) {
22292
22330
  getFromContacts: getFromContacts,
22293
22331
  warningColor: warningColor,
22294
22332
  user: user,
22295
- MessageText: MessageText
22333
+ MessageText: MessageText,
22334
+ unsupportedMessage: unsupportedMessage
22296
22335
  });
22297
- }, [getCustomLatestMessage, lastMessage, typingOrRecording, draftMessageText, textSecondary, channel, channelLastMessageFontSize, channelLastMessageHeight, isDirectChannel, textPrimary, messageAuthorRef, contactsMap, getFromContacts, warningColor, user, MessageText]);
22336
+ }, [getCustomLatestMessage, lastMessage, typingOrRecording, draftMessageText, textSecondary, channel, channelLastMessageFontSize, channelLastMessageHeight, isDirectChannel, textPrimary, messageAuthorRef, contactsMap, getFromContacts, warningColor, user, MessageText, unsupportedMessage]);
22298
22337
  var isTypeValid = React.useCallback(function (type) {
22299
22338
  return !doNotShowMessageDeliveryTypes.includes(type);
22300
22339
  }, [doNotShowMessageDeliveryTypes]);
@@ -22332,7 +22371,7 @@ var Channel = function Channel(_ref3) {
22332
22371
  subjectLineHeight: channelSubjectLineHeight,
22333
22372
  subjectColor: channelSubjectColor || textPrimary,
22334
22373
  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, {
22374
+ }, /*#__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
22375
  color: notificationsIsMutedIconColor || iconInactive
22337
22376
  }, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), getCustomLatestMessage ? getCustomLatestMessageComponent({
22338
22377
  lastMessage: lastMessage,
@@ -22349,7 +22388,8 @@ var Channel = function Channel(_ref3) {
22349
22388
  getFromContacts: getFromContacts,
22350
22389
  warningColor: warningColor,
22351
22390
  user: user,
22352
- MessageText: MessageText
22391
+ MessageText: MessageText,
22392
+ unsupportedMessage: unsupportedMessage
22353
22393
  }) : (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
22354
22394
  color: textSecondary,
22355
22395
  markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
@@ -22368,11 +22408,11 @@ var Channel = function Channel(_ref3) {
22368
22408
  }, makeUsername(contactsMap && contactsMap[item.from.id], item.from, getFromContacts, true), index < typingOrRecording.items.length - 1 && ', ');
22369
22409
  })))) : null : draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
22370
22410
  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, {
22411
+ }, "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
22412
  color: textPrimary
22373
22413
  }, /*#__PURE__*/React__default.createElement("span", {
22374
22414
  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, {
22415
+ }, 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
22416
  color: textPrimary
22377
22417
  }, /*#__PURE__*/React__default.createElement("span", {
22378
22418
  ref: messageAuthorRef
@@ -25225,7 +25265,8 @@ function ChatHeader(_ref) {
25225
25265
  backButtonOrder = _ref.backButtonOrder,
25226
25266
  channelInfoOrder = _ref.channelInfoOrder,
25227
25267
  infoIconOrder = _ref.infoIconOrder,
25228
- customActionsOrder = _ref.customActionsOrder;
25268
+ customActionsOrder = _ref.customActionsOrder,
25269
+ showPhoneNumber = _ref.showPhoneNumber;
25229
25270
  var _useColor = useColors(),
25230
25271
  accentColor = _useColor[THEME_COLORS.ACCENT],
25231
25272
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -25289,7 +25330,7 @@ function ChatHeader(_ref) {
25289
25330
  order: channelInfoOrder
25290
25331
  }, /*#__PURE__*/React__default.createElement(AvatarWrapper, null, (activeChannel.subject || isDirectChannel && (directChannelUser || isSelfChannel)) && (/*#__PURE__*/React__default.createElement(Avatar, {
25291
25332
  borderRadius: avatarBorderRadius,
25292
- name: activeChannel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : ''),
25333
+ name: activeChannel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? showPhoneNumber ? "+" + user.id + " (You)" : 'Me' : ''),
25293
25334
  image: activeChannel.avatarUrl || (isDirectChannel && directChannelUser ? directChannelUser.avatarUrl : isSelfChannel ? user.avatarUrl : ''),
25294
25335
  size: avatarSize || 36,
25295
25336
  textSize: avatarTextSize || 13,
@@ -25300,7 +25341,7 @@ function ChatHeader(_ref) {
25300
25341
  fontSize: titleFontSize,
25301
25342
  uppercase: directChannelUser && hideUserPresence && hideUserPresence(directChannelUser),
25302
25343
  lineHeight: titleLineHeight
25303
- }, activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), showMemberInfo && !isSelfChannel && (isDirectChannel && directChannelUser ? (/*#__PURE__*/React__default.createElement(SubTitle, {
25344
+ }, 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
25345
  fontSize: memberInfoFontSize,
25305
25346
  lineHeight: memberInfoLineHeight,
25306
25347
  color: memberInfoTextColor || textSecondary
@@ -27175,7 +27216,7 @@ var Message = function Message(_ref) {
27175
27216
  return /*#__PURE__*/React__default.createElement(Container$c, {
27176
27217
  ref: messageItemRef,
27177
27218
  marginTop: differentUserMessageSpacing || '16px',
27178
- marginBottom: nextMessage && nextMessage.type !== 'system' ? differentUserMessageSpacing || '16px' : '',
27219
+ marginBottom: nextMessage && nextMessage.type !== exports.MESSAGE_TYPE.SYSTEM ? differentUserMessageSpacing || '16px' : '',
27179
27220
  fontSize: fontSize,
27180
27221
  textColor: textColor || textOnPrimary,
27181
27222
  border: border,
@@ -31244,6 +31285,9 @@ var RepliedMessage = function RepliedMessage(_ref) {
31244
31285
  }
31245
31286
  return 0;
31246
31287
  }, [message.parentMessage.attachments, parentNotLinkAttachment, (_message$parentMessag = message.parentMessage.attachments[0]) === null || _message$parentMessag === void 0 ? void 0 : _message$parentMessag.type, message.parentMessage.attachments.length]);
31288
+ var unsupportedMessage = React.useMemo(function () {
31289
+ 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;
31290
+ }, [message.parentMessage.type]);
31247
31291
  return /*#__PURE__*/React__default.createElement(ReplyMessageContainer, {
31248
31292
  withSenderName: showMessageSenderName,
31249
31293
  withBody: !!message.body,
@@ -31297,7 +31341,8 @@ var RepliedMessage = function RepliedMessage(_ref) {
31297
31341
  getFromContacts: getFromContacts,
31298
31342
  asSampleText: true,
31299
31343
  accentColor: accentColor,
31300
- textSecondary: textSecondary
31344
+ textSecondary: textSecondary,
31345
+ unsupportedMessage: unsupportedMessage
31301
31346
  }) : 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
31347
  };
31303
31348
  var RepliedMessage$1 = /*#__PURE__*/React__default.memo(RepliedMessage, function (prevProps, nextProps) {
@@ -32312,7 +32357,9 @@ var OGMetadata = function OGMetadata(_ref) {
32312
32357
  var _metadata$og4, _metadata$og4$image, _metadata$og4$image$, _metadata$og5, _metadata$og5$image, _metadata$og5$image$, _metadata$og6, _metadata$og7, _metadata$og7$favicon, _metadata$og8, _metadata$og8$favicon, _metadata$og9, _metadata$og0, _metadata$og1;
32313
32358
  var attachments = _ref.attachments,
32314
32359
  state = _ref.state,
32315
- incoming = _ref.incoming;
32360
+ incoming = _ref.incoming,
32361
+ _ref$target = _ref.target,
32362
+ target = _ref$target === void 0 ? '_blank' : _ref$target;
32316
32363
  var dispatch = useDispatch();
32317
32364
  var oGMetadata = useSelector(function (state) {
32318
32365
  return state.MessageReducer.oGMetadata;
@@ -32452,7 +32499,7 @@ var OGMetadata = function OGMetadata(_ref) {
32452
32499
  bgColor: incoming ? incomingMessageBackgroundX : outgoingMessageBackgroundX
32453
32500
  }, /*#__PURE__*/React__default.createElement("div", {
32454
32501
  onClick: function onClick() {
32455
- window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, '_blank');
32502
+ window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, target);
32456
32503
  },
32457
32504
  style: {
32458
32505
  width: showOGMetadata ? '100%' : 'auto'
@@ -32705,7 +32752,8 @@ var MessageBody = function MessageBody(_ref) {
32705
32752
  handleCreateChat = _ref.handleCreateChat,
32706
32753
  messageTextRef = _ref.messageTextRef,
32707
32754
  handleOpenUserProfile = _ref.handleOpenUserProfile,
32708
- shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention;
32755
+ shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention,
32756
+ unsupportedMessage = _ref.unsupportedMessage;
32709
32757
  var _useColor = useColors(),
32710
32758
  accentColor = _useColor[THEME_COLORS.ACCENT],
32711
32759
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -32730,10 +32778,10 @@ var MessageBody = function MessageBody(_ref) {
32730
32778
  return moment(message.createdAt).startOf('day');
32731
32779
  }, [message.createdAt]);
32732
32780
  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;
32781
+ 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
32782
  }, [prevMessage, current, unreadMessageId]);
32735
32783
  var lastMessageInInterval = React.useMemo(function () {
32736
- return !(nextMessage && current.diff(moment(nextMessage.createdAt).startOf('day'), 'days') === 0) || nextMessage.type === 'system';
32784
+ return !(nextMessage && current.diff(moment(nextMessage.createdAt).startOf('day'), 'days') === 0) || nextMessage.type === exports.MESSAGE_TYPE.SYSTEM;
32737
32785
  }, [nextMessage, current]);
32738
32786
  var messageTimeVisible = React.useMemo(function () {
32739
32787
  return showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
@@ -32935,7 +32983,9 @@ var MessageBody = function MessageBody(_ref) {
32935
32983
  outgoingMessageStyles: outgoingMessageStyles,
32936
32984
  incomingMessageStyles: incomingMessageStyles,
32937
32985
  incoming: message.incoming,
32938
- linkColor: linkColor
32986
+ linkColor: linkColor,
32987
+ unsupportedMessage: unsupportedMessage,
32988
+ unsupportedMessageColor: textSecondary
32939
32989
  }, linkAttachment && (/*#__PURE__*/React__default.createElement(OGMetadata, {
32940
32990
  attachments: [linkAttachment],
32941
32991
  state: message.state,
@@ -32950,7 +33000,8 @@ var MessageBody = function MessageBody(_ref) {
32950
33000
  accentColor: accentColor,
32951
33001
  textSecondary: textSecondary,
32952
33002
  onMentionNameClick: handleOpenUserProfile,
32953
- shouldOpenUserProfileForMention: !!shouldOpenUserProfileForMention
33003
+ shouldOpenUserProfileForMention: !!shouldOpenUserProfileForMention,
33004
+ unsupportedMessage: unsupportedMessage
32954
33005
  })), !withAttachments && message.state === MESSAGE_STATUS.DELETE ? (/*#__PURE__*/React__default.createElement(MessageStatusDeleted$1, {
32955
33006
  color: textSecondary
32956
33007
  }, " Message was deleted. ")) : '', messageStatusAndTimePosition === 'onMessage' && !notLinkAttachment && (messageStatusVisible || messageTimeVisible) ? (/*#__PURE__*/React__default.createElement(MessageStatusAndTime$1, {
@@ -33724,7 +33775,7 @@ var Message$1 = function Message(_ref) {
33724
33775
  var messageUserID = message.user ? message.user.id : 'deleted';
33725
33776
  var prevMessageUserID = prevMessage ? prevMessage.user ? prevMessage.user.id : 'deleted' : null;
33726
33777
  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;
33778
+ 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
33779
  var messageTimeVisible = showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
33729
33780
  var messageStatusVisible = !message.incoming && showMessageStatus && message.state !== MESSAGE_STATUS.DELETE && (showMessageStatusForEachMessage || !nextMessage);
33730
33781
  var renderAvatar = (isUnreadMessage || prevMessageUserID !== messageUserID || firstMessageInInterval) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
@@ -33854,6 +33905,15 @@ var Message$1 = function Message(_ref) {
33854
33905
  })) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
33855
33906
  dispatch(markMessagesAsReadAC(channel.id, [message.id]));
33856
33907
  }
33908
+ if (!message.userMarkers.find(function (marker) {
33909
+ return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
33910
+ })) {
33911
+ if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
33912
+ return marker.name === MESSAGE_DELIVERY_STATUS.READ;
33913
+ })) {
33914
+ dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
33915
+ }
33916
+ }
33857
33917
  };
33858
33918
  var handleForwardMessage = function handleForwardMessage(channelIds) {
33859
33919
  if (channelIds && channelIds.length) {
@@ -33956,13 +34016,16 @@ var Message$1 = function Message(_ref) {
33956
34016
  handleOpenChannelDetails();
33957
34017
  }
33958
34018
  };
34019
+ var unsupportedMessage = React.useMemo(function () {
34020
+ 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;
34021
+ }, [message.type]);
33959
34022
  return /*#__PURE__*/React__default.createElement(MessageItem, {
33960
34023
  className: 'message_item',
33961
34024
  rtl: ownMessageOnRightSide && !message.incoming,
33962
34025
  withAvatar: renderAvatar,
33963
34026
  showOwnAvatar: showOwnAvatar,
33964
34027
  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',
34028
+ 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
34029
  bottomMargin: message.reactionTotals && message.reactionTotals.length ? reactionsContainerTopPosition : '',
33967
34030
  ref: messageItemRef,
33968
34031
  selectMessagesIsActive: selectionIsActive,
@@ -34026,7 +34089,8 @@ var Message$1 = function Message(_ref) {
34026
34089
  handleScrollToRepliedMessage: handleScrollToRepliedMessage,
34027
34090
  handleMediaItemClick: handleMediaItemClick,
34028
34091
  isThreadMessage: isThreadMessage,
34029
- handleOpenUserProfile: handleOpenUserProfile
34092
+ handleOpenUserProfile: handleOpenUserProfile,
34093
+ unsupportedMessage: unsupportedMessage
34030
34094
  })) : (/*#__PURE__*/React__default.createElement(MessageBody$1, {
34031
34095
  message: message,
34032
34096
  channel: channel,
@@ -34152,7 +34216,8 @@ var Message$1 = function Message(_ref) {
34152
34216
  messageTextRef: messageTextRef,
34153
34217
  messageTimeColorOnAttachment: messageTimeColorOnAttachment || textOnPrimary,
34154
34218
  handleOpenUserProfile: handleOpenUserProfile,
34155
- shouldOpenUserProfileForMention: shouldOpenUserProfileForMention
34219
+ shouldOpenUserProfileForMention: shouldOpenUserProfileForMention,
34220
+ unsupportedMessage: unsupportedMessage
34156
34221
  })), messageStatusAndTimePosition === 'bottomOfMessage' && (messageStatusVisible || messageTimeVisible) && (/*#__PURE__*/React__default.createElement(MessageStatusAndTime$1, {
34157
34222
  message: message,
34158
34223
  showMessageTimeAndStatusOnlyOnHover: showMessageTimeAndStatusOnlyOnHover,
@@ -34355,12 +34420,6 @@ var MessageItem = styled__default.div(_templateObject12$3 || (_templateObject12$
34355
34420
  return props.hoverBackground || '';
34356
34421
  }, HiddenMessageTime$1, MessageStatus$1);
34357
34422
 
34358
- var HiddenMessageProperty;
34359
- (function (HiddenMessageProperty) {
34360
- HiddenMessageProperty["hideAfterChannelChange"] = "hideAfterChannelChange";
34361
- HiddenMessageProperty["hideAfterSendMessage"] = "hideAfterSendMessage";
34362
- })(HiddenMessageProperty || (HiddenMessageProperty = {}));
34363
-
34364
34423
  var _templateObject$G, _templateObject2$B, _templateObject3$v, _templateObject4$r, _templateObject5$m, _templateObject6$j, _templateObject7$h, _templateObject8$g, _templateObject9$d, _templateObject0$c, _templateObject1$9;
34365
34424
  var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
34366
34425
  var lastIndex = _ref.lastIndex,
@@ -35213,7 +35272,7 @@ var MessageList = function MessageList(_ref2) {
35213
35272
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
35214
35273
  key: message.id || message.tid
35215
35274
  }, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
35216
- noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
35275
+ noMargin: !isUnreadMessage && prevMessage && prevMessage.type === exports.MESSAGE_TYPE.SYSTEM && message.type !== exports.MESSAGE_TYPE.SYSTEM,
35217
35276
  theme: theme,
35218
35277
  lastIndex: false,
35219
35278
  currentMessageDate: message.createdAt,
@@ -35225,9 +35284,9 @@ var MessageList = function MessageList(_ref2) {
35225
35284
  dateDividerBackgroundColor: dateDividerBackgroundColor,
35226
35285
  chatBackgroundColor: backgroundColor || themeBackgroundColor,
35227
35286
  dateDividerBorderRadius: dateDividerBorderRadius,
35228
- marginBottom: prevMessage && prevMessage.type === 'system' && message.type !== 'system' ? '16px' : '0',
35287
+ marginBottom: prevMessage && prevMessage.type === exports.MESSAGE_TYPE.SYSTEM && message.type !== exports.MESSAGE_TYPE.SYSTEM ? '16px' : '0',
35229
35288
  marginTop: differentUserMessageSpacing
35230
- }), message.type === 'system' ? (/*#__PURE__*/React__default.createElement(SystemMessage, {
35289
+ }), message.type === exports.MESSAGE_TYPE.SYSTEM ? (/*#__PURE__*/React__default.createElement(SystemMessage, {
35231
35290
  key: message.id || message.tid,
35232
35291
  channel: channel,
35233
35292
  message: message,
@@ -35391,8 +35450,8 @@ var MessageList = function MessageList(_ref2) {
35391
35450
  newMessagesSeparatorLeftRightSpaceWidth: newMessagesSeparatorTextLeftRightSpacesWidth,
35392
35451
  newMessagesSeparatorSpaceColor: newMessagesSeparatorSpaceColor,
35393
35452
  dividerText: newMessagesSeparatorText || 'Unread Messages',
35394
- marginTop: message.type === 'system' ? '0px' : '',
35395
- marginBottom: message.type === 'system' ? '16px' : '0',
35453
+ marginTop: message.type === exports.MESSAGE_TYPE.SYSTEM ? '0px' : '',
35454
+ marginBottom: message.type === exports.MESSAGE_TYPE.SYSTEM ? '16px' : '0',
35396
35455
  chatBackgroundColor: backgroundColor || themeBackgroundColor,
35397
35456
  unread: true
35398
35457
  })) : null);
@@ -39825,6 +39884,41 @@ var CloseIconWrapper = styled__default.span(_templateObject34$1 || (_templateObj
39825
39884
  return props.color;
39826
39885
  });
39827
39886
 
39887
+ var copyToClipboard = function copyToClipboard(text) {
39888
+ try {
39889
+ var _temp2 = function _temp2(_result2) {
39890
+ if (_exit) return _result2;
39891
+ try {
39892
+ if (typeof document !== 'undefined') {
39893
+ var textarea = document.createElement('textarea');
39894
+ textarea.value = text;
39895
+ textarea.style.position = 'fixed';
39896
+ textarea.style.left = '-9999px';
39897
+ document.body.appendChild(textarea);
39898
+ textarea.focus();
39899
+ textarea.select();
39900
+ var successful = document.execCommand('copy');
39901
+ document.body.removeChild(textarea);
39902
+ return successful;
39903
+ }
39904
+ } catch (e) {}
39905
+ return false;
39906
+ };
39907
+ var _exit = false;
39908
+ var _temp = _catch(function () {
39909
+ if (typeof navigator !== 'undefined' && navigator.clipboard && navigator.clipboard.writeText) {
39910
+ return Promise.resolve(navigator.clipboard.writeText(text)).then(function () {
39911
+ _exit = true;
39912
+ return true;
39913
+ });
39914
+ }
39915
+ }, function () {});
39916
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
39917
+ } catch (e) {
39918
+ return Promise.reject(e);
39919
+ }
39920
+ };
39921
+
39828
39922
  var _path$1e;
39829
39923
  function _extends$1i() {
39830
39924
  return _extends$1i = Object.assign ? Object.assign.bind() : function (n) {
@@ -40720,13 +40814,11 @@ function ResetLinkConfirmModal(_ref) {
40720
40814
  });
40721
40815
  }
40722
40816
 
40723
- var _templateObject$P, _templateObject2$K, _templateObject3$D, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$m, _templateObject8$k, _templateObject9$g, _templateObject0$f, _templateObject1$c, _templateObject10$7, _templateObject11$7, _templateObject12$6;
40817
+ var _templateObject$P, _templateObject2$K, _templateObject3$D, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$m, _templateObject8$k, _templateObject9$g, _templateObject0$f, _templateObject1$c, _templateObject10$7, _templateObject11$7, _templateObject12$6, _templateObject13$5;
40724
40818
  function InviteLinkModal(_ref) {
40725
40819
  var _getInviteLinkOptions, _tabs$link, _tabs$qr, _tabs$link2, _tabs$qr2;
40726
40820
  var onClose = _ref.onClose,
40727
- link = _ref.link,
40728
- onReset = _ref.onReset,
40729
- SVGLogoIcon = _ref.SVGLogoIcon,
40821
+ SVGOrPNGLogoIcon = _ref.SVGOrPNGLogoIcon,
40730
40822
  channelId = _ref.channelId;
40731
40823
  var _useColor = useColors(),
40732
40824
  accentColor = _useColor[THEME_COLORS.ACCENT],
@@ -40737,7 +40829,8 @@ function InviteLinkModal(_ref) {
40737
40829
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
40738
40830
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
40739
40831
  border = _useColor[THEME_COLORS.BORDER],
40740
- iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY];
40832
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
40833
+ tooltipBackground = _useColor[THEME_COLORS.TOOLTIP_BACKGROUND];
40741
40834
  var theme = useSelector(themeSelector) || 'light';
40742
40835
  var connectionStatus = useSelector(connectionStatusSelector, reactRedux.shallowEqual);
40743
40836
  var channelsInviteKeys = useSelector(channelInviteKeysSelector, reactRedux.shallowEqual);
@@ -40781,10 +40874,23 @@ function InviteLinkModal(_ref) {
40781
40874
  var _useState4 = React.useState('link'),
40782
40875
  shareMode = _useState4[0],
40783
40876
  setShareMode = _useState4[1];
40877
+ var _useState5 = React.useState(false),
40878
+ showCopiedToast = _useState5[0],
40879
+ setShowCopiedToast = _useState5[1];
40880
+ var logoRef = React.useRef(null);
40881
+ var toastTimeoutRef = React.useRef(null);
40784
40882
  var handleCopy = function handleCopy() {
40785
40883
  try {
40786
40884
  var _temp = _catch(function () {
40787
- return Promise.resolve(navigator.clipboard.writeText(inviteUrl)).then(function () {});
40885
+ return Promise.resolve(navigator.clipboard.writeText(inviteUrl)).then(function () {
40886
+ setShowCopiedToast(true);
40887
+ if (toastTimeoutRef.current) {
40888
+ clearTimeout(toastTimeoutRef.current);
40889
+ }
40890
+ toastTimeoutRef.current = setTimeout(function () {
40891
+ setShowCopiedToast(false);
40892
+ }, 2000);
40893
+ });
40788
40894
  }, function () {});
40789
40895
  return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
40790
40896
  } catch (e) {
@@ -40806,7 +40912,6 @@ function InviteLinkModal(_ref) {
40806
40912
  setOpenForwardPopup(false);
40807
40913
  return Promise.resolve();
40808
40914
  }
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
40915
  setOpenForwardPopup(false);
40811
40916
  return Promise.resolve(_forOf(channelIds, function (channelId) {
40812
40917
  var channel = getChannelFromMap(channelId);
@@ -40824,51 +40929,162 @@ function InviteLinkModal(_ref) {
40824
40929
  dispatch(forwardMessageAC(message, channelId, connectionStatus, false));
40825
40930
  } else {
40826
40931
  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'
40932
+ var toPngBlob = function toPngBlob() {
40933
+ try {
40934
+ var dpr = 4;
40935
+ var baseQrSize = 200;
40936
+ var qrSize = baseQrSize * dpr;
40937
+ 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";
40938
+ return Promise.resolve(fetch(qrUrl, {
40939
+ cache: 'no-store'
40940
+ })).then(function (qrResp) {
40941
+ return Promise.resolve(qrResp.blob()).then(function (qrBlob) {
40942
+ var qrObjectUrl = URL.createObjectURL(qrBlob);
40943
+ var boxWidth = qrSize;
40944
+ var boxHeight = qrSize;
40945
+ var canvas = document.createElement('canvas');
40946
+ canvas.width = boxWidth;
40947
+ canvas.height = boxHeight;
40948
+ var ctx = canvas.getContext('2d');
40949
+ var img = new Image();
40950
+ img.src = qrObjectUrl;
40951
+ return Promise.resolve(new Promise(function (resolve, reject) {
40952
+ img.onload = function () {
40953
+ return resolve(null);
40954
+ };
40955
+ img.onerror = reject;
40956
+ })).then(function () {
40957
+ var _logoRef$current;
40958
+ function _temp6() {
40959
+ URL.revokeObjectURL(qrObjectUrl);
40960
+ return Promise.resolve(new Promise(function (resolve) {
40961
+ return canvas.toBlob(function (b) {
40962
+ return resolve(b);
40963
+ }, 'image/png');
40964
+ }));
40965
+ }
40966
+ ctx.imageSmoothingEnabled = false;
40967
+ ctx.drawImage(img, 0, 0, qrSize, qrSize);
40968
+ var overlaySize = qrSize * 22 / 100;
40969
+ var overlayX = (boxWidth - overlaySize) / 2;
40970
+ var overlayY = (boxHeight - overlaySize) / 2;
40971
+ var roundedPath = function roundedPath(x, y, w, h, r) {
40972
+ ctx.beginPath();
40973
+ ctx.moveTo(x + r, y);
40974
+ ctx.lineTo(x + w - r, y);
40975
+ ctx.quadraticCurveTo(x + w, y, x + w, y + r);
40976
+ ctx.lineTo(x + w, y + h - r);
40977
+ ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h);
40978
+ ctx.lineTo(x + r, y + h);
40979
+ ctx.quadraticCurveTo(x, y + h, x, y + h - r);
40980
+ ctx.lineTo(x, y + r);
40981
+ ctx.quadraticCurveTo(x, y, x + r, y);
40982
+ ctx.closePath();
40983
+ };
40984
+ var cornerRadius = 8 * dpr;
40985
+ var imgElement = (_logoRef$current = logoRef.current) === null || _logoRef$current === void 0 ? void 0 : _logoRef$current.querySelector('img');
40986
+ var _temp5 = function () {
40987
+ if (imgElement && (imgElement.currentSrc || imgElement.src)) {
40988
+ var logoUrl = imgElement.currentSrc || imgElement.src;
40989
+ var logoImg = new Image();
40990
+ logoImg.src = logoUrl;
40991
+ return Promise.resolve(new Promise(function (resolve, reject) {
40992
+ logoImg.onload = function () {
40993
+ return resolve(null);
40994
+ };
40995
+ logoImg.onerror = reject;
40996
+ })).then(function () {
40997
+ ctx.save();
40998
+ roundedPath(overlayX, overlayY, overlaySize, overlaySize, cornerRadius);
40999
+ ctx.clip();
41000
+ ctx.drawImage(logoImg, overlayX, overlayY, overlaySize, overlaySize);
41001
+ ctx.restore();
41002
+ });
41003
+ } else {
41004
+ var _logoRef$current2;
41005
+ var svgElement = (_logoRef$current2 = logoRef.current) === null || _logoRef$current2 === void 0 ? void 0 : _logoRef$current2.querySelector('svg');
41006
+ var _temp4 = function () {
41007
+ if (svgElement) {
41008
+ var serializer = new XMLSerializer();
41009
+ var svgString = serializer.serializeToString(svgElement);
41010
+ if (!/^<svg[^>]+xmlns=/.test(svgString)) {
41011
+ svgString = svgString.replace('<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
41012
+ }
41013
+ var svgBlob = new Blob([svgString], {
41014
+ type: 'image/svg+xml;charset=utf-8'
41015
+ });
41016
+ var svgUrl = URL.createObjectURL(svgBlob);
41017
+ var _logoImg = new Image();
41018
+ _logoImg.src = svgUrl;
41019
+ return Promise.resolve(new Promise(function (resolve, reject) {
41020
+ _logoImg.onload = function () {
41021
+ return resolve(null);
41022
+ };
41023
+ _logoImg.onerror = reject;
41024
+ })).then(function () {
41025
+ ctx.save();
41026
+ roundedPath(overlayX, overlayY, overlaySize, overlaySize, cornerRadius);
41027
+ ctx.clip();
41028
+ ctx.drawImage(_logoImg, overlayX, overlayY, overlaySize, overlaySize);
41029
+ ctx.restore();
41030
+ URL.revokeObjectURL(svgUrl);
41031
+ });
41032
+ }
41033
+ }();
41034
+ if (_temp4 && _temp4.then) return _temp4.then(function () {});
41035
+ }
41036
+ }();
41037
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
41038
+ });
41039
+ });
40831
41040
  });
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([{
41041
+ } catch (e) {
41042
+ return Promise.reject(e);
41043
+ }
41044
+ };
41045
+ return Promise.resolve(toPngBlob()).then(function (blob) {
41046
+ var file = new File([blob], 'invite-qr.png', {
41047
+ type: 'image/png'
41048
+ });
41049
+ var localUrl = URL.createObjectURL(file);
41050
+ var message = {
41051
+ metadata: '',
41052
+ body: '',
41053
+ mentionedUsers: [],
41054
+ type: 'text',
41055
+ attachments: [{
40856
41056
  name: 'invite-qr.png',
40857
41057
  data: file,
40858
41058
  upload: false,
40859
- type: attachmentTypes.image,
40860
- url: file,
41059
+ type: "" + file.type,
41060
+ url: {
41061
+ type: "" + file.type,
41062
+ data: file
41063
+ },
40861
41064
  createdAt: new Date(),
40862
41065
  progress: 0,
40863
41066
  completion: 0,
40864
41067
  messageId: '',
40865
41068
  size: file.size,
40866
41069
  attachmentUrl: localUrl
40867
- }], message, channel)).then(function (attachmentsToSend) {
40868
- dispatch(forwardMessageAC(_extends({}, message, {
40869
- attachments: attachmentsToSend
40870
- }), channelId, connectionStatus, false));
40871
- });
41070
+ }]
41071
+ };
41072
+ return Promise.resolve(handleUploadAttachments([{
41073
+ name: 'invite-qr.png',
41074
+ data: file,
41075
+ upload: false,
41076
+ type: attachmentTypes.image,
41077
+ url: file,
41078
+ createdAt: new Date(),
41079
+ progress: 0,
41080
+ completion: 0,
41081
+ messageId: '',
41082
+ size: file.size,
41083
+ attachmentUrl: localUrl
41084
+ }], message, channel)).then(function (attachmentsToSend) {
41085
+ dispatch(forwardMessageAC(_extends({}, message, {
41086
+ attachments: attachmentsToSend
41087
+ }), channelId, connectionStatus, false));
40872
41088
  });
40873
41089
  });
40874
41090
  }, function (e) {
@@ -40900,13 +41116,19 @@ function InviteLinkModal(_ref) {
40900
41116
  var _channelInviteKeys$;
40901
41117
  setShowResetConfirm(false);
40902
41118
  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
41119
  };
40905
41120
  React.useEffect(function () {
40906
41121
  if (channelId) {
40907
41122
  dispatch(getChannelInviteKeysAC(channelId));
40908
41123
  }
40909
41124
  }, [channelId]);
41125
+ React.useEffect(function () {
41126
+ return function () {
41127
+ if (toastTimeoutRef.current) {
41128
+ clearTimeout(toastTimeoutRef.current);
41129
+ }
41130
+ };
41131
+ }, []);
40910
41132
  var channelInviteKeys = React.useMemo(function () {
40911
41133
  return channelId && channelsInviteKeys !== null && channelsInviteKeys !== void 0 && channelsInviteKeys[channelId] ? channelsInviteKeys[channelId] : [];
40912
41134
  }, [channelId, channelsInviteKeys]);
@@ -40914,8 +41136,8 @@ function InviteLinkModal(_ref) {
40914
41136
  return (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : channelInviteKeys[0]) || null;
40915
41137
  }, [channelInviteKeys]);
40916
41138
  var inviteUrl = React.useMemo(function () {
40917
- return link || getBaseUrlForInviteMembers() + "/" + ((inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '');
40918
- }, [link, inviteKey]);
41139
+ return getBaseUrlForInviteMembers() + "/" + ((inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '');
41140
+ }, [inviteKey]);
40919
41141
  var handleShowPreviousMessages = function handleShowPreviousMessages() {
40920
41142
  dispatch(updateChannelInviteKeyAC(channelId, (inviteKey === null || inviteKey === void 0 ? void 0 : inviteKey.key) || '', !(inviteKey !== null && inviteKey !== void 0 && inviteKey.accessPriorHistory) || false));
40921
41143
  };
@@ -41006,12 +41228,15 @@ function InviteLinkModal(_ref) {
41006
41228
  value: inviteUrl,
41007
41229
  readOnly: true,
41008
41230
  color: textPrimary
41009
- }), /*#__PURE__*/React__default.createElement(CopyButton, {
41231
+ }), /*#__PURE__*/React__default.createElement(CopyButtonWrapper, null, /*#__PURE__*/React__default.createElement(CopyButton, {
41010
41232
  onClick: handleCopy,
41011
41233
  "aria-label": 'Copy invite link'
41012
41234
  }, /*#__PURE__*/React__default.createElement(SvgCopyIcon, {
41013
41235
  color: accentColor
41014
- }))), showHistorySection && /*#__PURE__*/React__default.createElement(SectionTitle, {
41236
+ })), showCopiedToast && (/*#__PURE__*/React__default.createElement(CopiedTooltip, {
41237
+ background: tooltipBackground,
41238
+ color: textOnPrimary
41239
+ }, "Copied")))), showHistorySection && /*#__PURE__*/React__default.createElement(SectionTitle, {
41015
41240
  color: textSecondary
41016
41241
  }, historyTitle), showHistorySection && (/*#__PURE__*/React__default.createElement(HistoryRow, null, /*#__PURE__*/React__default.createElement("span", null, /*#__PURE__*/React__default.createElement(FieldLabel, {
41017
41242
  color: textPrimary
@@ -41026,11 +41251,13 @@ function InviteLinkModal(_ref) {
41026
41251
  borderColor: border,
41027
41252
  backgroundColor: surface1
41028
41253
  }, /*#__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",
41254
+ 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
41255
  alt: 'Invite QR',
41031
41256
  width: 200,
41032
41257
  height: 200
41033
- }), /*#__PURE__*/React__default.createElement(LogoIconCont, null, SVGLogoIcon)), /*#__PURE__*/React__default.createElement(QrHint, {
41258
+ }), /*#__PURE__*/React__default.createElement(LogoIconCont, {
41259
+ ref: logoRef
41260
+ }, SVGOrPNGLogoIcon)), /*#__PURE__*/React__default.createElement(QrHint, {
41034
41261
  color: textSecondary
41035
41262
  }, qrHintText)))), /*#__PURE__*/React__default.createElement(PopupFooter, {
41036
41263
  backgroundColor: surface1
@@ -41059,7 +41286,7 @@ function InviteLinkModal(_ref) {
41059
41286
  handleForward: handleForwardChannels
41060
41287
  })));
41061
41288
  }
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"])));
41289
+ 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
41290
  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
41291
  return p.backgroundColor;
41065
41292
  }, function (p) {
@@ -41087,22 +41314,23 @@ var LinkInput = styled__default.input(_templateObject7$m || (_templateObject7$m
41087
41314
  return p.color;
41088
41315
  });
41089
41316
  var CopyButton = styled__default.button(_templateObject8$k || (_templateObject8$k = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border: none;\n background: transparent;\n cursor: pointer;\n"])));
41090
- var SectionTitle = styled__default.h4(_templateObject9$g || (_templateObject9$g = _taggedTemplateLiteralLoose(["\n margin: 16px 0 8px;\n font-weight: 500;\n font-size: 15px;\n line-height: 16px;\n color: ", ";\n"])), function (p) {
41317
+ var CopyButtonWrapper = styled__default.div(_templateObject9$g || (_templateObject9$g = _taggedTemplateLiteralLoose(["\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n"])));
41318
+ var SectionTitle = styled__default.h4(_templateObject0$f || (_templateObject0$f = _taggedTemplateLiteralLoose(["\n margin: 16px 0 8px;\n font-weight: 500;\n font-size: 15px;\n line-height: 16px;\n color: ", ";\n"])), function (p) {
41091
41319
  return p.color;
41092
41320
  });
41093
- var HistoryRow = styled__default.div(_templateObject0$f || (_templateObject0$f = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n"])));
41094
- var Switch = styled__default.div(_templateObject1$c || (_templateObject1$c = _taggedTemplateLiteralLoose(["\n width: 44px;\n height: 26px;\n border-radius: 13px;\n background: ", ";\n position: relative;\n cursor: pointer;\n transition: background 0.2s ease;\n\n &:after {\n content: '';\n position: absolute;\n top: 3px;\n left: ", ";\n width: 20px;\n height: 20px;\n background: #fff;\n border-radius: 50%;\n transition: left 0.2s ease;\n }\n"])), function (p) {
41321
+ var HistoryRow = styled__default.div(_templateObject1$c || (_templateObject1$c = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n"])));
41322
+ var Switch = styled__default.div(_templateObject10$7 || (_templateObject10$7 = _taggedTemplateLiteralLoose(["\n width: 44px;\n height: 26px;\n border-radius: 13px;\n background: ", ";\n position: relative;\n cursor: pointer;\n transition: background 0.2s ease;\n\n &:after {\n content: '';\n position: absolute;\n top: 3px;\n left: ", ";\n width: 20px;\n height: 20px;\n background: #fff;\n border-radius: 50%;\n transition: left 0.2s ease;\n }\n"])), function (p) {
41095
41323
  return p.active ? p.accent : 'rgba(226,226,226,1)';
41096
41324
  }, function (p) {
41097
41325
  return p.active ? '22px' : '3px';
41098
41326
  });
41099
- var ResetLink = styled__default.button(_templateObject10$7 || (_templateObject10$7 = _taggedTemplateLiteralLoose(["\n margin-top: 12px;\n border: none;\n background: transparent;\n color: #ff4d4f;\n cursor: pointer;\n"])));
41100
- var QRCodeBox = styled__default.div(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteralLoose(["\n border-radius: 8px;\n border: 1px solid ", ";\n background-color: ", ";\n display: flex;\n width: max-content;\n padding: 13.5px;\n margin: auto;\n position: relative;\n"])), function (p) {
41327
+ var ResetLink = styled__default.button(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteralLoose(["\n margin-top: 12px;\n border: none;\n background: transparent;\n color: #ff4d4f;\n cursor: pointer;\n"])));
41328
+ var QRCodeBox = styled__default.div(_templateObject12$6 || (_templateObject12$6 = _taggedTemplateLiteralLoose(["\n border-radius: 8px;\n border: 1px solid ", ";\n background-color: ", ";\n display: flex;\n width: max-content;\n padding: 13.5px;\n margin: auto;\n position: relative;\n"])), function (p) {
41101
41329
  return p.borderColor;
41102
41330
  }, function (p) {
41103
41331
  return p.backgroundColor;
41104
41332
  });
41105
- var QrHint = styled__default.p(_templateObject12$6 || (_templateObject12$6 = _taggedTemplateLiteralLoose(["\n text-align: center;\n font-size: 14px;\n line-height: 16px;\n color: ", ";\n margin: 12px 0 0;\n"])), function (p) {
41333
+ var QrHint = styled__default.p(_templateObject13$5 || (_templateObject13$5 = _taggedTemplateLiteralLoose(["\n text-align: center;\n font-size: 14px;\n line-height: 16px;\n color: ", ";\n margin: 12px 0 0;\n"])), function (p) {
41106
41334
  return p.color;
41107
41335
  });
41108
41336
 
@@ -41424,7 +41652,7 @@ var Members = function Members(_ref) {
41424
41652
  onClose: function onClose() {
41425
41653
  return setOpenInviteModal(false);
41426
41654
  },
41427
- SVGLogoIcon: QRCodeIcon,
41655
+ SVGOrPNGLogoIcon: QRCodeIcon,
41428
41656
  channelId: channel.id
41429
41657
  })));
41430
41658
  };
@@ -42485,7 +42713,7 @@ var EditChannel = function EditChannel(_ref) {
42485
42713
  })));
42486
42714
  };
42487
42715
 
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;
42716
+ 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;
42489
42717
  var Details = function Details(_ref) {
42490
42718
  var _activeChannel$member;
42491
42719
  var detailsTitleText = _ref.detailsTitleText,
@@ -42610,7 +42838,9 @@ var Details = function Details(_ref) {
42610
42838
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
42611
42839
  borderThemeColor = _useColor[THEME_COLORS.BORDER],
42612
42840
  textFootnote = _useColor[THEME_COLORS.TEXT_FOOTNOTE],
42613
- surface2 = _useColor[THEME_COLORS.SURFACE_2];
42841
+ surface2 = _useColor[THEME_COLORS.SURFACE_2],
42842
+ tooltipBackground = _useColor[THEME_COLORS.TOOLTIP_BACKGROUND],
42843
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
42614
42844
  var dispatch = useDispatch();
42615
42845
  var ChatClient = getClient();
42616
42846
  var user = ChatClient.user;
@@ -42642,6 +42872,10 @@ var Details = function Details(_ref) {
42642
42872
  var detailsRef = React.useRef(null);
42643
42873
  var detailsHeaderRef = React.useRef(null);
42644
42874
  var openTimeOut = React.useRef(null);
42875
+ var copiedPhoneTimerRef = React.useRef(null);
42876
+ var _useState6 = React.useState(false),
42877
+ copiedPhone = _useState6[0],
42878
+ setCopiedPhone = _useState6[1];
42645
42879
  var isDirectChannel = activeChannel && activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
42646
42880
  var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
42647
42881
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
@@ -42675,6 +42909,13 @@ var Details = function Details(_ref) {
42675
42909
  setChannelDetailsHeight(detailsContainer.offsetHeight);
42676
42910
  }
42677
42911
  }, []);
42912
+ React.useEffect(function () {
42913
+ return function () {
42914
+ if (copiedPhoneTimerRef.current) {
42915
+ clearTimeout(copiedPhoneTimerRef.current);
42916
+ }
42917
+ };
42918
+ }, []);
42678
42919
  var handleTabChange = function handleTabChange() {
42679
42920
  if (detailsRef.current && detailsHeaderRef.current) {
42680
42921
  detailsRef.current.scrollTo({
@@ -42683,6 +42924,27 @@ var Details = function Details(_ref) {
42683
42924
  });
42684
42925
  }
42685
42926
  };
42927
+ var handleCopyPhoneNumber = function handleCopyPhoneNumber() {
42928
+ try {
42929
+ var _temp = function () {
42930
+ if (directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id) {
42931
+ var value = "+" + directChannelUser.id;
42932
+ return Promise.resolve(copyToClipboard(value)).then(function () {
42933
+ setCopiedPhone(true);
42934
+ if (copiedPhoneTimerRef.current) {
42935
+ clearTimeout(copiedPhoneTimerRef.current);
42936
+ }
42937
+ copiedPhoneTimerRef.current = setTimeout(function () {
42938
+ return setCopiedPhone(false);
42939
+ }, 1200);
42940
+ });
42941
+ }
42942
+ }();
42943
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
42944
+ } catch (e) {
42945
+ return Promise.reject(e);
42946
+ }
42947
+ };
42686
42948
  return /*#__PURE__*/React__default.createElement(Container$t, {
42687
42949
  backgroundColor: backgroundColor,
42688
42950
  mounted: mounted,
@@ -42735,7 +42997,7 @@ var Details = function Details(_ref) {
42735
42997
  direction: avatarAndNameDirection
42736
42998
  }, /*#__PURE__*/React__default.createElement(Avatar, {
42737
42999
  image: activeChannel && activeChannel.avatarUrl || directChannelUser && directChannelUser.avatarUrl || isSelfChannel && user.avatarUrl,
42738
- name: activeChannel && activeChannel.subject || directChannelUser && (directChannelUser.firstName || directChannelUser.id) || isSelfChannel && 'Me',
43000
+ name: activeChannel && activeChannel.subject || directChannelUser && (directChannelUser.firstName || directChannelUser.id) || (isSelfChannel && showPhoneNumber ? "+" + user.id + " (You)" : 'Me'),
42739
43001
  size: channelAvatarSize || 72,
42740
43002
  textSize: channelAvatarTextSize || 26,
42741
43003
  setDefaultAvatar: isDirectChannel
@@ -42747,7 +43009,7 @@ var Details = function Details(_ref) {
42747
43009
  fontSize: channelNameFontSize,
42748
43010
  lineHeight: channelNameLineHeight,
42749
43011
  color: textPrimary
42750
- }, activeChannel && activeChannel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), !isDirectChannel && checkActionPermission('updateChannel') && (/*#__PURE__*/React__default.createElement(EditButton, {
43012
+ }, 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
43013
  topPosition: channelEditIconTopPosition,
42752
43014
  rightPosition: channelEditIconRightPosition,
42753
43015
  onClick: function onClick() {
@@ -42757,7 +43019,14 @@ var Details = function Details(_ref) {
42757
43019
  color: textSecondary,
42758
43020
  fontSize: channelMembersFontSize,
42759
43021
  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, {
43022
+ }, showPhoneNumber && directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id ? (/*#__PURE__*/React__default.createElement(PhoneNumberContainer, {
43023
+ onClick: handleCopyPhoneNumber,
43024
+ role: 'button',
43025
+ "aria-label": 'Copy phone number'
43026
+ }, "+" + directChannelUser.id, copiedPhone && (/*#__PURE__*/React__default.createElement(CopiedTooltip, {
43027
+ background: tooltipBackground,
43028
+ color: textOnPrimary
43029
+ }, "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
43030
  color: textSecondary,
42762
43031
  fontSize: channelMembersFontSize,
42763
43032
  lineHeight: channelMembersLineHeight
@@ -42922,6 +43191,7 @@ var ChannelName$1 = styled__default(SectionHeader)(_templateObject0$g || (_templ
42922
43191
  });
42923
43192
  var ChannelNameWrapper = styled__default.div(_templateObject1$d || (_templateObject1$d = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
42924
43193
  var EditButton = styled__default.span(_templateObject10$8 || (_templateObject10$8 = _taggedTemplateLiteralLoose(["\n margin-left: 6px;\n cursor: pointer;\n color: #b2b6be;\n"])));
43194
+ 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"])));
42925
43195
 
42926
43196
  var _templateObject$_;
42927
43197
  var ChannelDetailsContainer = function ChannelDetailsContainer(_ref) {