sceyt-chat-react-uikit 1.8.9-beta.7 → 1.8.9-beta.9

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.
Files changed (3) hide show
  1. package/index.js +36 -30
  2. package/index.modern.js +36 -30
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -12613,6 +12613,15 @@ var removeAudioRecordingFromMap = function removeAudioRecordingFromMap(channelId
12613
12613
  delete audioRecordingMap[channelId];
12614
12614
  };
12615
12615
  var setDraftMessageToMap = function setDraftMessageToMap(channelId, draftMessage) {
12616
+ var _draftMessage$attachm, _draftMessage$text, _draftMessage$editMes;
12617
+ var hasAttachments = !!((_draftMessage$attachm = draftMessage.attachments) !== null && _draftMessage$attachm !== void 0 && _draftMessage$attachm.length);
12618
+ var hasComposeText = !draftMessage.messageToEdit && !!((_draftMessage$text = draftMessage.text) !== null && _draftMessage$text !== void 0 && _draftMessage$text.trim());
12619
+ var editText = ((_draftMessage$editMes = draftMessage.editMessageText) === null || _draftMessage$editMes === void 0 ? void 0 : _draftMessage$editMes.trim()) || '';
12620
+ var hasChangedEdit = !!draftMessage.messageToEdit && !!editText && (draftMessage.editMessageText !== draftMessage.messageToEdit.body || JSON.stringify(draftMessage.editBodyAttributes || []) !== JSON.stringify(draftMessage.messageToEdit.bodyAttributes || []));
12621
+ if (!hasComposeText && !hasAttachments && !hasChangedEdit) {
12622
+ removeDraftMessageFromMap(channelId);
12623
+ return;
12624
+ }
12616
12625
  draftMessagesMap[channelId] = draftMessage;
12617
12626
  Promise.resolve(persistDraft(channelId, draftMessage))["catch"](function () {
12618
12627
  return undefined;
@@ -31911,6 +31920,8 @@ var Channel = function Channel(_ref3) {
31911
31920
  var unsupportedMessage = React.useMemo(function () {
31912
31921
  return isMessageUnsupported(lastMessage);
31913
31922
  }, [lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type]);
31923
+ var shouldShowDraft = !!draftMessageText && !(channel.newMessageCount > 0);
31924
+ var displayedLastMessage = shouldShowDraft ? draftMessage || lastMessage : lastMessage;
31914
31925
  var MessageText = React.useMemo(function () {
31915
31926
  return /*#__PURE__*/React__default.createElement(ChannelMessageText, {
31916
31927
  isTypingOrRecording: (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping) || (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording),
@@ -31923,12 +31934,12 @@ var Channel = function Channel(_ref3) {
31923
31934
  channel: channel,
31924
31935
  textPrimary: textPrimary,
31925
31936
  textSecondary: textSecondary,
31926
- draftMessageText: draftMessageText,
31927
- lastMessage: draftMessage || lastMessage,
31937
+ draftMessageText: shouldShowDraft ? draftMessageText : '',
31938
+ lastMessage: displayedLastMessage,
31928
31939
  isDirectChannel: isDirectChannel,
31929
31940
  unsupportedMessage: unsupportedMessage && !getCustomLatestMessage
31930
31941
  });
31931
- }, [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]);
31942
+ }, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, shouldShowDraft, displayedLastMessage, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel, unsupportedMessage]);
31932
31943
  var getCustomLatestMessageComponent = React.useCallback(function (_ref4) {
31933
31944
  var lastMessage = _ref4.lastMessage,
31934
31945
  typingOrRecording = _ref4.typingOrRecording,
@@ -32019,7 +32030,7 @@ var Channel = function Channel(_ref3) {
32019
32030
  }, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), getCustomLatestMessage && !typingOrRecording.items.length ? getCustomLatestMessageComponent({
32020
32031
  lastMessage: lastMessage,
32021
32032
  typingOrRecording: typingOrRecording,
32022
- draftMessageText: draftMessageText,
32033
+ draftMessageText: shouldShowDraft ? draftMessageText : undefined,
32023
32034
  textSecondary: textSecondary,
32024
32035
  channel: channel,
32025
32036
  channelLastMessageFontSize: channelLastMessageFontSize || '14px',
@@ -32033,7 +32044,7 @@ var Channel = function Channel(_ref3) {
32033
32044
  user: user,
32034
32045
  MessageText: MessageText,
32035
32046
  unsupportedMessage: unsupportedMessage
32036
- }) : (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
32047
+ }) : (lastMessage || typingOrRecording.items.length > 0 || shouldShowDraft) && (/*#__PURE__*/React__default.createElement(LastMessage, {
32037
32048
  color: textSecondary,
32038
32049
  markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
32039
32050
  unreadMentions: !!(channel.newMentionCount && channel.newMentionCount > 0),
@@ -32049,7 +32060,7 @@ var Channel = function Channel(_ref3) {
32049
32060
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
32050
32061
  key: item.from.id
32051
32062
  }, makeUsername(contactsMap && contactsMap[item.from.id], item.from, getFromContacts, true), index < typingOrRecording.items.length - 1 && ', ');
32052
- })))) : null : draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
32063
+ })))) : null : shouldShowDraft ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
32053
32064
  color: warningColor
32054
32065
  }, "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, {
32055
32066
  color: textPrimary
@@ -32059,8 +32070,8 @@ var Channel = function Channel(_ref3) {
32059
32070
  color: textPrimary
32060
32071
  }, /*#__PURE__*/React__default.createElement("span", {
32061
32072
  ref: messageAuthorRef
32062
- }, lastMessage.user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts, true)))), !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (isDirectChannel ? !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (draftMessageText || lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? channel.newReactions[0].user && channel.newReactions[0].user.id === user.id : lastMessage.user.id === user.id && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM)) : draftMessageText || lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM) && (/*#__PURE__*/React__default.createElement(Points, {
32063
- color: draftMessageText && warningColor || textPrimary
32073
+ }, lastMessage.user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts, true)))), !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (isDirectChannel ? !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (shouldShowDraft || lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? channel.newReactions[0].user && channel.newReactions[0].user.id === user.id : lastMessage.user.id === user.id && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM)) : shouldShowDraft || lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && lastMessage.type !== exports.MESSAGE_TYPE.SYSTEM) && (/*#__PURE__*/React__default.createElement(Points, {
32074
+ color: shouldShowDraft && warningColor || textPrimary
32064
32075
  }, ": ")), /*#__PURE__*/React__default.createElement(LastMessageText, {
32065
32076
  color: textSecondary,
32066
32077
  withAttachments: !!(lastMessage && lastMessage.attachments && lastMessage.attachments.length && lastMessage.attachments[0].type !== attachmentTypes.link) && (!(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) || !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording)),
@@ -32069,7 +32080,7 @@ var Channel = function Channel(_ref3) {
32069
32080
  }, MessageText)))), /*#__PURE__*/React__default.createElement(ChannelStatus, {
32070
32081
  color: iconInactive,
32071
32082
  ref: messageTimeAndStatusRef
32072
- }, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && !draftMessageText && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && isTypeValid(lastMessage.type) && MessageStatusIcon({
32083
+ }, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && !shouldShowDraft && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && isTypeValid(lastMessage.type) && MessageStatusIcon({
32073
32084
  messageStatus: lastMessage.deliveryStatus,
32074
32085
  messageStatusDisplayingType: 'ticks',
32075
32086
  readIconColor: accentColor,
@@ -32080,7 +32091,7 @@ var Channel = function Channel(_ref3) {
32080
32091
  color: textSecondary,
32081
32092
  fontSize: channelLastMessageTimeFontSize
32082
32093
  }, lastMessage && lastMessage.createdAt && lastMessageDateFormat(lastMessage.createdAt))), /*#__PURE__*/React__default.createElement(UnreadInfo, {
32083
- bottom: !(lastMessage || typingOrRecording.items.length > 0 || draftMessageText) ? '5px' : ''
32094
+ bottom: !(lastMessage || typingOrRecording.items.length > 0 || shouldShowDraft) ? '5px' : ''
32084
32095
  }, channel.pinnedAt && (/*#__PURE__*/React__default.createElement(PinnedIconWrapper, {
32085
32096
  color: iconInactive,
32086
32097
  margin: channel.newMessageCount || channel.unread || channel.newMentionCount && channel.newMentionCount > 0 ? '0 4px 0 4px' : ''
@@ -53825,6 +53836,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53825
53836
  return;
53826
53837
  }
53827
53838
  if (messageToEdit) {
53839
+ var _getDraftMessageFromM;
53828
53840
  var persistedEditText = editMessageText || messageToEdit.body || '';
53829
53841
  var normalizeAttrs = function normalizeAttrs(attrs) {
53830
53842
  return !attrs || attrs.length === 0 ? [] : attrs;
@@ -53833,13 +53845,18 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53833
53845
  var hasAttributesChanged = !compareMessageBodyAttributes(normalizeAttrs(messageBodyAttributes), normalizeAttrs(messageToEdit.bodyAttributes));
53834
53846
  var canSubmitEdit = !!editMessageText.trim() && (hasTextChanged || hasAttributesChanged);
53835
53847
  setSendMessageIsActive(canSubmitEdit);
53836
- setDraftMessageToMap(activeChannel.id, {
53837
- text: persistedEditText || 'Edit message',
53838
- mentionedUsers: mentionedUsers,
53839
- messageToEdit: messageToEdit,
53840
- editMessageText: persistedEditText,
53841
- editBodyAttributes: messageBodyAttributes
53842
- });
53848
+ if (canSubmitEdit) {
53849
+ setDraftMessageToMap(activeChannel.id, {
53850
+ text: persistedEditText,
53851
+ mentionedUsers: mentionedUsers,
53852
+ messageToEdit: messageToEdit,
53853
+ editMessageText: persistedEditText,
53854
+ editBodyAttributes: messageBodyAttributes
53855
+ });
53856
+ } else if ((_getDraftMessageFromM = getDraftMessageFromMap(activeChannel.id)) !== null && _getDraftMessageFromM !== void 0 && _getDraftMessageFromM.messageToEdit) {
53857
+ removeDraftMessageFromMap(activeChannel.id);
53858
+ dispatch(setChannelDraftMessageIsRemovedAC(activeChannel.id));
53859
+ }
53843
53860
  return;
53844
53861
  }
53845
53862
  if (messageText.trim() || editMessageText !== null && editMessageText !== void 0 && editMessageText.trim() && editMessageText && (editMessageText === null || editMessageText === void 0 ? void 0 : editMessageText.trim()) !== (messageToEdit === null || messageToEdit === void 0 ? void 0 : messageToEdit.body) || attachments.length) {
@@ -53882,15 +53899,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53882
53899
  setListenerIsAdded(true);
53883
53900
  document.body.setAttribute('onbeforeunload', "return () => 'reload?'");
53884
53901
  }
53885
- } else if (messageForReply || draftMessage !== null && draftMessage !== void 0 && draftMessage.messageForReply) {
53886
- setDraftMessageToMap(activeChannel.id, {
53887
- text: '',
53888
- mentionedUsers: (draftMessage === null || draftMessage === void 0 ? void 0 : draftMessage.mentionedUsers) || mentionedUsers,
53889
- messageForReply: messageForReply || (draftMessage === null || draftMessage === void 0 ? void 0 : draftMessage.messageForReply),
53890
- bodyAttributes: messageBodyAttributes,
53891
- attachments: [],
53892
- viewOnce: false
53893
- });
53894
53902
  } else if (draftMessage) {
53895
53903
  if (restoredDraftChannelIdRef.current && restoredDraftChannelIdRef.current !== activeChannel.id) {
53896
53904
  return;
@@ -53960,18 +53968,16 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53960
53968
  }
53961
53969
  });
53962
53970
  useDidUpdate(function () {
53963
- var _draftMessagesMap$act;
53964
- var persistedReply = (_draftMessagesMap$act = draftMessagesMap[activeChannel.id]) === null || _draftMessagesMap$act === void 0 ? void 0 : _draftMessagesMap$act.messageForReply;
53965
53971
  if (isNavigatingChannelRef.current) {
53966
53972
  isNavigatingChannelRef.current = false;
53967
53973
  return;
53968
53974
  }
53969
- var hasDraftContent = !!(messageText.trim() || attachments.length || messageForReply || persistedReply);
53975
+ var hasDraftContent = !!(messageText.trim() || attachments.length);
53970
53976
  if (hasDraftContent) {
53971
53977
  setDraftMessageToMap(activeChannel.id, {
53972
53978
  text: messageText,
53973
53979
  mentionedUsers: mentionedUsers,
53974
- messageForReply: messageForReply || persistedReply,
53980
+ messageForReply: messageForReply,
53975
53981
  bodyAttributes: messageBodyAttributes,
53976
53982
  attachments: attachments,
53977
53983
  viewOnce: viewOnce
package/index.modern.js CHANGED
@@ -12593,6 +12593,15 @@ var removeAudioRecordingFromMap = function removeAudioRecordingFromMap(channelId
12593
12593
  delete audioRecordingMap[channelId];
12594
12594
  };
12595
12595
  var setDraftMessageToMap = function setDraftMessageToMap(channelId, draftMessage) {
12596
+ var _draftMessage$attachm, _draftMessage$text, _draftMessage$editMes;
12597
+ var hasAttachments = !!((_draftMessage$attachm = draftMessage.attachments) !== null && _draftMessage$attachm !== void 0 && _draftMessage$attachm.length);
12598
+ var hasComposeText = !draftMessage.messageToEdit && !!((_draftMessage$text = draftMessage.text) !== null && _draftMessage$text !== void 0 && _draftMessage$text.trim());
12599
+ var editText = ((_draftMessage$editMes = draftMessage.editMessageText) === null || _draftMessage$editMes === void 0 ? void 0 : _draftMessage$editMes.trim()) || '';
12600
+ var hasChangedEdit = !!draftMessage.messageToEdit && !!editText && (draftMessage.editMessageText !== draftMessage.messageToEdit.body || JSON.stringify(draftMessage.editBodyAttributes || []) !== JSON.stringify(draftMessage.messageToEdit.bodyAttributes || []));
12601
+ if (!hasComposeText && !hasAttachments && !hasChangedEdit) {
12602
+ removeDraftMessageFromMap(channelId);
12603
+ return;
12604
+ }
12596
12605
  draftMessagesMap[channelId] = draftMessage;
12597
12606
  Promise.resolve(persistDraft(channelId, draftMessage))["catch"](function () {
12598
12607
  return undefined;
@@ -31891,6 +31900,8 @@ var Channel = function Channel(_ref3) {
31891
31900
  var unsupportedMessage = useMemo(function () {
31892
31901
  return isMessageUnsupported(lastMessage);
31893
31902
  }, [lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type]);
31903
+ var shouldShowDraft = !!draftMessageText && !(channel.newMessageCount > 0);
31904
+ var displayedLastMessage = shouldShowDraft ? draftMessage || lastMessage : lastMessage;
31894
31905
  var MessageText = useMemo(function () {
31895
31906
  return /*#__PURE__*/React__default.createElement(ChannelMessageText, {
31896
31907
  isTypingOrRecording: (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping) || (typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording),
@@ -31903,12 +31914,12 @@ var Channel = function Channel(_ref3) {
31903
31914
  channel: channel,
31904
31915
  textPrimary: textPrimary,
31905
31916
  textSecondary: textSecondary,
31906
- draftMessageText: draftMessageText,
31907
- lastMessage: draftMessage || lastMessage,
31917
+ draftMessageText: shouldShowDraft ? draftMessageText : '',
31918
+ lastMessage: displayedLastMessage,
31908
31919
  isDirectChannel: isDirectChannel,
31909
31920
  unsupportedMessage: unsupportedMessage && !getCustomLatestMessage
31910
31921
  });
31911
- }, [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]);
31922
+ }, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, shouldShowDraft, displayedLastMessage, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel, unsupportedMessage]);
31912
31923
  var getCustomLatestMessageComponent = useCallback(function (_ref4) {
31913
31924
  var lastMessage = _ref4.lastMessage,
31914
31925
  typingOrRecording = _ref4.typingOrRecording,
@@ -31999,7 +32010,7 @@ var Channel = function Channel(_ref3) {
31999
32010
  }, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), getCustomLatestMessage && !typingOrRecording.items.length ? getCustomLatestMessageComponent({
32000
32011
  lastMessage: lastMessage,
32001
32012
  typingOrRecording: typingOrRecording,
32002
- draftMessageText: draftMessageText,
32013
+ draftMessageText: shouldShowDraft ? draftMessageText : undefined,
32003
32014
  textSecondary: textSecondary,
32004
32015
  channel: channel,
32005
32016
  channelLastMessageFontSize: channelLastMessageFontSize || '14px',
@@ -32013,7 +32024,7 @@ var Channel = function Channel(_ref3) {
32013
32024
  user: user,
32014
32025
  MessageText: MessageText,
32015
32026
  unsupportedMessage: unsupportedMessage
32016
- }) : (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
32027
+ }) : (lastMessage || typingOrRecording.items.length > 0 || shouldShowDraft) && (/*#__PURE__*/React__default.createElement(LastMessage, {
32017
32028
  color: textSecondary,
32018
32029
  markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
32019
32030
  unreadMentions: !!(channel.newMentionCount && channel.newMentionCount > 0),
@@ -32029,7 +32040,7 @@ var Channel = function Channel(_ref3) {
32029
32040
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
32030
32041
  key: item.from.id
32031
32042
  }, makeUsername(contactsMap && contactsMap[item.from.id], item.from, getFromContacts, true), index < typingOrRecording.items.length - 1 && ', ');
32032
- })))) : null : draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
32043
+ })))) : null : shouldShowDraft ? (/*#__PURE__*/React__default.createElement(DraftMessageTitle, {
32033
32044
  color: warningColor
32034
32045
  }, "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 !== MESSAGE_TYPE.SYSTEM && (/*#__PURE__*/React__default.createElement(LastMessageAuthor, {
32035
32046
  color: textPrimary
@@ -32039,8 +32050,8 @@ var Channel = function Channel(_ref3) {
32039
32050
  color: textPrimary
32040
32051
  }, /*#__PURE__*/React__default.createElement("span", {
32041
32052
  ref: messageAuthorRef
32042
- }, lastMessage.user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts, true)))), !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (isDirectChannel ? !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (draftMessageText || lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? channel.newReactions[0].user && channel.newReactions[0].user.id === user.id : lastMessage.user.id === user.id && lastMessage.type !== MESSAGE_TYPE.SYSTEM)) : draftMessageText || lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && lastMessage.type !== MESSAGE_TYPE.SYSTEM) && (/*#__PURE__*/React__default.createElement(Points, {
32043
- color: draftMessageText && warningColor || textPrimary
32053
+ }, lastMessage.user.id === user.id ? 'You' : makeUsername(contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts, true)))), !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (isDirectChannel ? !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) && !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording) && (shouldShowDraft || lastMessage.user && lastMessage.state !== MESSAGE_STATUS.DELETE && (channel.lastReactedMessage && channel.newReactions && channel.newReactions[0] ? channel.newReactions[0].user && channel.newReactions[0].user.id === user.id : lastMessage.user.id === user.id && lastMessage.type !== MESSAGE_TYPE.SYSTEM)) : shouldShowDraft || lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && lastMessage.type !== MESSAGE_TYPE.SYSTEM) && (/*#__PURE__*/React__default.createElement(Points, {
32054
+ color: shouldShowDraft && warningColor || textPrimary
32044
32055
  }, ": ")), /*#__PURE__*/React__default.createElement(LastMessageText, {
32045
32056
  color: textSecondary,
32046
32057
  withAttachments: !!(lastMessage && lastMessage.attachments && lastMessage.attachments.length && lastMessage.attachments[0].type !== attachmentTypes.link) && (!(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isTyping) || !(typingOrRecording !== null && typingOrRecording !== void 0 && typingOrRecording.isRecording)),
@@ -32049,7 +32060,7 @@ var Channel = function Channel(_ref3) {
32049
32060
  }, MessageText)))), /*#__PURE__*/React__default.createElement(ChannelStatus, {
32050
32061
  color: iconInactive,
32051
32062
  ref: messageTimeAndStatusRef
32052
- }, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && !draftMessageText && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && isTypeValid(lastMessage.type) && MessageStatusIcon({
32063
+ }, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && !shouldShowDraft && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && isTypeValid(lastMessage.type) && MessageStatusIcon({
32053
32064
  messageStatus: lastMessage.deliveryStatus,
32054
32065
  messageStatusDisplayingType: 'ticks',
32055
32066
  readIconColor: accentColor,
@@ -32060,7 +32071,7 @@ var Channel = function Channel(_ref3) {
32060
32071
  color: textSecondary,
32061
32072
  fontSize: channelLastMessageTimeFontSize
32062
32073
  }, lastMessage && lastMessage.createdAt && lastMessageDateFormat(lastMessage.createdAt))), /*#__PURE__*/React__default.createElement(UnreadInfo, {
32063
- bottom: !(lastMessage || typingOrRecording.items.length > 0 || draftMessageText) ? '5px' : ''
32074
+ bottom: !(lastMessage || typingOrRecording.items.length > 0 || shouldShowDraft) ? '5px' : ''
32064
32075
  }, channel.pinnedAt && (/*#__PURE__*/React__default.createElement(PinnedIconWrapper, {
32065
32076
  color: iconInactive,
32066
32077
  margin: channel.newMessageCount || channel.unread || channel.newMentionCount && channel.newMentionCount > 0 ? '0 4px 0 4px' : ''
@@ -53805,6 +53816,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53805
53816
  return;
53806
53817
  }
53807
53818
  if (messageToEdit) {
53819
+ var _getDraftMessageFromM;
53808
53820
  var persistedEditText = editMessageText || messageToEdit.body || '';
53809
53821
  var normalizeAttrs = function normalizeAttrs(attrs) {
53810
53822
  return !attrs || attrs.length === 0 ? [] : attrs;
@@ -53813,13 +53825,18 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53813
53825
  var hasAttributesChanged = !compareMessageBodyAttributes(normalizeAttrs(messageBodyAttributes), normalizeAttrs(messageToEdit.bodyAttributes));
53814
53826
  var canSubmitEdit = !!editMessageText.trim() && (hasTextChanged || hasAttributesChanged);
53815
53827
  setSendMessageIsActive(canSubmitEdit);
53816
- setDraftMessageToMap(activeChannel.id, {
53817
- text: persistedEditText || 'Edit message',
53818
- mentionedUsers: mentionedUsers,
53819
- messageToEdit: messageToEdit,
53820
- editMessageText: persistedEditText,
53821
- editBodyAttributes: messageBodyAttributes
53822
- });
53828
+ if (canSubmitEdit) {
53829
+ setDraftMessageToMap(activeChannel.id, {
53830
+ text: persistedEditText,
53831
+ mentionedUsers: mentionedUsers,
53832
+ messageToEdit: messageToEdit,
53833
+ editMessageText: persistedEditText,
53834
+ editBodyAttributes: messageBodyAttributes
53835
+ });
53836
+ } else if ((_getDraftMessageFromM = getDraftMessageFromMap(activeChannel.id)) !== null && _getDraftMessageFromM !== void 0 && _getDraftMessageFromM.messageToEdit) {
53837
+ removeDraftMessageFromMap(activeChannel.id);
53838
+ dispatch(setChannelDraftMessageIsRemovedAC(activeChannel.id));
53839
+ }
53823
53840
  return;
53824
53841
  }
53825
53842
  if (messageText.trim() || editMessageText !== null && editMessageText !== void 0 && editMessageText.trim() && editMessageText && (editMessageText === null || editMessageText === void 0 ? void 0 : editMessageText.trim()) !== (messageToEdit === null || messageToEdit === void 0 ? void 0 : messageToEdit.body) || attachments.length) {
@@ -53862,15 +53879,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53862
53879
  setListenerIsAdded(true);
53863
53880
  document.body.setAttribute('onbeforeunload', "return () => 'reload?'");
53864
53881
  }
53865
- } else if (messageForReply || draftMessage !== null && draftMessage !== void 0 && draftMessage.messageForReply) {
53866
- setDraftMessageToMap(activeChannel.id, {
53867
- text: '',
53868
- mentionedUsers: (draftMessage === null || draftMessage === void 0 ? void 0 : draftMessage.mentionedUsers) || mentionedUsers,
53869
- messageForReply: messageForReply || (draftMessage === null || draftMessage === void 0 ? void 0 : draftMessage.messageForReply),
53870
- bodyAttributes: messageBodyAttributes,
53871
- attachments: [],
53872
- viewOnce: false
53873
- });
53874
53882
  } else if (draftMessage) {
53875
53883
  if (restoredDraftChannelIdRef.current && restoredDraftChannelIdRef.current !== activeChannel.id) {
53876
53884
  return;
@@ -53940,18 +53948,16 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53940
53948
  }
53941
53949
  });
53942
53950
  useDidUpdate(function () {
53943
- var _draftMessagesMap$act;
53944
- var persistedReply = (_draftMessagesMap$act = draftMessagesMap[activeChannel.id]) === null || _draftMessagesMap$act === void 0 ? void 0 : _draftMessagesMap$act.messageForReply;
53945
53951
  if (isNavigatingChannelRef.current) {
53946
53952
  isNavigatingChannelRef.current = false;
53947
53953
  return;
53948
53954
  }
53949
- var hasDraftContent = !!(messageText.trim() || attachments.length || messageForReply || persistedReply);
53955
+ var hasDraftContent = !!(messageText.trim() || attachments.length);
53950
53956
  if (hasDraftContent) {
53951
53957
  setDraftMessageToMap(activeChannel.id, {
53952
53958
  text: messageText,
53953
53959
  mentionedUsers: mentionedUsers,
53954
- messageForReply: messageForReply || persistedReply,
53960
+ messageForReply: messageForReply,
53955
53961
  bodyAttributes: messageBodyAttributes,
53956
53962
  attachments: attachments,
53957
53963
  viewOnce: viewOnce
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.8.9-beta.7",
3
+ "version": "1.8.9-beta.9",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",