stream-chat-react 10.8.3 → 10.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"QuotedMessage.d.ts","sourceRoot":"","sources":["../../../src/components/Message/QuotedMessage.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,aAAa,4GAuDzB,CAAC"}
1
+ {"version":3,"file":"QuotedMessage.d.ts","sourceRoot":"","sources":["../../../src/components/Message/QuotedMessage.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,aAAa,4GA2DzB,CAAC"}
@@ -6,33 +6,34 @@ import { useMessageContext } from '../../context/MessageContext';
6
6
  import { useTranslationContext } from '../../context/TranslationContext';
7
7
  import { useChannelActionContext } from '../../context/ChannelActionContext';
8
8
  export var QuotedMessage = function () {
9
- var _a, _b;
10
- var _c = useComponentContext('QuotedMessage'), Attachment = _c.Attachment, ContextAvatar = _c.Avatar;
11
- var _d = useMessageContext('QuotedMessage'), isMyMessage = _d.isMyMessage, message = _d.message;
12
- var userLanguage = useTranslationContext('QuotedMessage').userLanguage;
9
+ var _a, _b, _c;
10
+ var _d = useComponentContext('QuotedMessage'), Attachment = _d.Attachment, ContextAvatar = _d.Avatar;
11
+ var _e = useMessageContext('QuotedMessage'), isMyMessage = _e.isMyMessage, message = _e.message;
12
+ var _f = useTranslationContext('QuotedMessage'), t = _f.t, userLanguage = _f.userLanguage;
13
13
  var jumpToMessage = useChannelActionContext('QuotedMessage').jumpToMessage;
14
14
  var Avatar = ContextAvatar || DefaultAvatar;
15
15
  var quoted_message = message.quoted_message;
16
16
  if (!quoted_message)
17
17
  return null;
18
- var quotedMessageText = ((_a = quoted_message.i18n) === null || _a === void 0 ? void 0 : _a["".concat(userLanguage, "_text")]) ||
19
- quoted_message.text;
20
- // @ts-expect-error
21
- var quotedMessageAttachment = quoted_message.attachments.length
22
- ? // @ts-expect-error
23
- quoted_message.attachments[0]
18
+ var quotedMessageDeleted = quoted_message.deleted_at || quoted_message.type === 'deleted';
19
+ var quotedMessageText = quotedMessageDeleted
20
+ ? t('This message was deleted...')
21
+ : ((_a = quoted_message.i18n) === null || _a === void 0 ? void 0 : _a["".concat(userLanguage, "_text")]) ||
22
+ quoted_message.text;
23
+ var quotedMessageAttachment = ((_b = quoted_message.attachments) === null || _b === void 0 ? void 0 : _b.length) && !quotedMessageDeleted
24
+ ? quoted_message.attachments[0]
24
25
  : null;
25
26
  if (!quotedMessageText && !quotedMessageAttachment)
26
27
  return null;
27
28
  return (React.createElement(React.Fragment, null,
28
- React.createElement("div", { className: clsx('str-chat__quoted-message-preview quoted-message', { mine: isMyMessage() }), onClickCapture: function (e) {
29
+ React.createElement("div", { className: clsx('str-chat__quoted-message-preview quoted-message', { mine: isMyMessage() }), "data-testid": 'quoted-message', onClickCapture: function (e) {
29
30
  e.stopPropagation();
30
31
  e.preventDefault();
31
32
  jumpToMessage(quoted_message.id);
32
33
  } },
33
34
  quoted_message.user && (React.createElement(Avatar, { image: quoted_message.user.image, name: quoted_message.user.name || quoted_message.user.id, size: 20, user: quoted_message.user })),
34
- React.createElement("div", { className: 'quoted-message-inner str-chat__quoted-message-bubble' },
35
+ React.createElement("div", { className: 'quoted-message-inner str-chat__quoted-message-bubble', "data-testid": 'quoted-message-contents' },
35
36
  quotedMessageAttachment && React.createElement(Attachment, { attachments: [quotedMessageAttachment] }),
36
- React.createElement("div", null, quotedMessageText))),
37
- ((_b = message.attachments) === null || _b === void 0 ? void 0 : _b.length) && message.quoted_message ? (React.createElement(Attachment, { attachments: message.attachments })) : null));
37
+ React.createElement("div", { "data-testid": 'quoted-message-text' }, quotedMessageText))),
38
+ ((_c = message.attachments) === null || _c === void 0 ? void 0 : _c.length) ? React.createElement(Attachment, { attachments: message.attachments }) : null));
38
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAmCJ,CAAC"}
1
+ {"version":3,"file":"useCooldownTimer.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput/hooks/useCooldownTimer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAExB,kBAsCJ,CAAC"}
@@ -8,31 +8,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
8
8
  return to.concat(ar || Array.prototype.slice.call(from));
9
9
  };
10
10
  import { useEffect, useMemo, useState } from 'react';
11
- import { useChatContext } from '../../../context/ChatContext';
12
- import { useChannelStateContext } from '../../../context/ChannelStateContext';
11
+ import { useChannelStateContext, useChatContext } from '../../../context';
13
12
  export var useCooldownTimer = function () {
14
13
  var _a;
15
- var latestMessageDatesByChannels = useChatContext('useCooldownTimer').latestMessageDatesByChannels;
16
- var _b = useChannelStateContext('useCooldownTimer'), channel = _b.channel, _c = _b.messages, messages = _c === void 0 ? [] : _c;
17
- var client = useChatContext('useCooldownTimer').client;
18
- var _d = useState(), cooldownRemaining = _d[0], setCooldownRemaining = _d[1];
19
- var _e = (channel.data ||
20
- {}), cooldownInterval = _e.cooldown, own_capabilities = _e.own_capabilities;
21
- var skipCooldown = !(own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('slow-mode'));
14
+ var _b = useChatContext('useCooldownTimer'), client = _b.client, latestMessageDatesByChannels = _b.latestMessageDatesByChannels;
15
+ var _c = useChannelStateContext('useCooldownTimer'), channel = _c.channel, _d = _c.messages, messages = _d === void 0 ? [] : _d;
16
+ var _e = useState(), cooldownRemaining = _e[0], setCooldownRemaining = _e[1];
17
+ var _f = (channel.data ||
18
+ {}), _g = _f.cooldown, cooldownInterval = _g === void 0 ? 0 : _g, own_capabilities = _f.own_capabilities;
19
+ var skipCooldown = own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('skip-slow-mode');
22
20
  var ownLatestMessageDate = useMemo(function () {
23
21
  var _a, _b;
24
22
  return (_a = latestMessageDatesByChannels[channel.cid]) !== null && _a !== void 0 ? _a : (_b = __spreadArray([], messages, true).sort(function (a, b) { var _a, _b; return ((_a = b.created_at) === null || _a === void 0 ? void 0 : _a.getTime()) - ((_b = a.created_at) === null || _b === void 0 ? void 0 : _b.getTime()); })
25
23
  .find(function (v) { var _a, _b; return ((_a = v.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id); })) === null || _b === void 0 ? void 0 : _b.created_at;
26
24
  }, [messages, (_a = client.user) === null || _a === void 0 ? void 0 : _a.id, latestMessageDatesByChannels, channel.cid]);
27
25
  useEffect(function () {
28
- if (skipCooldown || !cooldownInterval || !ownLatestMessageDate)
29
- return;
30
- var remainingCooldown = Math.round(cooldownInterval - (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000);
31
- if (remainingCooldown > 0)
32
- setCooldownRemaining(remainingCooldown);
26
+ var timeSinceOwnLastMessage = ownLatestMessageDate
27
+ ? (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000
28
+ : undefined;
29
+ setCooldownRemaining(!skipCooldown && timeSinceOwnLastMessage && cooldownInterval > timeSinceOwnLastMessage
30
+ ? Math.round(cooldownInterval - timeSinceOwnLastMessage)
31
+ : 0);
33
32
  }, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
34
33
  return {
35
- cooldownInterval: cooldownInterval !== null && cooldownInterval !== void 0 ? cooldownInterval : 0,
34
+ cooldownInterval: cooldownInterval,
36
35
  cooldownRemaining: cooldownRemaining,
37
36
  setCooldownRemaining: setCooldownRemaining,
38
37
  };
package/dist/index.cjs.js CHANGED
@@ -27748,35 +27748,36 @@ var UnMemoizedMessageStatus = function (props) {
27748
27748
  var MessageStatus = React__default["default"].memo(UnMemoizedMessageStatus);
27749
27749
 
27750
27750
  var QuotedMessage = function () {
27751
- var _a, _b;
27752
- var _c = useComponentContext('QuotedMessage'), Attachment = _c.Attachment, ContextAvatar = _c.Avatar;
27753
- var _d = useMessageContext('QuotedMessage'), isMyMessage = _d.isMyMessage, message = _d.message;
27754
- var userLanguage = useTranslationContext('QuotedMessage').userLanguage;
27751
+ var _a, _b, _c;
27752
+ var _d = useComponentContext('QuotedMessage'), Attachment = _d.Attachment, ContextAvatar = _d.Avatar;
27753
+ var _e = useMessageContext('QuotedMessage'), isMyMessage = _e.isMyMessage, message = _e.message;
27754
+ var _f = useTranslationContext('QuotedMessage'), t = _f.t, userLanguage = _f.userLanguage;
27755
27755
  var jumpToMessage = useChannelActionContext('QuotedMessage').jumpToMessage;
27756
27756
  var Avatar$1 = ContextAvatar || Avatar;
27757
27757
  var quoted_message = message.quoted_message;
27758
27758
  if (!quoted_message)
27759
27759
  return null;
27760
- var quotedMessageText = ((_a = quoted_message.i18n) === null || _a === void 0 ? void 0 : _a["".concat(userLanguage, "_text")]) ||
27761
- quoted_message.text;
27762
- // @ts-expect-error
27763
- var quotedMessageAttachment = quoted_message.attachments.length
27764
- ? // @ts-expect-error
27765
- quoted_message.attachments[0]
27760
+ var quotedMessageDeleted = quoted_message.deleted_at || quoted_message.type === 'deleted';
27761
+ var quotedMessageText = quotedMessageDeleted
27762
+ ? t('This message was deleted...')
27763
+ : ((_a = quoted_message.i18n) === null || _a === void 0 ? void 0 : _a["".concat(userLanguage, "_text")]) ||
27764
+ quoted_message.text;
27765
+ var quotedMessageAttachment = ((_b = quoted_message.attachments) === null || _b === void 0 ? void 0 : _b.length) && !quotedMessageDeleted
27766
+ ? quoted_message.attachments[0]
27766
27767
  : null;
27767
27768
  if (!quotedMessageText && !quotedMessageAttachment)
27768
27769
  return null;
27769
27770
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
27770
- React__default["default"].createElement("div", { className: clsx('str-chat__quoted-message-preview quoted-message', { mine: isMyMessage() }), onClickCapture: function (e) {
27771
+ React__default["default"].createElement("div", { className: clsx('str-chat__quoted-message-preview quoted-message', { mine: isMyMessage() }), "data-testid": 'quoted-message', onClickCapture: function (e) {
27771
27772
  e.stopPropagation();
27772
27773
  e.preventDefault();
27773
27774
  jumpToMessage(quoted_message.id);
27774
27775
  } },
27775
27776
  quoted_message.user && (React__default["default"].createElement(Avatar$1, { image: quoted_message.user.image, name: quoted_message.user.name || quoted_message.user.id, size: 20, user: quoted_message.user })),
27776
- React__default["default"].createElement("div", { className: 'quoted-message-inner str-chat__quoted-message-bubble' },
27777
+ React__default["default"].createElement("div", { className: 'quoted-message-inner str-chat__quoted-message-bubble', "data-testid": 'quoted-message-contents' },
27777
27778
  quotedMessageAttachment && React__default["default"].createElement(Attachment, { attachments: [quotedMessageAttachment] }),
27778
- React__default["default"].createElement("div", null, quotedMessageText))),
27779
- ((_b = message.attachments) === null || _b === void 0 ? void 0 : _b.length) && message.quoted_message ? (React__default["default"].createElement(Attachment, { attachments: message.attachments })) : null));
27779
+ React__default["default"].createElement("div", { "data-testid": 'quoted-message-text' }, quotedMessageText))),
27780
+ ((_c = message.attachments) === null || _c === void 0 ? void 0 : _c.length) ? React__default["default"].createElement(Attachment, { attachments: message.attachments }) : null));
27780
27781
  };
27781
27782
 
27782
27783
  var UnMemoizedMessageTextComponent = function (props) {
@@ -30284,27 +30285,27 @@ var EditMessageForm = function () {
30284
30285
 
30285
30286
  var useCooldownTimer = function () {
30286
30287
  var _a;
30287
- var latestMessageDatesByChannels = useChatContext('useCooldownTimer').latestMessageDatesByChannels;
30288
- var _b = useChannelStateContext('useCooldownTimer'), channel = _b.channel, _c = _b.messages, messages = _c === void 0 ? [] : _c;
30289
- var client = useChatContext('useCooldownTimer').client;
30290
- var _d = React.useState(), cooldownRemaining = _d[0], setCooldownRemaining = _d[1];
30291
- var _e = (channel.data ||
30292
- {}), cooldownInterval = _e.cooldown, own_capabilities = _e.own_capabilities;
30293
- var skipCooldown = !(own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('slow-mode'));
30288
+ var _b = useChatContext('useCooldownTimer'), client = _b.client, latestMessageDatesByChannels = _b.latestMessageDatesByChannels;
30289
+ var _c = useChannelStateContext('useCooldownTimer'), channel = _c.channel, _d = _c.messages, messages = _d === void 0 ? [] : _d;
30290
+ var _e = React.useState(), cooldownRemaining = _e[0], setCooldownRemaining = _e[1];
30291
+ var _f = (channel.data ||
30292
+ {}), _g = _f.cooldown, cooldownInterval = _g === void 0 ? 0 : _g, own_capabilities = _f.own_capabilities;
30293
+ var skipCooldown = own_capabilities === null || own_capabilities === void 0 ? void 0 : own_capabilities.includes('skip-slow-mode');
30294
30294
  var ownLatestMessageDate = React.useMemo(function () {
30295
30295
  var _a, _b;
30296
30296
  return (_a = latestMessageDatesByChannels[channel.cid]) !== null && _a !== void 0 ? _a : (_b = __spreadArray([], messages, true).sort(function (a, b) { var _a, _b; return ((_a = b.created_at) === null || _a === void 0 ? void 0 : _a.getTime()) - ((_b = a.created_at) === null || _b === void 0 ? void 0 : _b.getTime()); })
30297
30297
  .find(function (v) { var _a, _b; return ((_a = v.user) === null || _a === void 0 ? void 0 : _a.id) === ((_b = client.user) === null || _b === void 0 ? void 0 : _b.id); })) === null || _b === void 0 ? void 0 : _b.created_at;
30298
30298
  }, [messages, (_a = client.user) === null || _a === void 0 ? void 0 : _a.id, latestMessageDatesByChannels, channel.cid]);
30299
30299
  React.useEffect(function () {
30300
- if (skipCooldown || !cooldownInterval || !ownLatestMessageDate)
30301
- return;
30302
- var remainingCooldown = Math.round(cooldownInterval - (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000);
30303
- if (remainingCooldown > 0)
30304
- setCooldownRemaining(remainingCooldown);
30300
+ var timeSinceOwnLastMessage = ownLatestMessageDate
30301
+ ? (new Date().getTime() - ownLatestMessageDate.getTime()) / 1000
30302
+ : undefined;
30303
+ setCooldownRemaining(!skipCooldown && timeSinceOwnLastMessage && cooldownInterval > timeSinceOwnLastMessage
30304
+ ? Math.round(cooldownInterval - timeSinceOwnLastMessage)
30305
+ : 0);
30305
30306
  }, [cooldownInterval, ownLatestMessageDate, skipCooldown]);
30306
30307
  return {
30307
- cooldownInterval: cooldownInterval !== null && cooldownInterval !== void 0 ? cooldownInterval : 0,
30308
+ cooldownInterval: cooldownInterval,
30308
30309
  cooldownRemaining: cooldownRemaining,
30309
30310
  setCooldownRemaining: setCooldownRemaining,
30310
30311
  };
@@ -33776,7 +33777,7 @@ var UnMemoizedChannelList = function (props) {
33776
33777
  */
33777
33778
  var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
33778
33779
 
33779
- var version = '10.8.3';
33780
+ var version = '10.8.5';
33780
33781
 
33781
33782
  var useChat = function (_a) {
33782
33783
  var _b, _c;