stream-chat-react-native-core 8.11.0 → 8.12.0-beta.1

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 (197) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Channel/Channel.js +26 -17
  3. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +3 -2
  5. package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  6. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  7. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  8. package/lib/commonjs/components/Message/Message.js +6 -8
  9. package/lib/commonjs/components/Message/Message.js.map +1 -1
  10. package/lib/commonjs/components/Message/MessageSimple/MessageBlocked.js +70 -0
  11. package/lib/commonjs/components/Message/MessageSimple/MessageBlocked.js.map +1 -0
  12. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +0 -2
  13. package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
  14. package/lib/commonjs/components/Message/MessageSimple/MessageWrapper.js +126 -0
  15. package/lib/commonjs/components/Message/MessageSimple/MessageWrapper.js.map +1 -0
  16. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +1 -3
  17. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  18. package/lib/commonjs/components/MessageList/MessageFlashList.js +74 -105
  19. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  20. package/lib/commonjs/components/MessageList/MessageList.js +77 -119
  21. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  22. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js +2 -2
  23. package/lib/commonjs/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  24. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js +45 -0
  25. package/lib/commonjs/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -0
  26. package/lib/commonjs/components/MessageList/hooks/useMessageGroupStyles.js +46 -0
  27. package/lib/commonjs/components/MessageList/hooks/useMessageGroupStyles.js.map +1 -0
  28. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +49 -29
  29. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  30. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js +5 -14
  31. package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
  32. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +22 -17
  33. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  34. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js +1 -1
  35. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  36. package/lib/commonjs/components/index.js +33 -0
  37. package/lib/commonjs/components/index.js.map +1 -1
  38. package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
  39. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  40. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +3 -0
  41. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  42. package/lib/commonjs/contexts/messageListItemContext/MessageListItemContext.js +29 -0
  43. package/lib/commonjs/contexts/messageListItemContext/MessageListItemContext.js.map +1 -0
  44. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  45. package/lib/commonjs/contexts/themeContext/utils/theme.js +6 -0
  46. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  47. package/lib/commonjs/state-store/channel-unread-state.js +31 -0
  48. package/lib/commonjs/state-store/channel-unread-state.js.map +1 -0
  49. package/lib/commonjs/state-store/message-list-prev-next-state.js +46 -0
  50. package/lib/commonjs/state-store/message-list-prev-next-state.js.map +1 -0
  51. package/lib/commonjs/store/apis/getChannelMessages.js +7 -10
  52. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  53. package/lib/commonjs/utils/utils.js +4 -4
  54. package/lib/commonjs/utils/utils.js.map +1 -1
  55. package/lib/commonjs/version.json +1 -1
  56. package/lib/module/components/Channel/Channel.js +26 -17
  57. package/lib/module/components/Channel/Channel.js.map +1 -1
  58. package/lib/module/components/Channel/hooks/useCreateChannelContext.js +3 -2
  59. package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
  60. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +4 -0
  61. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  62. package/lib/module/components/Message/Message.js +6 -8
  63. package/lib/module/components/Message/Message.js.map +1 -1
  64. package/lib/module/components/Message/MessageSimple/MessageBlocked.js +70 -0
  65. package/lib/module/components/Message/MessageSimple/MessageBlocked.js.map +1 -0
  66. package/lib/module/components/Message/MessageSimple/MessageContent.js +0 -2
  67. package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
  68. package/lib/module/components/Message/MessageSimple/MessageWrapper.js +126 -0
  69. package/lib/module/components/Message/MessageSimple/MessageWrapper.js.map +1 -0
  70. package/lib/module/components/Message/hooks/useCreateMessageContext.js +1 -3
  71. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  72. package/lib/module/components/MessageList/MessageFlashList.js +74 -105
  73. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  74. package/lib/module/components/MessageList/MessageList.js +77 -119
  75. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  76. package/lib/module/components/MessageList/UnreadMessagesNotification.js +2 -2
  77. package/lib/module/components/MessageList/UnreadMessagesNotification.js.map +1 -1
  78. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js +45 -0
  79. package/lib/module/components/MessageList/hooks/useMessageDateSeparator.js.map +1 -0
  80. package/lib/module/components/MessageList/hooks/useMessageGroupStyles.js +46 -0
  81. package/lib/module/components/MessageList/hooks/useMessageGroupStyles.js.map +1 -0
  82. package/lib/module/components/MessageList/hooks/useMessageList.js +49 -29
  83. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  84. package/lib/module/components/MessageList/utils/getDateSeparators.js +5 -14
  85. package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
  86. package/lib/module/components/MessageList/utils/getGroupStyles.js +22 -17
  87. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  88. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js +1 -1
  89. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  90. package/lib/module/components/index.js +33 -0
  91. package/lib/module/components/index.js.map +1 -1
  92. package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
  93. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  94. package/lib/module/contexts/messageInputContext/MessageInputContext.js +3 -0
  95. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  96. package/lib/module/contexts/messageListItemContext/MessageListItemContext.js +29 -0
  97. package/lib/module/contexts/messageListItemContext/MessageListItemContext.js.map +1 -0
  98. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  99. package/lib/module/contexts/themeContext/utils/theme.js +6 -0
  100. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  101. package/lib/module/state-store/channel-unread-state.js +31 -0
  102. package/lib/module/state-store/channel-unread-state.js.map +1 -0
  103. package/lib/module/state-store/message-list-prev-next-state.js +46 -0
  104. package/lib/module/state-store/message-list-prev-next-state.js.map +1 -0
  105. package/lib/module/store/apis/getChannelMessages.js +7 -10
  106. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  107. package/lib/module/utils/utils.js +4 -4
  108. package/lib/module/utils/utils.js.map +1 -1
  109. package/lib/module/version.json +1 -1
  110. package/lib/typescript/components/Channel/Channel.d.ts +3 -3
  111. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  112. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
  113. package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
  114. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  115. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  116. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +2 -2
  117. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  118. package/lib/typescript/components/Message/Message.d.ts +1 -1
  119. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  120. package/lib/typescript/components/Message/MessageSimple/MessageBlocked.d.ts +19 -0
  121. package/lib/typescript/components/Message/MessageSimple/MessageBlocked.d.ts.map +1 -0
  122. package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts.map +1 -1
  123. package/lib/typescript/components/Message/MessageSimple/MessageWrapper.d.ts +7 -0
  124. package/lib/typescript/components/Message/MessageSimple/MessageWrapper.d.ts.map +1 -0
  125. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  126. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  127. package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
  128. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  129. package/lib/typescript/components/MessageList/MessageList.d.ts +1 -1
  130. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  131. package/lib/typescript/components/MessageList/hooks/useMessageDateSeparator.d.ts +16 -0
  132. package/lib/typescript/components/MessageList/hooks/useMessageDateSeparator.d.ts.map +1 -0
  133. package/lib/typescript/components/MessageList/hooks/useMessageGroupStyles.d.ts +15 -0
  134. package/lib/typescript/components/MessageList/hooks/useMessageGroupStyles.d.ts.map +1 -0
  135. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +8 -0
  136. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  137. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts +12 -0
  138. package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts.map +1 -1
  139. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +25 -0
  140. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
  141. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +1 -1
  142. package/lib/typescript/components/index.d.ts +3 -0
  143. package/lib/typescript/components/index.d.ts.map +1 -1
  144. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +10 -4
  145. package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
  146. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +4 -1
  147. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  148. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  149. package/lib/typescript/contexts/messageListItemContext/MessageListItemContext.d.ts +37 -0
  150. package/lib/typescript/contexts/messageListItemContext/MessageListItemContext.d.ts.map +1 -0
  151. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +11 -1
  152. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  153. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -0
  154. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  155. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  156. package/lib/typescript/state-store/channel-unread-state.d.ts +12 -0
  157. package/lib/typescript/state-store/channel-unread-state.d.ts.map +1 -0
  158. package/lib/typescript/state-store/message-list-prev-next-state.d.ts +16 -0
  159. package/lib/typescript/state-store/message-list-prev-next-state.d.ts.map +1 -0
  160. package/lib/typescript/store/apis/getChannelMessages.d.ts.map +1 -1
  161. package/lib/typescript/utils/utils.d.ts +1 -2
  162. package/lib/typescript/utils/utils.d.ts.map +1 -1
  163. package/package.json +2 -2
  164. package/src/components/Channel/Channel.tsx +31 -16
  165. package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -2
  166. package/src/components/Channel/hooks/useCreateMessagesContext.ts +4 -0
  167. package/src/components/Message/Message.tsx +6 -15
  168. package/src/components/Message/MessageSimple/MessageBlocked.tsx +67 -0
  169. package/src/components/Message/MessageSimple/MessageContent.tsx +0 -2
  170. package/src/components/Message/MessageSimple/MessageWrapper.tsx +147 -0
  171. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +1 -5
  172. package/src/components/Message/hooks/useCreateMessageContext.ts +0 -3
  173. package/src/components/MessageList/MessageFlashList.tsx +81 -143
  174. package/src/components/MessageList/MessageList.tsx +83 -165
  175. package/src/components/MessageList/UnreadMessagesNotification.tsx +2 -2
  176. package/src/components/MessageList/__tests__/MessageList.test.js +10 -8
  177. package/src/components/MessageList/__tests__/useMessageDateSeparator.test.ts +83 -0
  178. package/src/components/MessageList/hooks/useMessageDateSeparator.ts +66 -0
  179. package/src/components/MessageList/hooks/useMessageGroupStyles.ts +75 -0
  180. package/src/components/MessageList/hooks/useMessageList.ts +68 -36
  181. package/src/components/MessageList/utils/getDateSeparators.ts +16 -20
  182. package/src/components/MessageList/utils/getGroupStyles.ts +44 -33
  183. package/src/components/MessageList/utils/getLastReceivedMessage.ts +1 -4
  184. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +6 -6
  185. package/src/components/index.ts +3 -0
  186. package/src/contexts/channelContext/ChannelContext.tsx +13 -4
  187. package/src/contexts/messageContext/MessageContext.tsx +4 -1
  188. package/src/contexts/messageInputContext/MessageInputContext.tsx +5 -0
  189. package/src/contexts/messageListItemContext/MessageListItemContext.tsx +63 -0
  190. package/src/contexts/messagesContext/MessagesContext.tsx +16 -1
  191. package/src/contexts/themeContext/utils/theme.ts +12 -0
  192. package/src/state-store/channel-unread-state.ts +28 -0
  193. package/src/state-store/message-list-prev-next-state.ts +58 -0
  194. package/src/store/apis/getChannelMessages.ts +9 -12
  195. package/src/utils/utils.ts +9 -8
  196. package/src/version.json +1 -1
  197. package/src/components/MessageList/utils/__tests__/getDateSeparators.test.ts +0 -71
@@ -0,0 +1,126 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.MessageWrapper = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _reactNative = require("react-native");
7
+ var _useMessageDateSeparator = require("../../../components/MessageList/hooks/useMessageDateSeparator");
8
+ var _useMessageGroupStyles = require("../../../components/MessageList/hooks/useMessageGroupStyles");
9
+ var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
10
+ var _ChatContext = require("../../../contexts/chatContext/ChatContext");
11
+ var _MessageListItemContext = require("../../../contexts/messageListItemContext/MessageListItemContext");
12
+ var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
13
+ var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
14
+ var _useStateStore3 = require("../../../hooks/useStateStore");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _this = this,
17
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageWrapper.tsx";
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ var channelUnreadStateSelector = function channelUnreadStateSelector(state) {
21
+ var _state$channelUnreadS, _state$channelUnreadS2, _state$channelUnreadS3, _state$channelUnreadS4;
22
+ return {
23
+ first_unread_message_id: (_state$channelUnreadS = state.channelUnreadState) == null ? void 0 : _state$channelUnreadS.first_unread_message_id,
24
+ last_read_message_id: (_state$channelUnreadS2 = state.channelUnreadState) == null ? void 0 : _state$channelUnreadS2.last_read_message_id,
25
+ last_read_timestamp: (_state$channelUnreadS3 = state.channelUnreadState) == null || (_state$channelUnreadS3 = _state$channelUnreadS3.last_read) == null ? void 0 : _state$channelUnreadS3.getTime(),
26
+ unread_messages: (_state$channelUnreadS4 = state.channelUnreadState) == null ? void 0 : _state$channelUnreadS4.unread_messages
27
+ };
28
+ };
29
+ var MessageWrapper = exports.MessageWrapper = _react.default.memo(function (props) {
30
+ var _message$user;
31
+ var message = props.message;
32
+ var _useChatContext = (0, _ChatContext.useChatContext)(),
33
+ client = _useChatContext.client;
34
+ var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
35
+ channelUnreadStateStore = _useChannelContext.channelUnreadStateStore,
36
+ channel = _useChannelContext.channel,
37
+ hideDateSeparators = _useChannelContext.hideDateSeparators,
38
+ highlightedMessageId = _useChannelContext.highlightedMessageId,
39
+ maxTimeBetweenGroupedMessages = _useChannelContext.maxTimeBetweenGroupedMessages,
40
+ threadList = _useChannelContext.threadList;
41
+ var _useMessagesContext = (0, _MessagesContext.useMessagesContext)(),
42
+ getMessageGroupStyle = _useMessagesContext.getMessageGroupStyle,
43
+ InlineDateSeparator = _useMessagesContext.InlineDateSeparator,
44
+ InlineUnreadIndicator = _useMessagesContext.InlineUnreadIndicator,
45
+ Message = _useMessagesContext.Message,
46
+ MessageSystem = _useMessagesContext.MessageSystem,
47
+ myMessageTheme = _useMessagesContext.myMessageTheme,
48
+ shouldShowUnreadUnderlay = _useMessagesContext.shouldShowUnreadUnderlay;
49
+ var _useMessageListItemCo = (0, _MessageListItemContext.useMessageListItemContext)(),
50
+ goToMessage = _useMessageListItemCo.goToMessage,
51
+ onThreadSelect = _useMessageListItemCo.onThreadSelect,
52
+ noGroupByUser = _useMessageListItemCo.noGroupByUser,
53
+ modifiedTheme = _useMessageListItemCo.modifiedTheme,
54
+ messageListPreviousAndNextMessageStore = _useMessageListItemCo.messageListPreviousAndNextMessageStore;
55
+ var dateSeparatorDate = (0, _useMessageDateSeparator.useMessageDateSeparator)({
56
+ hideDateSeparators: hideDateSeparators,
57
+ message: message,
58
+ messageListPreviousAndNextMessageStore: messageListPreviousAndNextMessageStore
59
+ });
60
+ var selector = (0, _react.useCallback)(function (state) {
61
+ var _state$messageList$me;
62
+ return {
63
+ nextMessage: (_state$messageList$me = state.messageList[message.id]) == null ? void 0 : _state$messageList$me.nextMessage
64
+ };
65
+ }, [message.id]);
66
+ var _useStateStore = (0, _useStateStore3.useStateStore)(messageListPreviousAndNextMessageStore.state, selector),
67
+ nextMessage = _useStateStore.nextMessage;
68
+ var isNewestMessage = nextMessage === undefined;
69
+ var groupStyles = (0, _useMessageGroupStyles.useMessageGroupStyles)({
70
+ dateSeparatorDate: dateSeparatorDate,
71
+ getMessageGroupStyle: getMessageGroupStyle,
72
+ maxTimeBetweenGroupedMessages: maxTimeBetweenGroupedMessages,
73
+ message: message,
74
+ messageListPreviousAndNextMessageStore: messageListPreviousAndNextMessageStore,
75
+ noGroupByUser: noGroupByUser
76
+ });
77
+ var _useStateStore2 = (0, _useStateStore3.useStateStore)(channelUnreadStateStore.state, channelUnreadStateSelector),
78
+ first_unread_message_id = _useStateStore2.first_unread_message_id,
79
+ last_read_timestamp = _useStateStore2.last_read_timestamp,
80
+ last_read_message_id = _useStateStore2.last_read_message_id,
81
+ unread_messages = _useStateStore2.unread_messages;
82
+ var _useTheme = (0, _ThemeContext.useTheme)(),
83
+ _useTheme$theme = _useTheme.theme,
84
+ messageContainer = _useTheme$theme.messageList.messageContainer,
85
+ screenPadding = _useTheme$theme.screenPadding;
86
+ if (!channel || channel.disconnected) {
87
+ return null;
88
+ }
89
+ var createdAtTimestamp = message.created_at && new Date(message.created_at).getTime();
90
+ var isLastReadMessage = last_read_message_id === message.id || !unread_messages && createdAtTimestamp === last_read_timestamp;
91
+ var showUnreadSeparator = isLastReadMessage && !isNewestMessage && (!!first_unread_message_id || !!unread_messages);
92
+ var showUnreadUnderlay = !!shouldShowUnreadUnderlay && showUnreadSeparator;
93
+ var wrapMessageInTheme = client.userID === ((_message$user = message.user) == null ? void 0 : _message$user.id) && !!myMessageTheme;
94
+ var renderDateSeperator = dateSeparatorDate ? (0, _jsxRuntime.jsx)(InlineDateSeparator, {
95
+ date: dateSeparatorDate
96
+ }) : null;
97
+ var renderMessage = (0, _jsxRuntime.jsx)(Message, {
98
+ goToMessage: goToMessage,
99
+ groupStyles: groupStyles,
100
+ isTargetedMessage: highlightedMessageId === message.id,
101
+ message: message,
102
+ onThreadSelect: onThreadSelect,
103
+ showUnreadUnderlay: showUnreadUnderlay,
104
+ style: [messageContainer],
105
+ threadList: threadList
106
+ });
107
+ return (0, _jsxRuntime.jsxs)(_reactNative.View, {
108
+ testID: `message-list-item-${message.id}`,
109
+ children: [message.type === 'system' ? (0, _jsxRuntime.jsx)(MessageSystem, {
110
+ message: message,
111
+ style: [{
112
+ paddingHorizontal: screenPadding
113
+ }, messageContainer]
114
+ }) : wrapMessageInTheme ? (0, _jsxRuntime.jsx)(_ThemeContext.ThemeProvider, {
115
+ mergedStyle: modifiedTheme,
116
+ children: (0, _jsxRuntime.jsxs)(_reactNative.View, {
117
+ testID: `message-list-item-${message.id}`,
118
+ children: [renderDateSeperator, renderMessage]
119
+ })
120
+ }) : (0, _jsxRuntime.jsxs)(_reactNative.View, {
121
+ testID: `message-list-item-${message.id}`,
122
+ children: [renderDateSeperator, renderMessage]
123
+ }), showUnreadUnderlay && (0, _jsxRuntime.jsx)(InlineUnreadIndicator, {})]
124
+ });
125
+ });
126
+ //# sourceMappingURL=MessageWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useMessageDateSeparator","_useMessageGroupStyles","_ChannelContext","_ChatContext","_MessageListItemContext","_MessagesContext","_ThemeContext","_useStateStore3","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","channelUnreadStateSelector","state","_state$channelUnreadS","_state$channelUnreadS2","_state$channelUnreadS3","_state$channelUnreadS4","first_unread_message_id","channelUnreadState","last_read_message_id","last_read_timestamp","last_read","getTime","unread_messages","MessageWrapper","exports","React","memo","props","_message$user","message","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","channelUnreadStateStore","channel","hideDateSeparators","highlightedMessageId","maxTimeBetweenGroupedMessages","threadList","_useMessagesContext","useMessagesContext","getMessageGroupStyle","InlineDateSeparator","InlineUnreadIndicator","Message","MessageSystem","myMessageTheme","shouldShowUnreadUnderlay","_useMessageListItemCo","useMessageListItemContext","goToMessage","onThreadSelect","noGroupByUser","modifiedTheme","messageListPreviousAndNextMessageStore","dateSeparatorDate","useMessageDateSeparator","selector","useCallback","_state$messageList$me","nextMessage","messageList","id","_useStateStore","useStateStore","isNewestMessage","undefined","groupStyles","useMessageGroupStyles","_useStateStore2","_useTheme","useTheme","_useTheme$theme","theme","messageContainer","screenPadding","disconnected","createdAtTimestamp","created_at","Date","isLastReadMessage","showUnreadSeparator","showUnreadUnderlay","wrapMessageInTheme","userID","user","renderDateSeperator","jsx","date","renderMessage","isTargetedMessage","style","jsxs","View","testID","children","type","paddingHorizontal","ThemeProvider","mergedStyle"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageWrapper.tsx"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,6 @@ var useCreateMessageContext = exports.useCreateMessageContext = function useCrea
22
22
  isMessageAIGenerated = _ref.isMessageAIGenerated,
23
23
  isMyMessage = _ref.isMyMessage,
24
24
  lastGroupMessage = _ref.lastGroupMessage,
25
- lastReceivedId = _ref.lastReceivedId,
26
25
  members = _ref.members,
27
26
  message = _ref.message,
28
27
  messageContentOrder = _ref.messageContentOrder,
@@ -80,7 +79,6 @@ var useCreateMessageContext = exports.useCreateMessageContext = function useCrea
80
79
  isMessageAIGenerated: isMessageAIGenerated,
81
80
  isMyMessage: isMyMessage,
82
81
  lastGroupMessage: lastGroupMessage,
83
- lastReceivedId: lastReceivedId,
84
82
  members: members,
85
83
  message: message,
86
84
  messageContentOrder: messageContentOrder,
@@ -102,7 +100,7 @@ var useCreateMessageContext = exports.useCreateMessageContext = function useCrea
102
100
  threadList: threadList,
103
101
  videos: videos
104
102
  };
105
- }, [actionsEnabled, alignment, goToMessage, groupStylesLength, hasReactions, isEditedMessageOpen, lastGroupMessage, lastReceivedId, membersValue, myMessageThemeString, reactionsValue, stringifiedMessage, stringifiedQuotedMessage, readBy, deliveredToCount, showAvatar, showMessageStatus, threadList]);
103
+ }, [actionsEnabled, alignment, goToMessage, groupStylesLength, hasReactions, isEditedMessageOpen, lastGroupMessage, membersValue, myMessageThemeString, reactionsValue, stringifiedMessage, stringifiedQuotedMessage, readBy, deliveredToCount, showAvatar, showMessageStatus, threadList]);
106
104
  return messageContext;
107
105
  };
108
106
  //# sourceMappingURL=useCreateMessageContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_utils","useCreateMessageContext","exports","_ref","actionsEnabled","alignment","channel","deliveredToCount","dismissOverlay","files","goToMessage","groupStyles","handleAction","handleReaction","handleToggleReaction","hasReactions","images","isEditedMessageOpen","isMessageAIGenerated","isMyMessage","lastGroupMessage","lastReceivedId","members","message","messageContentOrder","myMessageTheme","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","readBy","setIsEditedMessageOpen","showAvatar","showMessageOverlay","showMessageStatus","threadList","videos","setQuotedMessage","groupStylesLength","length","reactionsValue","map","_ref2","count","own","type","join","stringifiedMessage","stringifyMessage","membersValue","JSON","stringify","myMessageThemeString","useMemo","stringifiedQuotedMessage","quoted_message","includeReactions","messageContext"],"sourceRoot":"../../../../../src","sources":["components/Message/hooks/useCreateMessageContext.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAEO,IAAME,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAAE,IAAA,EAuCT;EAAA,IAtCzBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAChBC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IACXC,WAAW,GAAAR,IAAA,CAAXQ,WAAW;IACXC,YAAY,GAAAT,IAAA,CAAZS,YAAY;IACZC,cAAc,GAAAV,IAAA,CAAdU,cAAc;IACdC,oBAAoB,GAAAX,IAAA,CAApBW,oBAAoB;IACpBC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;IACZC,MAAM,GAAAb,IAAA,CAANa,MAAM;IACNC,mBAAmB,GAAAd,IAAA,CAAnBc,mBAAmB;IACnBC,oBAAoB,GAAAf,IAAA,CAApBe,oBAAoB;IACpBC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;IACXC,gBAAgB,GAAAjB,IAAA,CAAhBiB,gBAAgB;IAChBC,cAAc,GAAAlB,IAAA,CAAdkB,cAAc;IACdC,OAAO,GAAAnB,IAAA,CAAPmB,OAAO;IACPC,OAAO,GAAApB,IAAA,CAAPoB,OAAO;IACPC,mBAAmB,GAAArB,IAAA,CAAnBqB,mBAAmB;IACnBC,cAAc,GAAAtB,IAAA,CAAdsB,cAAc;IACdC,WAAW,GAAAvB,IAAA,CAAXuB,WAAW;IACXC,UAAU,GAAAxB,IAAA,CAAVwB,UAAU;IACVC,YAAY,GAAAzB,IAAA,CAAZyB,YAAY;IACZC,OAAO,GAAA1B,IAAA,CAAP0B,OAAO;IACPC,SAAS,GAAA3B,IAAA,CAAT2B,SAAS;IACTC,gBAAgB,GAAA5B,IAAA,CAAhB4B,gBAAgB;IAChBC,YAAY,GAAA7B,IAAA,CAAZ6B,YAAY;IACZC,SAAS,GAAA9B,IAAA,CAAT8B,SAAS;IACTC,MAAM,GAAA/B,IAAA,CAAN+B,MAAM;IACNC,sBAAsB,GAAAhC,IAAA,CAAtBgC,sBAAsB;IACtBC,UAAU,GAAAjC,IAAA,CAAViC,UAAU;IACVC,kBAAkB,GAAAlC,IAAA,CAAlBkC,kBAAkB;IAClBC,iBAAiB,GAAAnC,IAAA,CAAjBmC,iBAAiB;IACjBC,UAAU,GAAApC,IAAA,CAAVoC,UAAU;IACVC,MAAM,GAAArC,IAAA,CAANqC,MAAM;IACNC,gBAAgB,GAAAtC,IAAA,CAAhBsC,gBAAgB;EAEhB,IAAMC,iBAAiB,GAAG/B,WAAW,CAACgC,MAAM;EAC5C,IAAMC,cAAc,GAAGX,SAAS,CAACY,GAAG,CAAC,UAAAC,KAAA;IAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,GAAG,GAAAF,KAAA,CAAHE,GAAG;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI;IAAA,OAAO,GAAGD,GAAG,GAAGC,IAAI,GAAGF,KAAK,EAAE;EAAA,EAAC,CAACG,IAAI,CAAC,CAAC;EAC9F,IAAMC,kBAAkB,GAAG,IAAAC,uBAAgB,EAAC;IAAE7B,OAAO,EAAPA;EAAQ,CAAC,CAAC;EAExD,IAAM8B,YAAY,GAAGC,IAAI,CAACC,SAAS,CAACjC,OAAO,CAAC;EAC5C,IAAMkC,oBAAoB,GAAG,IAAAC,cAAO,EAAC;IAAA,OAAMH,IAAI,CAACC,SAAS,CAAC9B,cAAc,CAAC;EAAA,GAAE,CAACA,cAAc,CAAC,CAAC;EAE5F,IAAMiC,wBAAwB,GAAGnC,OAAO,CAACoC,cAAc,GACnD,IAAAP,uBAAgB,EAAC;IAAEQ,gBAAgB,EAAE,KAAK;IAAErC,OAAO,EAAEA,OAAO,CAACoC;EAAe,CAAC,CAAC,GAC9E,EAAE;EAEN,IAAME,cAAmC,GAAG,IAAAJ,cAAO,EACjD;IAAA,OAAO;MACLrD,cAAc,EAAdA,cAAc;MACdC,SAAS,EAATA,SAAS;MACTC,OAAO,EAAPA,OAAO;MACPC,gBAAgB,EAAhBA,gBAAgB;MAChBC,cAAc,EAAdA,cAAc;MACdC,KAAK,EAALA,KAAK;MACLC,WAAW,EAAXA,WAAW;MACXC,WAAW,EAAXA,WAAW;MACXC,YAAY,EAAZA,YAAY;MACZC,cAAc,EAAdA,cAAc;MACdC,oBAAoB,EAApBA,oBAAoB;MACpBC,YAAY,EAAZA,YAAY;MACZC,MAAM,EAANA,MAAM;MACNC,mBAAmB,EAAnBA,mBAAmB;MACnBC,oBAAoB,EAApBA,oBAAoB;MACpBC,WAAW,EAAXA,WAAW;MACXC,gBAAgB,EAAhBA,gBAAgB;MAChBC,cAAc,EAAdA,cAAc;MACdC,OAAO,EAAPA,OAAO;MACPC,OAAO,EAAPA,OAAO;MACPC,mBAAmB,EAAnBA,mBAAmB;MACnBC,cAAc,EAAdA,cAAc;MACdC,WAAW,EAAXA,WAAW;MACXC,UAAU,EAAVA,UAAU;MACVC,YAAY,EAAZA,YAAY;MACZC,OAAO,EAAPA,OAAO;MACPC,SAAS,EAATA,SAAS;MACTC,gBAAgB,EAAhBA,gBAAgB;MAChBC,YAAY,EAAZA,YAAY;MACZC,SAAS,EAATA,SAAS;MACTC,MAAM,EAANA,MAAM;MACNC,sBAAsB,EAAtBA,sBAAsB;MACtBM,gBAAgB,EAAhBA,gBAAgB;MAChBL,UAAU,EAAVA,UAAU;MACVC,kBAAkB,EAAlBA,kBAAkB;MAClBC,iBAAiB,EAAjBA,iBAAiB;MACjBC,UAAU,EAAVA,UAAU;MACVC,MAAM,EAANA;IACF,CAAC;EAAA,CAAC,EAEF,CACEpC,cAAc,EACdC,SAAS,EACTK,WAAW,EACXgC,iBAAiB,EACjB3B,YAAY,EACZE,mBAAmB,EACnBG,gBAAgB,EAChBC,cAAc,EACdgC,YAAY,EACZG,oBAAoB,EACpBZ,cAAc,EACdO,kBAAkB,EAClBO,wBAAwB,EACxBxB,MAAM,EACN3B,gBAAgB,EAChB6B,UAAU,EACVE,iBAAiB,EACjBC,UAAU,CAEd,CAAC;EAED,OAAOsB,cAAc;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_utils","useCreateMessageContext","exports","_ref","actionsEnabled","alignment","channel","deliveredToCount","dismissOverlay","files","goToMessage","groupStyles","handleAction","handleReaction","handleToggleReaction","hasReactions","images","isEditedMessageOpen","isMessageAIGenerated","isMyMessage","lastGroupMessage","members","message","messageContentOrder","myMessageTheme","onLongPress","onlyEmojis","onOpenThread","onPress","onPressIn","otherAttachments","preventPress","reactions","readBy","setIsEditedMessageOpen","showAvatar","showMessageOverlay","showMessageStatus","threadList","videos","setQuotedMessage","groupStylesLength","length","reactionsValue","map","_ref2","count","own","type","join","stringifiedMessage","stringifyMessage","membersValue","JSON","stringify","myMessageThemeString","useMemo","stringifiedQuotedMessage","quoted_message","includeReactions","messageContext"],"sourceRoot":"../../../../../src","sources":["components/Message/hooks/useCreateMessageContext.ts"],"mappings":"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","ignoreList":[]}
@@ -13,11 +13,11 @@ var _useShouldScrollToRecentOnNewOwnMessage = require("./hooks/useShouldScrollTo
13
13
  var _InlineLoadingMoreIndicator = require("./InlineLoadingMoreIndicator");
14
14
  var _InlineLoadingMoreRecentIndicator = require("./InlineLoadingMoreRecentIndicator");
15
15
  var _InlineLoadingMoreRecentThreadIndicator = require("./InlineLoadingMoreRecentThreadIndicator");
16
- var _getLastReceivedMessageFlashList = require("./utils/getLastReceivedMessageFlashList");
17
16
  var _AttachmentPickerContext = require("../../contexts/attachmentPickerContext/AttachmentPickerContext");
18
17
  var _ChannelContext = require("../../contexts/channelContext/ChannelContext");
19
18
  var _ChatContext = require("../../contexts/chatContext/ChatContext");
20
19
  var _ImageGalleryContext = require("../../contexts/imageGalleryContext/ImageGalleryContext");
20
+ var _MessageListItemContext = require("../../contexts/messageListItemContext/MessageListItemContext");
21
21
  var _MessagesContext = require("../../contexts/messagesContext/MessagesContext");
22
22
  var _OwnCapabilitiesContext = require("../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext");
23
23
  var _PaginatedMessageListContext = require("../../contexts/paginatedMessageListContext/PaginatedMessageListContext");
@@ -25,6 +25,7 @@ var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
25
25
  var _ThreadContext = require("../../contexts/threadContext/ThreadContext");
26
26
  var _hooks = require("../../hooks");
27
27
  var _types = require("../../types/types");
28
+ var _MessageWrapper = require("../Message/MessageSimple/MessageWrapper");
28
29
  var _jsxRuntime = require("react/jsx-runtime");
29
30
  var _excluded = ["contentContainerStyle", "style"];
30
31
  var _this = this,
@@ -97,12 +98,18 @@ var getItemTypeInternal = function getItemTypeInternal(message) {
97
98
  }
98
99
  return 'generic-message';
99
100
  };
101
+ var renderItem = function renderItem(_ref) {
102
+ var message = _ref.item;
103
+ return (0, _jsxRuntime.jsx)(_MessageWrapper.MessageWrapper, {
104
+ message: message
105
+ });
106
+ };
100
107
  var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
101
108
  var _client$user4;
102
109
  var LoadingMoreRecentIndicator = props.threadList ? _InlineLoadingMoreRecentThreadIndicator.InlineLoadingMoreRecentThreadIndicator : _InlineLoadingMoreRecentIndicator.InlineLoadingMoreRecentIndicator;
103
110
  var additionalFlashListProps = props.additionalFlashListProps,
104
111
  channel = props.channel,
105
- channelUnreadState = props.channelUnreadState,
112
+ channelUnreadStateStore = props.channelUnreadStateStore,
106
113
  client = props.client,
107
114
  closePicker = props.closePicker,
108
115
  DateHeader = props.DateHeader,
@@ -114,9 +121,6 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
114
121
  _props$HeaderComponen = props.HeaderComponent,
115
122
  HeaderComponent = _props$HeaderComponen === void 0 ? _InlineLoadingMoreIndicator.InlineLoadingMoreIndicator : _props$HeaderComponen,
116
123
  hideStickyDateHeader = props.hideStickyDateHeader,
117
- highlightedMessageId = props.highlightedMessageId,
118
- InlineDateSeparator = props.InlineDateSeparator,
119
- InlineUnreadIndicator = props.InlineUnreadIndicator,
120
124
  _props$isListActive = props.isListActive,
121
125
  isListActive = _props$isListActive === void 0 ? false : _props$isListActive,
122
126
  _props$isLiveStreamin = props.isLiveStreaming,
@@ -131,8 +135,6 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
131
135
  loadMoreThread = props.loadMoreThread,
132
136
  markRead = props.markRead,
133
137
  maximumMessageLimit = props.maximumMessageLimit,
134
- Message = props.Message,
135
- MessageSystem = props.MessageSystem,
136
138
  myMessageTheme = props.myMessageTheme,
137
139
  readEvents = props.readEvents,
138
140
  NetworkDownIndicator = props.NetworkDownIndicator,
@@ -147,7 +149,6 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
147
149
  setMessages = props.setMessages,
148
150
  setSelectedPicker = props.setSelectedPicker,
149
151
  setTargetedMessage = props.setTargetedMessage,
150
- shouldShowUnreadUnderlay = props.shouldShowUnreadUnderlay,
151
152
  StickyHeader = props.StickyHeader,
152
153
  targetedMessage = props.targetedMessage,
153
154
  thread = props.thread,
@@ -203,8 +204,7 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
203
204
  noGroupByUser: noGroupByUser,
204
205
  threadList: threadList
205
206
  }),
206
- dateSeparatorsRef = _useMessageList.dateSeparatorsRef,
207
- messageGroupStylesRef = _useMessageList.messageGroupStylesRef,
207
+ messageListPreviousAndNextMessageStore = _useMessageList.messageListPreviousAndNextMessageStore,
208
208
  processedMessageList = _useMessageList.processedMessageList,
209
209
  rawMessageList = _useMessageList.rawMessageList,
210
210
  viewabilityChangedCallback = _useMessageList.viewabilityChangedCallback;
@@ -214,10 +214,6 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
214
214
  var messageListLengthBeforeUpdate = (0, _react.useRef)(0);
215
215
  var messageListLengthAfterUpdate = processedMessageList.length;
216
216
  var shouldScrollToRecentOnNewOwnMessageRef = (0, _useShouldScrollToRecentOnNewOwnMessage.useShouldScrollToRecentOnNewOwnMessage)(rawMessageList, client.userID);
217
- var lastReceivedId = (0, _react.useMemo)(function () {
218
- var _getLastReceivedMessa;
219
- return (_getLastReceivedMessa = (0, _getLastReceivedMessageFlashList.getLastReceivedMessageFlashList)(processedMessageList)) == null ? void 0 : _getLastReceivedMessa.id;
220
- }, [processedMessageList]);
221
217
  var _useState9 = (0, _react.useState)(true),
222
218
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
223
219
  autoscrollToRecent = _useState10[0],
@@ -276,7 +272,7 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
276
272
  }
277
273
  }, [loadChannelAroundMessage, processedMessageList, setTargetedMessage, targetedMessage]);
278
274
  var goToMessage = (0, _hooks.useStableCallback)(function () {
279
- var _ref = (0, _asyncToGenerator2.default)(function* (messageId) {
275
+ var _ref2 = (0, _asyncToGenerator2.default)(function* (messageId) {
280
276
  var indexOfParentInMessageList = processedMessageList.findIndex(function (message) {
281
277
  return (message == null ? void 0 : message.id) === messageId;
282
278
  });
@@ -296,7 +292,7 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
296
292
  }
297
293
  });
298
294
  return function (_x) {
299
- return _ref.apply(this, arguments);
295
+ return _ref2.apply(this, arguments);
300
296
  };
301
297
  }());
302
298
  (0, _react.useEffect)(function () {
@@ -358,36 +354,36 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
358
354
  (0, _react.useEffect)(function () {
359
355
  var shouldMarkRead = function shouldMarkRead() {
360
356
  var _client$user, _client$user2;
357
+ var channelUnreadState = channelUnreadStateStore.channelUnreadState;
361
358
  return !(channelUnreadState != null && channelUnreadState.first_unread_message_id) && !scrollToBottomButtonVisible && ((_client$user = client.user) == null ? void 0 : _client$user.id) && !hasReadLastMessage(channel, (_client$user2 = client.user) == null ? void 0 : _client$user2.id);
362
359
  };
363
360
  var handleEvent = function () {
364
- var _ref2 = (0, _asyncToGenerator2.default)(function* (event) {
361
+ var _ref3 = (0, _asyncToGenerator2.default)(function* (event) {
365
362
  var _event$message, _event$message2, _event$message3, _client$user3;
366
363
  var mainChannelUpdated = !((_event$message = event.message) != null && _event$message.parent_id) || ((_event$message2 = event.message) == null ? void 0 : _event$message2.show_in_channel);
367
364
  var isMyOwnMessage = ((_event$message3 = event.message) == null || (_event$message3 = _event$message3.user) == null ? void 0 : _event$message3.id) === ((_client$user3 = client.user) == null ? void 0 : _client$user3.id);
365
+ var channelUnreadState = channelUnreadStateStore.channelUnreadState;
368
366
  if ((scrollToBottomButtonVisible || channelUnreadState != null && channelUnreadState.first_unread_message_id) && !isMyOwnMessage) {
369
- setChannelUnreadState(function (prev) {
370
- var _prev$unread_messages, _prev$last_read;
371
- var previousUnreadCount = (_prev$unread_messages = prev == null ? void 0 : prev.unread_messages) != null ? _prev$unread_messages : 0;
372
- var previousLastMessage = getPreviousLastMessage(channel.state.messages, event.message);
373
- return Object.assign({}, prev || {}, {
374
- last_read: (_prev$last_read = prev == null ? void 0 : prev.last_read) != null ? _prev$last_read : previousUnreadCount === 0 && previousLastMessage != null && previousLastMessage.created_at ? new Date(previousLastMessage.created_at) : new Date(0),
375
- unread_messages: previousUnreadCount + 1
376
- });
377
- });
367
+ var _channelUnreadState$u, _channelUnreadState$l;
368
+ var previousUnreadCount = (_channelUnreadState$u = channelUnreadState == null ? void 0 : channelUnreadState.unread_messages) != null ? _channelUnreadState$u : 0;
369
+ var previousLastMessage = getPreviousLastMessage(channel.state.messages, event.message);
370
+ setChannelUnreadState(Object.assign({}, channelUnreadState, {
371
+ last_read: (_channelUnreadState$l = channelUnreadState == null ? void 0 : channelUnreadState.last_read) != null ? _channelUnreadState$l : previousUnreadCount === 0 && previousLastMessage != null && previousLastMessage.created_at ? new Date(previousLastMessage.created_at) : new Date(0),
372
+ unread_messages: previousUnreadCount + 1
373
+ }));
378
374
  } else if (mainChannelUpdated && shouldMarkRead()) {
379
375
  yield markRead();
380
376
  }
381
377
  });
382
378
  return function handleEvent(_x2) {
383
- return _ref2.apply(this, arguments);
379
+ return _ref3.apply(this, arguments);
384
380
  };
385
381
  }();
386
382
  var listener = channel.on('message.new', handleEvent);
387
383
  return function () {
388
384
  listener == null || listener.unsubscribe();
389
385
  };
390
- }, [channel, channelUnreadState == null ? void 0 : channelUnreadState.first_unread_message_id, (_client$user4 = client.user) == null ? void 0 : _client$user4.id, markRead, scrollToBottomButtonVisible, setChannelUnreadState, threadList]);
386
+ }, [channel, channelUnreadStateStore, (_client$user4 = client.user) == null ? void 0 : _client$user4.id, markRead, scrollToBottomButtonVisible, setChannelUnreadState, threadList]);
391
387
  var updateStickyHeaderDateIfNeeded = (0, _hooks.useStableCallback)(function (viewableItems) {
392
388
  var _lastItem$item, _stickyHeaderDateRef$;
393
389
  if (!viewableItems.length) {
@@ -406,11 +402,13 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
406
402
  }
407
403
  });
408
404
  var updateStickyUnreadIndicator = (0, _hooks.useStableCallback)(function (viewableItems) {
409
- if (!viewableItems.length || !readEvents) {
410
- setIsUnreadNotificationOpen(false);
411
- return;
412
- }
413
- if (selectedPicker === 'images') {
405
+ var _channelUnreadState$l2;
406
+ var channelUnreadState = channelUnreadStateStore.channelUnreadState;
407
+ var lastReadMessageId = channelUnreadState == null ? void 0 : channelUnreadState.last_read_message_id;
408
+ var lastReadMessageVisible = viewableItems.some(function (item) {
409
+ return item.item.id === lastReadMessageId;
410
+ });
411
+ if (!viewableItems.length || !readEvents || lastReadMessageVisible || selectedPicker === 'images') {
414
412
  setIsUnreadNotificationOpen(false);
415
413
  return;
416
414
  }
@@ -418,7 +416,7 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
418
416
  if (!lastItem) return;
419
417
  var lastItemMessage = lastItem.item;
420
418
  var lastItemCreatedAt = lastItemMessage.created_at;
421
- var unreadIndicatorDate = channelUnreadState == null ? void 0 : channelUnreadState.last_read.getTime();
419
+ var unreadIndicatorDate = channelUnreadState == null || (_channelUnreadState$l2 = channelUnreadState.last_read) == null ? void 0 : _channelUnreadState$l2.getTime();
422
420
  var lastItemDate = lastItemCreatedAt.getTime();
423
421
  if (!channel.state.messagePagination.hasPrev && processedMessageList[0].id === lastItemMessage.id) {
424
422
  setIsUnreadNotificationOpen(false);
@@ -434,8 +432,8 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
434
432
  setIsUnreadNotificationOpen(false);
435
433
  }
436
434
  });
437
- var unstableOnViewableItemsChanged = function unstableOnViewableItemsChanged(_ref3) {
438
- var viewableItems = _ref3.viewableItems;
435
+ var unstableOnViewableItemsChanged = function unstableOnViewableItemsChanged(_ref4) {
436
+ var viewableItems = _ref4.viewableItems;
439
437
  if (!viewableItems) {
440
438
  return;
441
439
  }
@@ -450,55 +448,21 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
450
448
  };
451
449
  var onViewableItemsChanged = (0, _react.useRef)(unstableOnViewableItemsChanged);
452
450
  onViewableItemsChanged.current = unstableOnViewableItemsChanged;
453
- var stableOnViewableItemsChanged = (0, _react.useCallback)(function (_ref4) {
454
- var viewableItems = _ref4.viewableItems;
451
+ var stableOnViewableItemsChanged = (0, _react.useCallback)(function (_ref5) {
452
+ var viewableItems = _ref5.viewableItems;
455
453
  onViewableItemsChanged.current({
456
454
  viewableItems: viewableItems
457
455
  });
458
456
  }, []);
459
- var renderItem = (0, _react.useCallback)(function (_ref5) {
460
- var _message$user, _messageGroupStylesRe;
461
- var index = _ref5.index,
462
- message = _ref5.item;
463
- if (!channel || channel.disconnected) {
464
- return null;
465
- }
466
- var createdAtTimestamp = message.created_at && new Date(message.created_at).getTime();
467
- var lastReadTimestamp = channelUnreadState == null ? void 0 : channelUnreadState.last_read.getTime();
468
- var isNewestMessage = index === 0;
469
- var isLastReadMessage = (channelUnreadState == null ? void 0 : channelUnreadState.last_read_message_id) === message.id || !(channelUnreadState != null && channelUnreadState.unread_messages) && createdAtTimestamp === lastReadTimestamp;
470
- var showUnreadSeparator = isLastReadMessage && !isNewestMessage && (!!(channelUnreadState != null && channelUnreadState.first_unread_message_id) || !!(channelUnreadState != null && channelUnreadState.unread_messages));
471
- var showUnreadUnderlay = !!shouldShowUnreadUnderlay && showUnreadSeparator;
472
- var wrapMessageInTheme = client.userID === ((_message$user = message.user) == null ? void 0 : _message$user.id) && !!myMessageTheme;
473
- var renderDateSeperator = dateSeparatorsRef.current[message.id] && (0, _jsxRuntime.jsx)(InlineDateSeparator, {
474
- date: dateSeparatorsRef.current[message.id]
475
- });
476
- var renderMessage = (0, _jsxRuntime.jsx)(Message, {
457
+ var messageListItemContextValue = (0, _react.useMemo)(function () {
458
+ return {
477
459
  goToMessage: goToMessage,
478
- groupStyles: (_messageGroupStylesRe = messageGroupStylesRef.current[message.id]) != null ? _messageGroupStylesRe : [],
479
- isTargetedMessage: highlightedMessageId === message.id,
480
- lastReceivedId: lastReceivedId === message.id || message.quoted_message_id ? lastReceivedId : undefined,
481
- message: message,
482
- onThreadSelect: onThreadSelect,
483
- showUnreadUnderlay: showUnreadUnderlay,
484
- threadList: threadList
485
- });
486
- return (0, _jsxRuntime.jsxs)(_reactNative.View, {
487
- testID: `message-list-item-${index}`,
488
- children: [message.type === 'system' ? (0, _jsxRuntime.jsx)(MessageSystem, {
489
- message: message
490
- }) : wrapMessageInTheme ? (0, _jsxRuntime.jsx)(_ThemeContext.ThemeProvider, {
491
- mergedStyle: modifiedTheme,
492
- children: (0, _jsxRuntime.jsxs)(_reactNative.View, {
493
- testID: `message-list-item-${index}`,
494
- children: [renderDateSeperator, renderMessage]
495
- })
496
- }) : (0, _jsxRuntime.jsxs)(_reactNative.View, {
497
- testID: `message-list-item-${index}`,
498
- children: [renderDateSeperator, renderMessage]
499
- }), showUnreadUnderlay && (0, _jsxRuntime.jsx)(InlineUnreadIndicator, {})]
500
- });
501
- }, [InlineDateSeparator, InlineUnreadIndicator, Message, MessageSystem, channel, channelUnreadState == null ? void 0 : channelUnreadState.first_unread_message_id, channelUnreadState == null ? void 0 : channelUnreadState.last_read, channelUnreadState == null ? void 0 : channelUnreadState.last_read_message_id, channelUnreadState == null ? void 0 : channelUnreadState.unread_messages, client.userID, dateSeparatorsRef, goToMessage, highlightedMessageId, lastReceivedId, messageGroupStylesRef, modifiedTheme, myMessageTheme, onThreadSelect, shouldShowUnreadUnderlay, threadList]);
460
+ messageListPreviousAndNextMessageStore: messageListPreviousAndNextMessageStore,
461
+ modifiedTheme: modifiedTheme,
462
+ noGroupByUser: noGroupByUser,
463
+ onThreadSelect: onThreadSelect
464
+ };
465
+ }, [goToMessage, messageListPreviousAndNextMessageStore, modifiedTheme, noGroupByUser, onThreadSelect]);
502
466
  var messagesWithImages = legacyImageViewerSwipeBehaviour && processedMessageList.filter(function (message) {
503
467
  var isMessageTypeDeleted = message.type === 'deleted';
504
468
  if (!isMessageTypeDeleted && message.attachments) {
@@ -693,31 +657,34 @@ var MessageFlashListWithContext = function MessageFlashListWithContext(props) {
693
657
  children: EmptyStateIndicator ? (0, _jsxRuntime.jsx)(EmptyStateIndicator, {
694
658
  listType: "message"
695
659
  }) : null
696
- }) : (0, _jsxRuntime.jsx)(FlashList, Object.assign({
697
- contentContainerStyle: flatListContentContainerStyle,
698
- data: processedMessageList,
699
- drawDistance: 800,
700
- getItemType: getItemTypeInternal,
701
- initialScrollIndex: indexToScrollToRef.current === -1 ? undefined : indexToScrollToRef.current,
702
- keyboardShouldPersistTaps: "handled",
703
- keyExtractor: keyExtractor,
704
- ListFooterComponent: FooterComponent,
705
- ListHeaderComponent: HeaderComponent,
706
- maintainVisibleContentPosition: maintainVisibleContentPosition,
707
- onMomentumScrollEnd: onUserScrollEvent,
708
- onScroll: handleScroll,
709
- onScrollBeginDrag: onScrollBeginDrag,
710
- onScrollEndDrag: onScrollEndDrag,
711
- onTouchEnd: dismissImagePicker,
712
- onViewableItemsChanged: stableOnViewableItemsChanged,
713
- ref: refCallback,
714
- renderItem: renderItem,
715
- scrollEventThrottle: isLiveStreaming ? 16 : undefined,
716
- showsVerticalScrollIndicator: false,
717
- style: flatListStyle,
718
- testID: "message-flash-list",
719
- viewabilityConfig: flatListViewabilityConfig
720
- }, additionalFlashListPropsExcludingStyle)), (0, _jsxRuntime.jsx)(_reactNative.View, {
660
+ }) : (0, _jsxRuntime.jsx)(_MessageListItemContext.MessageListItemProvider, {
661
+ value: messageListItemContextValue,
662
+ children: (0, _jsxRuntime.jsx)(FlashList, Object.assign({
663
+ contentContainerStyle: flatListContentContainerStyle,
664
+ data: processedMessageList,
665
+ drawDistance: 800,
666
+ getItemType: getItemTypeInternal,
667
+ initialScrollIndex: indexToScrollToRef.current === -1 ? undefined : indexToScrollToRef.current,
668
+ keyboardShouldPersistTaps: "handled",
669
+ keyExtractor: keyExtractor,
670
+ ListFooterComponent: FooterComponent,
671
+ ListHeaderComponent: HeaderComponent,
672
+ maintainVisibleContentPosition: maintainVisibleContentPosition,
673
+ onMomentumScrollEnd: onUserScrollEvent,
674
+ onScroll: handleScroll,
675
+ onScrollBeginDrag: onScrollBeginDrag,
676
+ onScrollEndDrag: onScrollEndDrag,
677
+ onTouchEnd: dismissImagePicker,
678
+ onViewableItemsChanged: stableOnViewableItemsChanged,
679
+ ref: refCallback,
680
+ renderItem: renderItem,
681
+ scrollEventThrottle: isLiveStreaming ? 16 : undefined,
682
+ showsVerticalScrollIndicator: false,
683
+ style: flatListStyle,
684
+ testID: "message-flash-list",
685
+ viewabilityConfig: flatListViewabilityConfig
686
+ }, additionalFlashListPropsExcludingStyle))
687
+ }), (0, _jsxRuntime.jsx)(_reactNative.View, {
721
688
  style: styles.stickyHeader,
722
689
  children: messageListLengthAfterUpdate && StickyHeader ? (0, _jsxRuntime.jsx)(StickyHeader, {
723
690
  date: stickyHeaderDate,
@@ -742,6 +709,7 @@ var MessageFlashList = exports.MessageFlashList = function MessageFlashList(prop
742
709
  var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
743
710
  channel = _useChannelContext.channel,
744
711
  channelUnreadState = _useChannelContext.channelUnreadState,
712
+ channelUnreadStateStore = _useChannelContext.channelUnreadStateStore,
745
713
  disabled = _useChannelContext.disabled,
746
714
  EmptyStateIndicator = _useChannelContext.EmptyStateIndicator,
747
715
  enableMessageGroupingByUser = _useChannelContext.enableMessageGroupingByUser,
@@ -794,6 +762,7 @@ var MessageFlashList = exports.MessageFlashList = function MessageFlashList(prop
794
762
  return (0, _jsxRuntime.jsx)(MessageFlashListWithContext, Object.assign({
795
763
  channel: channel,
796
764
  channelUnreadState: channelUnreadState,
765
+ channelUnreadStateStore: channelUnreadStateStore,
797
766
  client: client,
798
767
  closePicker: closePicker,
799
768
  DateHeader: DateHeader,