sceyt-chat-react-uikit 1.7.7-beta.12 → 1.7.7-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.
@@ -15,8 +15,9 @@ interface ISystemMessageProps {
15
15
  backgroundColor?: string;
16
16
  borderRadius?: string;
17
17
  tabIsActive?: boolean;
18
+ setLastVisibleMessageId?: (messageId: string) => void;
18
19
  }
19
- declare const _default: React.MemoExoticComponent<({ message, nextMessage, connectionStatus, channel, tabIsActive, differentUserMessageSpacing, fontSize, textColor, border, backgroundColor, borderRadius, contactsMap }: ISystemMessageProps) => React.JSX.Element>;
20
+ declare const _default: React.MemoExoticComponent<({ message, nextMessage, connectionStatus, channel, tabIsActive, differentUserMessageSpacing, fontSize, textColor, border, backgroundColor, borderRadius, contactsMap, setLastVisibleMessageId }: ISystemMessageProps) => React.JSX.Element>;
20
21
  export default _default;
21
22
  export declare const Container: import("styled-components").StyledComponent<"div", any, {
22
23
  topOffset?: number | undefined;
package/index.js CHANGED
@@ -29274,7 +29274,8 @@ var Message = function Message(_ref) {
29274
29274
  border = _ref.border,
29275
29275
  backgroundColor = _ref.backgroundColor,
29276
29276
  borderRadius = _ref.borderRadius,
29277
- contactsMap = _ref.contactsMap;
29277
+ contactsMap = _ref.contactsMap,
29278
+ setLastVisibleMessageId = _ref.setLastVisibleMessageId;
29278
29279
  var _useColor = useColors(),
29279
29280
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
29280
29281
  overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
@@ -29285,19 +29286,23 @@ var Message = function Message(_ref) {
29285
29286
  var getFromContacts = getShowOnlyContactUsers();
29286
29287
  var messageItemRef = React.useRef();
29287
29288
  var isVisible = useOnScreen(messageItemRef);
29289
+ var unreadScrollTo = useSelector(unreadScrollToSelector);
29288
29290
  var messageMetas = React.useMemo(function () {
29289
29291
  return isJSON(message.metadata) ? JSON.parse(message.metadata) : message.metadata;
29290
29292
  }, [message.metadata]);
29291
29293
  var handleSendReadMarker = function handleSendReadMarker() {
29292
29294
  if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
29293
29295
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
29294
- })) && connectionStatus === CONNECTION_STATUS.CONNECTED) {
29296
+ })) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED && !unreadScrollTo) {
29295
29297
  dispatch(markMessagesAsReadAC(channel.id, [message.id]));
29296
29298
  }
29297
29299
  };
29298
29300
  React.useEffect(function () {
29299
- if (isVisible) {
29301
+ if (isVisible && !unreadScrollTo) {
29300
29302
  var _channel$lastMessage;
29303
+ if (setLastVisibleMessageId) {
29304
+ setLastVisibleMessageId(message.id);
29305
+ }
29301
29306
  handleSendReadMarker();
29302
29307
  if (!channel.isLinkedChannel) {
29303
29308
  setMessageToVisibleMessagesMap(message);
@@ -29311,7 +29316,7 @@ var Message = function Message(_ref) {
29311
29316
  removeMessageFromVisibleMessagesMap(message);
29312
29317
  }
29313
29318
  }
29314
- }, [isVisible]);
29319
+ }, [isVisible, unreadScrollTo]);
29315
29320
  useDidUpdate(function () {
29316
29321
  if (tabIsActive) {
29317
29322
  handleSendReadMarker();
@@ -38627,7 +38632,8 @@ var MessageList = function MessageList(_ref2) {
38627
38632
  textColor: dateDividerTextColor,
38628
38633
  border: dateDividerBorder,
38629
38634
  backgroundColor: dateDividerBackgroundColor,
38630
- borderRadius: dateDividerBorderRadius
38635
+ borderRadius: dateDividerBorderRadius,
38636
+ setLastVisibleMessageId: _setLastVisibleMessageId
38631
38637
  })) : (/*#__PURE__*/React__default.createElement(MessageWrapper, {
38632
38638
  key: message.id || message.tid,
38633
38639
  id: message.id,
package/index.modern.js CHANGED
@@ -29273,7 +29273,8 @@ var Message = function Message(_ref) {
29273
29273
  border = _ref.border,
29274
29274
  backgroundColor = _ref.backgroundColor,
29275
29275
  borderRadius = _ref.borderRadius,
29276
- contactsMap = _ref.contactsMap;
29276
+ contactsMap = _ref.contactsMap,
29277
+ setLastVisibleMessageId = _ref.setLastVisibleMessageId;
29277
29278
  var _useColor = useColors(),
29278
29279
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
29279
29280
  overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
@@ -29284,19 +29285,23 @@ var Message = function Message(_ref) {
29284
29285
  var getFromContacts = getShowOnlyContactUsers();
29285
29286
  var messageItemRef = useRef();
29286
29287
  var isVisible = useOnScreen(messageItemRef);
29288
+ var unreadScrollTo = useSelector(unreadScrollToSelector);
29287
29289
  var messageMetas = useMemo(function () {
29288
29290
  return isJSON(message.metadata) ? JSON.parse(message.metadata) : message.metadata;
29289
29291
  }, [message.metadata]);
29290
29292
  var handleSendReadMarker = function handleSendReadMarker() {
29291
29293
  if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
29292
29294
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
29293
- })) && connectionStatus === CONNECTION_STATUS.CONNECTED) {
29295
+ })) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED && !unreadScrollTo) {
29294
29296
  dispatch(markMessagesAsReadAC(channel.id, [message.id]));
29295
29297
  }
29296
29298
  };
29297
29299
  useEffect(function () {
29298
- if (isVisible) {
29300
+ if (isVisible && !unreadScrollTo) {
29299
29301
  var _channel$lastMessage;
29302
+ if (setLastVisibleMessageId) {
29303
+ setLastVisibleMessageId(message.id);
29304
+ }
29300
29305
  handleSendReadMarker();
29301
29306
  if (!channel.isLinkedChannel) {
29302
29307
  setMessageToVisibleMessagesMap(message);
@@ -29310,7 +29315,7 @@ var Message = function Message(_ref) {
29310
29315
  removeMessageFromVisibleMessagesMap(message);
29311
29316
  }
29312
29317
  }
29313
- }, [isVisible]);
29318
+ }, [isVisible, unreadScrollTo]);
29314
29319
  useDidUpdate(function () {
29315
29320
  if (tabIsActive) {
29316
29321
  handleSendReadMarker();
@@ -38626,7 +38631,8 @@ var MessageList = function MessageList(_ref2) {
38626
38631
  textColor: dateDividerTextColor,
38627
38632
  border: dateDividerBorder,
38628
38633
  backgroundColor: dateDividerBackgroundColor,
38629
- borderRadius: dateDividerBorderRadius
38634
+ borderRadius: dateDividerBorderRadius,
38635
+ setLastVisibleMessageId: _setLastVisibleMessageId
38630
38636
  })) : (/*#__PURE__*/React__default.createElement(MessageWrapper, {
38631
38637
  key: message.id || message.tid,
38632
38638
  id: message.id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.7.7-beta.12",
3
+ "version": "1.7.7-beta.13",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",