sceyt-chat-react-uikit 1.9.0-beta.11 → 1.9.0-beta.13

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 +40 -18
  2. package/index.modern.js +40 -18
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -11139,7 +11139,7 @@ var compressAndCacheImage = function compressAndCacheImage(url, cacheKey, maxWid
11139
11139
 
11140
11140
  var bytesToSize = function bytesToSize(bytes, decimals) {
11141
11141
  if (decimals === void 0) {
11142
- decimals = 2;
11142
+ decimals = 1;
11143
11143
  }
11144
11144
  if (bytes === 0) return '0 Bytes';
11145
11145
  var k = 1000;
@@ -41210,7 +41210,7 @@ var Attachment = function Attachment(_ref) {
41210
41210
  }, _formatLargeText(isPreview ? attachment.data.name : attachment.name, fileAttachmentWidth ? fileAttachmentWidth / 12.5 : isPreview ? 18 : 30)), /*#__PURE__*/React__default.createElement(AttachmentSize, {
41211
41211
  color: selectedFileAttachmentsSizeColor || textSecondary,
41212
41212
  errorColor: errorColor
41213
- }, (isInUploadingState || downloadingFile) && sizeProgress ? bytesToSize(sizeProgress.loaded, 1) + " \u2022 " + bytesToSize(sizeProgress.total, 1) : (attachment.data && attachment.data.size || attachment.size) && bytesToSize(isPreview ? attachment.data.size : +attachment.size)))), isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
41213
+ }, (isInUploadingState || downloadingFile) && sizeProgress ? bytesToSize(sizeProgress.loaded, 1) + " \u2022 " + bytesToSize(sizeProgress.total, 1) : (attachment.data && attachment.data.size || attachment.size) && bytesToSize(isPreview ? attachment.data.size : +attachment.size, 1)))), isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
41214
41214
  "$backgroundColor": background,
41215
41215
  color: iconPrimary,
41216
41216
  onClick: function onClick() {
@@ -50792,9 +50792,10 @@ var MESSAGE_ACTIONS_HOVER_DELAY = 450;
50792
50792
  var MESSAGE_ACTIONS_FLIP_THRESHOLD = 110;
50793
50793
  var MAX_SELECTED_MESSAGES = 30;
50794
50794
  var EMOJI_POPUP_THRESHOLD = 300;
50795
+ var PIN_TYPE_PERSONAL$1 = 1;
50795
50796
  var lastMediaItemClickTime = 0;
50796
50797
  var Message$1 = function Message(_ref) {
50797
- var _tabIsActiveRef$curre, _message$pinDetails, _message$reactionTota;
50798
+ var _tabIsActiveRef$curre, _message$pinDetails, _channel$members, _message$reactionTota;
50798
50799
  var message = _ref.message,
50799
50800
  channel = _ref.channel,
50800
50801
  MessageActionsMenu = _ref.MessageActionsMenu,
@@ -51025,6 +51026,8 @@ var Message$1 = function Message(_ref) {
51025
51026
  }, [pins, message.id, message.tid]);
51026
51027
  var isPinned = !!((_message$pinDetails = message.pinDetails) !== null && _message$pinDetails !== void 0 && _message$pinDetails.pinned) || !!pinnedMessage;
51027
51028
  var canPinForAll = checkActionPermission('pinMessage');
51029
+ var user = getClient().user;
51030
+ var isSelfChannel = (channel === null || channel === void 0 ? void 0 : channel.type) === DEFAULT_CHANNEL_TYPE.DIRECT && (channel === null || channel === void 0 ? void 0 : channel.memberCount) === 1 && (channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) > 0 && (channel === null || channel === void 0 ? void 0 : channel.members[0].id) === (user === null || user === void 0 ? void 0 : user.id);
51028
51031
  var messageItemRef = React.useRef(null);
51029
51032
  var isVisible = useOnScreen(messageItemRef);
51030
51033
  var _useState = React.useState(false),
@@ -51049,14 +51052,21 @@ var Message$1 = function Message(_ref) {
51049
51052
  var nextMessageFirstInInterval = !nextMessage || nextDay !== null && nextDay.diff(current, 'days') !== 0 || nextMessage.type === exports.MESSAGE_TYPE.SYSTEM || nextMessageStartsUnreadSection;
51050
51053
  var messageTimeVisible = showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
51051
51054
  var messageStatusVisible = !message.incoming && showMessageStatus && message.state !== MESSAGE_STATUS.DELETE && (showMessageStatusForEachMessage || !nextMessage);
51052
- var renderAvatar = (!!prevMessageUserID || ifLatestAndHasNotPreview) && (prevMessageUserID !== messageUserID || firstMessageInInterval) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
51055
+ var renderAvatar = (!!prevMessageUserID || ifLatestAndHasNotPreview) && (prevMessageUserID !== messageUserID || firstMessageInInterval) && !(isPinnedMessagesList && channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
51053
51056
  var selectionIsActive = selectedMessagesMap && selectedMessagesMap.size > 0;
51054
51057
  var isSelectedMessage = selectedMessagesMap && selectedMessagesMap.get(message.id || message.tid);
51055
51058
  var tooManySelected = selectedMessagesMap && selectedMessagesMap.size >= MAX_SELECTED_MESSAGES;
51059
+ var openPinnedMessageInConversation = React.useCallback(function () {
51060
+ if (!isPinnedMessagesList) return;
51061
+ var messageId = message.id || message.tid;
51062
+ if (messageId) navigateToMessage(messageId);
51063
+ dispatch(requestPinnedMessagesListCloseAC());
51064
+ }, [dispatch, isPinnedMessagesList, message.id, message.tid]);
51056
51065
  var toggleEditMode = React.useCallback(function () {
51066
+ openPinnedMessageInConversation();
51057
51067
  dispatch(setMessageToEditAC(message));
51058
51068
  setMessageActionsShow(false);
51059
- }, [dispatch, message]);
51069
+ }, [dispatch, message, openPinnedMessageInConversation]);
51060
51070
  var handleRetractVote = React.useCallback(function () {
51061
51071
  var _message$pollDetails;
51062
51072
  if (message !== null && message !== void 0 && (_message$pollDetails = message.pollDetails) !== null && _message$pollDetails !== void 0 && _message$pollDetails.id) {
@@ -51102,11 +51112,16 @@ var Message$1 = function Message(_ref) {
51102
51112
  setMessageActionsShow(false);
51103
51113
  }, [channel.id, isPinnedMessagesList, message.id, message.tid, setInfoPopupOpen, setMessageActionsShow]);
51104
51114
  var handleTogglePinMessagePopup = React.useCallback(function () {
51115
+ if (isSelfChannel) {
51116
+ dispatch(pinMessageAC(channel.id, message, PIN_TYPE_PERSONAL$1));
51117
+ setMessageActionsShow(false);
51118
+ return;
51119
+ }
51105
51120
  setPinPopupOpen(function (prev) {
51106
51121
  return !prev;
51107
51122
  });
51108
51123
  setMessageActionsShow(false);
51109
- }, [setPinPopupOpen, setMessageActionsShow]);
51124
+ }, [channel.id, dispatch, isSelfChannel, message, setMessageActionsShow, setPinPopupOpen]);
51110
51125
  var handlePinMessage = React.useCallback(function (scope) {
51111
51126
  dispatch(pinMessageAC(channel.id, message, scope));
51112
51127
  setPinPopupOpen(false);
@@ -51118,11 +51133,12 @@ var Message$1 = function Message(_ref) {
51118
51133
  setMessageActionsShow(false);
51119
51134
  }, [channel.id, dispatch, message, pinnedMessage, setMessageActionsShow]);
51120
51135
  var handleReplyMessage = React.useCallback(function (threadReply) {
51136
+ openPinnedMessageInConversation();
51121
51137
  if (threadReply) ; else {
51122
51138
  dispatch(setMessageForReplyAC(message));
51123
51139
  }
51124
51140
  setMessageActionsShow(false);
51125
- }, [dispatch, message]);
51141
+ }, [dispatch, message, openPinnedMessageInConversation]);
51126
51142
  var handleToggleReportPopupOpen = React.useCallback(function () {
51127
51143
  setReportPopupOpen(function (prev) {
51128
51144
  return !prev;
@@ -51300,6 +51316,7 @@ var Message$1 = function Message(_ref) {
51300
51316
  }
51301
51317
  }, [dispatch, selectionIsActive]);
51302
51318
  React.useEffect(function () {
51319
+ if (isPinnedMessagesList) return;
51303
51320
  if (isVisible) {
51304
51321
  if (setLastVisibleMessageId) {
51305
51322
  setLastVisibleMessageId(message);
@@ -51312,12 +51329,13 @@ var Message$1 = function Message(_ref) {
51312
51329
  } else {
51313
51330
  dispatch(removeVisibleMessageAC(message));
51314
51331
  }
51315
- }, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, isTabActive]);
51332
+ }, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, isTabActive, isPinnedMessagesList]);
51316
51333
  React.useEffect(function () {
51334
+ if (isPinnedMessagesList) return undefined;
51317
51335
  return function () {
51318
51336
  dispatch(removeVisibleMessageAC(message));
51319
51337
  };
51320
- }, [dispatch, message]);
51338
+ }, [dispatch, isPinnedMessagesList, message]);
51321
51339
  React.useEffect(function () {
51322
51340
  if (!isPinnedMessagesList && !isVisible && infoPopupOpen) {
51323
51341
  setInfoPopupOpen(false);
@@ -51461,7 +51479,7 @@ var Message$1 = function Message(_ref) {
51461
51479
  selectionIsActive: selectionIsActive,
51462
51480
  messageWidthPercent: messageWidthPercent,
51463
51481
  rtl: ownMessageOnRightSide && !message.incoming,
51464
- withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
51482
+ withAvatar: !(isPinnedMessagesList && channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
51465
51483
  className: 'messageContent'
51466
51484
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
51467
51485
  rtl: ownMessageOnRightSide && !message.incoming,
@@ -52910,7 +52928,7 @@ var MessageList = function MessageList(_ref) {
52910
52928
  isUnreadMessage: false,
52911
52929
  nextMessageStartsUnreadSection: false,
52912
52930
  isHighlighted: false,
52913
- ifLatestAndHasNotPreview: false,
52931
+ ifLatestAndHasNotPreview: channel.type !== DEFAULT_CHANNEL_TYPE.DIRECT,
52914
52932
  registerInMessagesIndex: false,
52915
52933
  isPinnedMessagesList: true
52916
52934
  });
@@ -55030,10 +55048,10 @@ var Emoji$1 = styled__default.li(_templateObject8$m || (_templateObject8$m = _ta
55030
55048
  return props.hoverBackgroundColor;
55031
55049
  });
55032
55050
 
55033
- var waitForImageAttachmentPreparation = function waitForImageAttachmentPreparation(attachments, preparations) {
55051
+ var waitForMediaAttachmentPreparation = function waitForMediaAttachmentPreparation(attachments, preparations) {
55034
55052
  try {
55035
55053
  return Promise.resolve(Promise.all(attachments.filter(function (attachment) {
55036
- return attachment.type === attachmentTypes.image;
55054
+ return attachment.type === attachmentTypes.image || getOutgoingAttachmentType(attachment) === attachmentTypes.video;
55037
55055
  }).map(function (attachment) {
55038
55056
  return attachment.tid ? preparations.get(attachment.tid) : undefined;
55039
55057
  }))).then(function () {});
@@ -57087,7 +57105,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
57087
57105
  }
57088
57106
  var _temp = function () {
57089
57107
  if (attachments.length) {
57090
- return Promise.resolve(waitForImageAttachmentPreparation(attachments, attachmentPreparationPromisesRef.current)).then(function () {
57108
+ return Promise.resolve(waitForMediaAttachmentPreparation(attachments, attachmentPreparationPromisesRef.current)).then(function () {
57091
57109
  var sendAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
57092
57110
  messageToSend.attachments = mergePreparedAttachmentPatches(attachments, preparedAttachmentPatchesRef.current).map(function (preparedAttachment) {
57093
57111
  return {
@@ -57676,7 +57694,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
57676
57694
  }
57677
57695
  }, 0);
57678
57696
  });
57679
- if (fileType === 'image') {
57697
+ if (fileType === 'image' || fileType === 'video') {
57680
57698
  attachmentPreparationPromisesRef.current.set(tid, preparationPromise);
57681
57699
  }
57682
57700
  return Promise.resolve();
@@ -58137,7 +58155,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
58137
58155
  return /*#__PURE__*/React__default.createElement(SendMessageWrapper, {
58138
58156
  ref: sendMessageWrapperRef,
58139
58157
  backgroundColor: backgroundColor || background,
58140
- "$hidden": pinnedMessagesListOpen && !messageToEdit && !messageForReply && !(selectedMessagesMap !== null && selectedMessagesMap !== void 0 && selectedMessagesMap.size)
58158
+ "$hidden": pinnedMessagesListOpen
58141
58159
  }, /*#__PURE__*/React__default.createElement(Container$m, {
58142
58160
  margin: margin,
58143
58161
  padding: padding,
@@ -58559,10 +58577,14 @@ var SendMessageInput = function SendMessageInput(_ref3) {
58559
58577
  ViewOnceNotSelectedSVGIcon: ViewOnceNotSelectedSVGIcon
58560
58578
  }))))))))));
58561
58579
  };
58562
- var SendMessageWrapper = styled__default.div(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n visibility: ", ";\n pointer-events: ", ";\n background-color: ", ";\n position: relative;\n z-index: 10;\n"])), function (props) {
58580
+ var SendMessageWrapper = styled__default.div(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n visibility: ", ";\n pointer-events: ", ";\n max-height: ", ";\n overflow: ", ";\n background-color: ", ";\n position: relative;\n z-index: 10;\n"])), function (props) {
58563
58581
  return props.$hidden ? 'hidden' : 'visible';
58564
58582
  }, function (props) {
58565
58583
  return props.$hidden ? 'none' : 'auto';
58584
+ }, function (props) {
58585
+ return props.$hidden ? '40px' : 'none';
58586
+ }, function (props) {
58587
+ return props.$hidden ? 'hidden' : 'visible';
58566
58588
  }, function (props) {
58567
58589
  return props.backgroundColor;
58568
58590
  });
@@ -60478,7 +60500,7 @@ var Files = function Files(_ref) {
60478
60500
  fontSize: fileSizeFontSize,
60479
60501
  lineHeight: fileSizeLineHeight,
60480
60502
  color: filePreviewSizeColor || textSecondary
60481
- }, file.size ? bytesToSize(file.size) + " \u2022 " + formatChannelDetailsDate(file.createdAt) : formatChannelDetailsDate(file.createdAt))), /*#__PURE__*/React__default.createElement(DownloadWrapper, {
60503
+ }, file.size ? bytesToSize(file.size, 1) + " \u2022 " + formatChannelDetailsDate(file.createdAt) : formatChannelDetailsDate(file.createdAt))), /*#__PURE__*/React__default.createElement(DownloadWrapper, {
60482
60504
  visible: !!downloadingFilesMap[file.id],
60483
60505
  iconColor: accentColor,
60484
60506
  onClick: function onClick() {
package/index.modern.js CHANGED
@@ -11119,7 +11119,7 @@ var compressAndCacheImage = function compressAndCacheImage(url, cacheKey, maxWid
11119
11119
 
11120
11120
  var bytesToSize = function bytesToSize(bytes, decimals) {
11121
11121
  if (decimals === void 0) {
11122
- decimals = 2;
11122
+ decimals = 1;
11123
11123
  }
11124
11124
  if (bytes === 0) return '0 Bytes';
11125
11125
  var k = 1000;
@@ -41190,7 +41190,7 @@ var Attachment = function Attachment(_ref) {
41190
41190
  }, _formatLargeText(isPreview ? attachment.data.name : attachment.name, fileAttachmentWidth ? fileAttachmentWidth / 12.5 : isPreview ? 18 : 30)), /*#__PURE__*/React__default.createElement(AttachmentSize, {
41191
41191
  color: selectedFileAttachmentsSizeColor || textSecondary,
41192
41192
  errorColor: errorColor
41193
- }, (isInUploadingState || downloadingFile) && sizeProgress ? bytesToSize(sizeProgress.loaded, 1) + " \u2022 " + bytesToSize(sizeProgress.total, 1) : (attachment.data && attachment.data.size || attachment.size) && bytesToSize(isPreview ? attachment.data.size : +attachment.size)))), isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
41193
+ }, (isInUploadingState || downloadingFile) && sizeProgress ? bytesToSize(sizeProgress.loaded, 1) + " \u2022 " + bytesToSize(sizeProgress.total, 1) : (attachment.data && attachment.data.size || attachment.size) && bytesToSize(isPreview ? attachment.data.size : +attachment.size, 1)))), isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
41194
41194
  "$backgroundColor": background,
41195
41195
  color: iconPrimary,
41196
41196
  onClick: function onClick() {
@@ -50772,9 +50772,10 @@ var MESSAGE_ACTIONS_HOVER_DELAY = 450;
50772
50772
  var MESSAGE_ACTIONS_FLIP_THRESHOLD = 110;
50773
50773
  var MAX_SELECTED_MESSAGES = 30;
50774
50774
  var EMOJI_POPUP_THRESHOLD = 300;
50775
+ var PIN_TYPE_PERSONAL$1 = 1;
50775
50776
  var lastMediaItemClickTime = 0;
50776
50777
  var Message$1 = function Message(_ref) {
50777
- var _tabIsActiveRef$curre, _message$pinDetails, _message$reactionTota;
50778
+ var _tabIsActiveRef$curre, _message$pinDetails, _channel$members, _message$reactionTota;
50778
50779
  var message = _ref.message,
50779
50780
  channel = _ref.channel,
50780
50781
  MessageActionsMenu = _ref.MessageActionsMenu,
@@ -51005,6 +51006,8 @@ var Message$1 = function Message(_ref) {
51005
51006
  }, [pins, message.id, message.tid]);
51006
51007
  var isPinned = !!((_message$pinDetails = message.pinDetails) !== null && _message$pinDetails !== void 0 && _message$pinDetails.pinned) || !!pinnedMessage;
51007
51008
  var canPinForAll = checkActionPermission('pinMessage');
51009
+ var user = getClient().user;
51010
+ var isSelfChannel = (channel === null || channel === void 0 ? void 0 : channel.type) === DEFAULT_CHANNEL_TYPE.DIRECT && (channel === null || channel === void 0 ? void 0 : channel.memberCount) === 1 && (channel === null || channel === void 0 ? void 0 : (_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) > 0 && (channel === null || channel === void 0 ? void 0 : channel.members[0].id) === (user === null || user === void 0 ? void 0 : user.id);
51008
51011
  var messageItemRef = useRef(null);
51009
51012
  var isVisible = useOnScreen(messageItemRef);
51010
51013
  var _useState = useState(false),
@@ -51029,14 +51032,21 @@ var Message$1 = function Message(_ref) {
51029
51032
  var nextMessageFirstInInterval = !nextMessage || nextDay !== null && nextDay.diff(current, 'days') !== 0 || nextMessage.type === MESSAGE_TYPE.SYSTEM || nextMessageStartsUnreadSection;
51030
51033
  var messageTimeVisible = showMessageTime && (showMessageTimeForEachMessage || !nextMessage);
51031
51034
  var messageStatusVisible = !message.incoming && showMessageStatus && message.state !== MESSAGE_STATUS.DELETE && (showMessageStatusForEachMessage || !nextMessage);
51032
- var renderAvatar = (!!prevMessageUserID || ifLatestAndHasNotPreview) && (prevMessageUserID !== messageUserID || firstMessageInInterval) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
51035
+ var renderAvatar = (!!prevMessageUserID || ifLatestAndHasNotPreview) && (prevMessageUserID !== messageUserID || firstMessageInInterval) && !(isPinnedMessagesList && channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar);
51033
51036
  var selectionIsActive = selectedMessagesMap && selectedMessagesMap.size > 0;
51034
51037
  var isSelectedMessage = selectedMessagesMap && selectedMessagesMap.get(message.id || message.tid);
51035
51038
  var tooManySelected = selectedMessagesMap && selectedMessagesMap.size >= MAX_SELECTED_MESSAGES;
51039
+ var openPinnedMessageInConversation = useCallback(function () {
51040
+ if (!isPinnedMessagesList) return;
51041
+ var messageId = message.id || message.tid;
51042
+ if (messageId) navigateToMessage(messageId);
51043
+ dispatch(requestPinnedMessagesListCloseAC());
51044
+ }, [dispatch, isPinnedMessagesList, message.id, message.tid]);
51036
51045
  var toggleEditMode = useCallback(function () {
51046
+ openPinnedMessageInConversation();
51037
51047
  dispatch(setMessageToEditAC(message));
51038
51048
  setMessageActionsShow(false);
51039
- }, [dispatch, message]);
51049
+ }, [dispatch, message, openPinnedMessageInConversation]);
51040
51050
  var handleRetractVote = useCallback(function () {
51041
51051
  var _message$pollDetails;
51042
51052
  if (message !== null && message !== void 0 && (_message$pollDetails = message.pollDetails) !== null && _message$pollDetails !== void 0 && _message$pollDetails.id) {
@@ -51082,11 +51092,16 @@ var Message$1 = function Message(_ref) {
51082
51092
  setMessageActionsShow(false);
51083
51093
  }, [channel.id, isPinnedMessagesList, message.id, message.tid, setInfoPopupOpen, setMessageActionsShow]);
51084
51094
  var handleTogglePinMessagePopup = useCallback(function () {
51095
+ if (isSelfChannel) {
51096
+ dispatch(pinMessageAC(channel.id, message, PIN_TYPE_PERSONAL$1));
51097
+ setMessageActionsShow(false);
51098
+ return;
51099
+ }
51085
51100
  setPinPopupOpen(function (prev) {
51086
51101
  return !prev;
51087
51102
  });
51088
51103
  setMessageActionsShow(false);
51089
- }, [setPinPopupOpen, setMessageActionsShow]);
51104
+ }, [channel.id, dispatch, isSelfChannel, message, setMessageActionsShow, setPinPopupOpen]);
51090
51105
  var handlePinMessage = useCallback(function (scope) {
51091
51106
  dispatch(pinMessageAC(channel.id, message, scope));
51092
51107
  setPinPopupOpen(false);
@@ -51098,11 +51113,12 @@ var Message$1 = function Message(_ref) {
51098
51113
  setMessageActionsShow(false);
51099
51114
  }, [channel.id, dispatch, message, pinnedMessage, setMessageActionsShow]);
51100
51115
  var handleReplyMessage = useCallback(function (threadReply) {
51116
+ openPinnedMessageInConversation();
51101
51117
  if (threadReply) ; else {
51102
51118
  dispatch(setMessageForReplyAC(message));
51103
51119
  }
51104
51120
  setMessageActionsShow(false);
51105
- }, [dispatch, message]);
51121
+ }, [dispatch, message, openPinnedMessageInConversation]);
51106
51122
  var handleToggleReportPopupOpen = useCallback(function () {
51107
51123
  setReportPopupOpen(function (prev) {
51108
51124
  return !prev;
@@ -51280,6 +51296,7 @@ var Message$1 = function Message(_ref) {
51280
51296
  }
51281
51297
  }, [dispatch, selectionIsActive]);
51282
51298
  useEffect(function () {
51299
+ if (isPinnedMessagesList) return;
51283
51300
  if (isVisible) {
51284
51301
  if (setLastVisibleMessageId) {
51285
51302
  setLastVisibleMessageId(message);
@@ -51292,12 +51309,13 @@ var Message$1 = function Message(_ref) {
51292
51309
  } else {
51293
51310
  dispatch(removeVisibleMessageAC(message));
51294
51311
  }
51295
- }, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, isTabActive]);
51312
+ }, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, isTabActive, isPinnedMessagesList]);
51296
51313
  useEffect(function () {
51314
+ if (isPinnedMessagesList) return undefined;
51297
51315
  return function () {
51298
51316
  dispatch(removeVisibleMessageAC(message));
51299
51317
  };
51300
- }, [dispatch, message]);
51318
+ }, [dispatch, isPinnedMessagesList, message]);
51301
51319
  useEffect(function () {
51302
51320
  if (!isPinnedMessagesList && !isVisible && infoPopupOpen) {
51303
51321
  setInfoPopupOpen(false);
@@ -51441,7 +51459,7 @@ var Message$1 = function Message(_ref) {
51441
51459
  selectionIsActive: selectionIsActive,
51442
51460
  messageWidthPercent: messageWidthPercent,
51443
51461
  rtl: ownMessageOnRightSide && !message.incoming,
51444
- withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
51462
+ withAvatar: !(isPinnedMessagesList && channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) && !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
51445
51463
  className: 'messageContent'
51446
51464
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
51447
51465
  rtl: ownMessageOnRightSide && !message.incoming,
@@ -52890,7 +52908,7 @@ var MessageList = function MessageList(_ref) {
52890
52908
  isUnreadMessage: false,
52891
52909
  nextMessageStartsUnreadSection: false,
52892
52910
  isHighlighted: false,
52893
- ifLatestAndHasNotPreview: false,
52911
+ ifLatestAndHasNotPreview: channel.type !== DEFAULT_CHANNEL_TYPE.DIRECT,
52894
52912
  registerInMessagesIndex: false,
52895
52913
  isPinnedMessagesList: true
52896
52914
  });
@@ -55010,10 +55028,10 @@ var Emoji$1 = styled.li(_templateObject8$m || (_templateObject8$m = _taggedTempl
55010
55028
  return props.hoverBackgroundColor;
55011
55029
  });
55012
55030
 
55013
- var waitForImageAttachmentPreparation = function waitForImageAttachmentPreparation(attachments, preparations) {
55031
+ var waitForMediaAttachmentPreparation = function waitForMediaAttachmentPreparation(attachments, preparations) {
55014
55032
  try {
55015
55033
  return Promise.resolve(Promise.all(attachments.filter(function (attachment) {
55016
- return attachment.type === attachmentTypes.image;
55034
+ return attachment.type === attachmentTypes.image || getOutgoingAttachmentType(attachment) === attachmentTypes.video;
55017
55035
  }).map(function (attachment) {
55018
55036
  return attachment.tid ? preparations.get(attachment.tid) : undefined;
55019
55037
  }))).then(function () {});
@@ -57067,7 +57085,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
57067
57085
  }
57068
57086
  var _temp = function () {
57069
57087
  if (attachments.length) {
57070
- return Promise.resolve(waitForImageAttachmentPreparation(attachments, attachmentPreparationPromisesRef.current)).then(function () {
57088
+ return Promise.resolve(waitForMediaAttachmentPreparation(attachments, attachmentPreparationPromisesRef.current)).then(function () {
57071
57089
  var sendAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
57072
57090
  messageToSend.attachments = mergePreparedAttachmentPatches(attachments, preparedAttachmentPatchesRef.current).map(function (preparedAttachment) {
57073
57091
  return {
@@ -57656,7 +57674,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
57656
57674
  }
57657
57675
  }, 0);
57658
57676
  });
57659
- if (fileType === 'image') {
57677
+ if (fileType === 'image' || fileType === 'video') {
57660
57678
  attachmentPreparationPromisesRef.current.set(tid, preparationPromise);
57661
57679
  }
57662
57680
  return Promise.resolve();
@@ -58117,7 +58135,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
58117
58135
  return /*#__PURE__*/React__default.createElement(SendMessageWrapper, {
58118
58136
  ref: sendMessageWrapperRef,
58119
58137
  backgroundColor: backgroundColor || background,
58120
- "$hidden": pinnedMessagesListOpen && !messageToEdit && !messageForReply && !(selectedMessagesMap !== null && selectedMessagesMap !== void 0 && selectedMessagesMap.size)
58138
+ "$hidden": pinnedMessagesListOpen
58121
58139
  }, /*#__PURE__*/React__default.createElement(Container$m, {
58122
58140
  margin: margin,
58123
58141
  padding: padding,
@@ -58539,10 +58557,14 @@ var SendMessageInput = function SendMessageInput(_ref3) {
58539
58557
  ViewOnceNotSelectedSVGIcon: ViewOnceNotSelectedSVGIcon
58540
58558
  }))))))))));
58541
58559
  };
58542
- var SendMessageWrapper = styled.div(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n visibility: ", ";\n pointer-events: ", ";\n background-color: ", ";\n position: relative;\n z-index: 10;\n"])), function (props) {
58560
+ var SendMessageWrapper = styled.div(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n visibility: ", ";\n pointer-events: ", ";\n max-height: ", ";\n overflow: ", ";\n background-color: ", ";\n position: relative;\n z-index: 10;\n"])), function (props) {
58543
58561
  return props.$hidden ? 'hidden' : 'visible';
58544
58562
  }, function (props) {
58545
58563
  return props.$hidden ? 'none' : 'auto';
58564
+ }, function (props) {
58565
+ return props.$hidden ? '40px' : 'none';
58566
+ }, function (props) {
58567
+ return props.$hidden ? 'hidden' : 'visible';
58546
58568
  }, function (props) {
58547
58569
  return props.backgroundColor;
58548
58570
  });
@@ -60458,7 +60480,7 @@ var Files = function Files(_ref) {
60458
60480
  fontSize: fileSizeFontSize,
60459
60481
  lineHeight: fileSizeLineHeight,
60460
60482
  color: filePreviewSizeColor || textSecondary
60461
- }, file.size ? bytesToSize(file.size) + " \u2022 " + formatChannelDetailsDate(file.createdAt) : formatChannelDetailsDate(file.createdAt))), /*#__PURE__*/React__default.createElement(DownloadWrapper, {
60483
+ }, file.size ? bytesToSize(file.size, 1) + " \u2022 " + formatChannelDetailsDate(file.createdAt) : formatChannelDetailsDate(file.createdAt))), /*#__PURE__*/React__default.createElement(DownloadWrapper, {
60462
60484
  visible: !!downloadingFilesMap[file.id],
60463
60485
  iconColor: accentColor,
60464
60486
  onClick: function onClick() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.9.0-beta.11",
3
+ "version": "1.9.0-beta.13",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",