stream-chat-react-native-core 5.24.0-beta.2 → 5.24.0-beta.4
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.
- package/lib/commonjs/components/Channel/Channel.js +30 -22
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +52 -18
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +4 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +28 -6
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js +84 -0
- package/lib/commonjs/components/Message/MessageSimple/MessageBounce.js.map +1 -0
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +51 -39
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +4 -8
- package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/i18n/en.json +3 -0
- package/lib/commonjs/i18n/es.json +4 -1
- package/lib/commonjs/i18n/fr.json +28 -25
- package/lib/commonjs/i18n/he.json +4 -1
- package/lib/commonjs/i18n/hi.json +28 -25
- package/lib/commonjs/i18n/it.json +28 -25
- package/lib/commonjs/i18n/ja.json +4 -1
- package/lib/commonjs/i18n/ko.json +4 -1
- package/lib/commonjs/i18n/nl.json +28 -25
- package/lib/commonjs/i18n/ru.json +28 -25
- package/lib/commonjs/i18n/tr.json +28 -25
- package/lib/commonjs/utils/removeReservedFields.js +1 -1
- package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
- package/lib/commonjs/utils/utils.js +5 -3
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +30 -22
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +52 -18
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +4 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
- package/lib/module/components/Message/Message.js +28 -6
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageBounce.js +84 -0
- package/lib/module/components/Message/MessageSimple/MessageBounce.js.map +1 -0
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/index.js +11 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +51 -39
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +4 -8
- package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/i18n/en.json +3 -0
- package/lib/module/i18n/es.json +4 -1
- package/lib/module/i18n/fr.json +28 -25
- package/lib/module/i18n/he.json +4 -1
- package/lib/module/i18n/hi.json +28 -25
- package/lib/module/i18n/it.json +28 -25
- package/lib/module/i18n/ja.json +4 -1
- package/lib/module/i18n/ko.json +4 -1
- package/lib/module/i18n/nl.json +28 -25
- package/lib/module/i18n/ru.json +28 -25
- package/lib/module/i18n/tr.json +28 -25
- package/lib/module/utils/removeReservedFields.js +1 -1
- package/lib/module/utils/removeReservedFields.js.map +1 -1
- package/lib/module/utils/utils.js +5 -3
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageBounce.d.ts +12 -0
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +1 -0
- package/lib/typescript/components/index.d.ts +1 -0
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +6 -2
- package/lib/typescript/contexts/messageInputContext/hooks/useMessageDetailsForState.d.ts +1 -2
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +7 -2
- package/lib/typescript/i18n/en.json +3 -0
- package/lib/typescript/i18n/es.json +4 -1
- package/lib/typescript/i18n/fr.json +28 -25
- package/lib/typescript/i18n/he.json +4 -1
- package/lib/typescript/i18n/hi.json +28 -25
- package/lib/typescript/i18n/it.json +28 -25
- package/lib/typescript/i18n/ja.json +4 -1
- package/lib/typescript/i18n/ko.json +4 -1
- package/lib/typescript/i18n/nl.json +28 -25
- package/lib/typescript/i18n/ru.json +28 -25
- package/lib/typescript/i18n/tr.json +28 -25
- package/lib/typescript/utils/Streami18n.d.ts +3 -0
- package/lib/typescript/utils/removeReservedFields.d.ts +2 -1
- package/lib/typescript/utils/utils.d.ts +11 -1
- package/package.json +2 -2
- package/src/components/Channel/Channel.tsx +26 -7
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +6 -3
- package/src/components/ChannelPreview/ChannelPreview.tsx +5 -5
- package/src/components/Message/Message.tsx +26 -2
- package/src/components/Message/MessageSimple/MessageBounce.tsx +119 -0
- package/src/components/Message/hooks/useMessageActionHandlers.ts +1 -2
- package/src/components/Message/hooks/useMessageActions.tsx +1 -1
- package/src/components/index.ts +1 -0
- package/src/contexts/messageInputContext/MessageInputContext.tsx +27 -8
- package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +8 -8
- package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +1 -1
- package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +6 -1
- package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +3 -9
- package/src/contexts/messagesContext/MessagesContext.tsx +7 -2
- package/src/i18n/en.json +3 -0
- package/src/i18n/es.json +4 -1
- package/src/i18n/fr.json +28 -25
- package/src/i18n/he.json +4 -1
- package/src/i18n/hi.json +28 -25
- package/src/i18n/it.json +28 -25
- package/src/i18n/ja.json +4 -1
- package/src/i18n/ko.json +4 -1
- package/src/i18n/nl.json +28 -25
- package/src/i18n/ru.json +28 -25
- package/src/i18n/tr.json +28 -25
- package/src/utils/removeReservedFields.ts +5 -2
- package/src/utils/utils.ts +16 -2
- package/src/version.json +1 -1
|
@@ -52,6 +52,7 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
|
|
|
52
52
|
Message = _ref.Message,
|
|
53
53
|
messageActions = _ref.messageActions,
|
|
54
54
|
MessageAvatar = _ref.MessageAvatar,
|
|
55
|
+
MessageBounce = _ref.MessageBounce,
|
|
55
56
|
MessageContent = _ref.MessageContent,
|
|
56
57
|
messageContentOrder = _ref.messageContentOrder,
|
|
57
58
|
MessageDeleted = _ref.MessageDeleted,
|
|
@@ -140,6 +141,7 @@ var useCreateMessagesContext = function useCreateMessagesContext(_ref) {
|
|
|
140
141
|
Message: Message,
|
|
141
142
|
messageActions: messageActions,
|
|
142
143
|
MessageAvatar: MessageAvatar,
|
|
144
|
+
MessageBounce: MessageBounce,
|
|
143
145
|
MessageContent: MessageContent,
|
|
144
146
|
messageContentOrder: messageContentOrder,
|
|
145
147
|
MessageDeleted: MessageDeleted,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","useCreateMessagesContext","_ref","additionalTouchableProps","Attachment","AttachmentActions","AudioAttachment","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","deleteMessage","deleteReaction","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","getMessagesGroupStyles","Giphy","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","ImageLoadingFailedIndicator","ImageLoadingIndicator","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","isAttachmentEqual","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageContent","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","sendReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","VideoThumbnail","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext","useMemo","exports"],"sources":["useCreateMessagesContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n myMessageTheme,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","require","useCreateMessagesContext","_ref","additionalTouchableProps","Attachment","AttachmentActions","AudioAttachment","Card","CardCover","CardFooter","CardHeader","channelId","DateHeader","deletedMessagesVisibilityType","deleteMessage","deleteReaction","disableTypingIndicator","dismissKeyboardOnMessageTouch","enableMessageGroupingByUser","FileAttachment","FileAttachmentGroup","FileAttachmentIcon","FlatList","forceAlignMessages","formatDate","Gallery","getMessagesGroupStyles","Giphy","giphyVersion","handleBlock","handleCopy","handleDelete","handleEdit","handleFlag","handleMute","handlePinMessage","handleQuotedReply","handleReaction","handleRetry","handleThreadReply","ImageLoadingFailedIndicator","ImageLoadingIndicator","initialScrollToFirstUnreadMessage","InlineDateSeparator","InlineUnreadIndicator","isAttachmentEqual","legacyImageViewerSwipeBehaviour","markdownRules","Message","messageActions","MessageAvatar","MessageBounce","MessageContent","messageContentOrder","MessageDeleted","MessageError","MessageFooter","MessageHeader","MessageList","MessagePinnedHeader","MessageReplies","MessageRepliesAvatars","MessageSimple","MessageStatus","MessageSystem","MessageText","myMessageTheme","onLongPressMessage","onPressInMessage","onPressMessage","OverlayReactionList","ReactionList","removeMessage","Reply","retrySendMessage","ScrollToBottomButton","selectReaction","sendReaction","setEditingState","setQuotedMessageState","supportedReactions","targetedMessage","TypingIndicator","TypingIndicatorContainer","updateMessage","UrlPreview","VideoThumbnail","additionalTouchablePropsLength","Object","keys","length","markdownRulesLength","messageContentOrderValue","join","supportedReactionsLength","messagesContext","useMemo","exports"],"sources":["useCreateMessagesContext.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nexport const useCreateMessagesContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n channelId,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageBounce,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n}: MessagesContextValue<StreamChatGenerics> & {\n /**\n * To ensure we allow re-render, when channel is changed\n */\n channelId?: string;\n}) => {\n const additionalTouchablePropsLength = Object.keys(additionalTouchableProps || {}).length;\n const markdownRulesLength = Object.keys(markdownRules || {}).length;\n const messageContentOrderValue = messageContentOrder.join();\n const supportedReactionsLength = supportedReactions.length;\n\n const messagesContext: MessagesContextValue<StreamChatGenerics> = useMemo(\n () => ({\n additionalTouchableProps,\n Attachment,\n AttachmentActions,\n AudioAttachment,\n Card,\n CardCover,\n CardFooter,\n CardHeader,\n DateHeader,\n deletedMessagesVisibilityType,\n deleteMessage,\n deleteReaction,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n enableMessageGroupingByUser,\n FileAttachment,\n FileAttachmentGroup,\n FileAttachmentIcon,\n FlatList,\n forceAlignMessages,\n formatDate,\n Gallery,\n getMessagesGroupStyles,\n Giphy,\n giphyVersion,\n handleBlock,\n handleCopy,\n handleDelete,\n handleEdit,\n handleFlag,\n handleMute,\n handlePinMessage,\n handleQuotedReply,\n handleReaction,\n handleRetry,\n handleThreadReply,\n ImageLoadingFailedIndicator,\n ImageLoadingIndicator,\n initialScrollToFirstUnreadMessage,\n InlineDateSeparator,\n InlineUnreadIndicator,\n isAttachmentEqual,\n legacyImageViewerSwipeBehaviour,\n markdownRules,\n Message,\n messageActions,\n MessageAvatar,\n MessageBounce,\n MessageContent,\n messageContentOrder,\n MessageDeleted,\n MessageError,\n MessageFooter,\n MessageHeader,\n MessageList,\n MessagePinnedHeader,\n MessageReplies,\n MessageRepliesAvatars,\n MessageSimple,\n MessageStatus,\n MessageSystem,\n MessageText,\n myMessageTheme,\n onLongPressMessage,\n onPressInMessage,\n onPressMessage,\n OverlayReactionList,\n ReactionList,\n removeMessage,\n Reply,\n retrySendMessage,\n ScrollToBottomButton,\n selectReaction,\n sendReaction,\n setEditingState,\n setQuotedMessageState,\n supportedReactions,\n targetedMessage,\n TypingIndicator,\n TypingIndicatorContainer,\n updateMessage,\n UrlPreview,\n VideoThumbnail,\n }),\n [\n additionalTouchablePropsLength,\n channelId,\n disableTypingIndicator,\n dismissKeyboardOnMessageTouch,\n initialScrollToFirstUnreadMessage,\n markdownRulesLength,\n messageContentOrderValue,\n supportedReactionsLength,\n myMessageTheme,\n targetedMessage,\n ],\n );\n\n return messagesContext;\n};\n"],"mappings":"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"}
|
|
@@ -199,9 +199,23 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
|
|
|
199
199
|
return _ref3.apply(this, arguments);
|
|
200
200
|
};
|
|
201
201
|
}();
|
|
202
|
-
var reloadList = function
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
var reloadList = function () {
|
|
203
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
204
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
205
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
206
|
+
case 0:
|
|
207
|
+
_context3.next = 2;
|
|
208
|
+
return queryChannels('reload');
|
|
209
|
+
case 2:
|
|
210
|
+
case "end":
|
|
211
|
+
return _context3.stop();
|
|
212
|
+
}
|
|
213
|
+
}, _callee3);
|
|
214
|
+
}));
|
|
215
|
+
return function reloadList() {
|
|
216
|
+
return _ref4.apply(this, arguments);
|
|
217
|
+
};
|
|
218
|
+
}();
|
|
205
219
|
var filterStr = (0, _react.useMemo)(function () {
|
|
206
220
|
return JSON.stringify(filters);
|
|
207
221
|
}, [filters]);
|
|
@@ -233,12 +247,32 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
|
|
|
233
247
|
};
|
|
234
248
|
var listener;
|
|
235
249
|
if (enableOfflineSupport) {
|
|
236
|
-
listener = _DBSyncManager.DBSyncManager.onSyncStatusChange(function (
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
250
|
+
listener = _DBSyncManager.DBSyncManager.onSyncStatusChange(function () {
|
|
251
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(syncStatus) {
|
|
252
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
253
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
254
|
+
case 0:
|
|
255
|
+
if (!syncStatus) {
|
|
256
|
+
_context4.next = 5;
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
loadOfflineChannels();
|
|
260
|
+
_context4.next = 4;
|
|
261
|
+
return reloadList();
|
|
262
|
+
case 4:
|
|
263
|
+
setForceUpdate(function (u) {
|
|
264
|
+
return u + 1;
|
|
265
|
+
});
|
|
266
|
+
case 5:
|
|
267
|
+
case "end":
|
|
268
|
+
return _context4.stop();
|
|
269
|
+
}
|
|
270
|
+
}, _callee4);
|
|
271
|
+
}));
|
|
272
|
+
return function (_x) {
|
|
273
|
+
return _ref5.apply(this, arguments);
|
|
274
|
+
};
|
|
275
|
+
}());
|
|
242
276
|
loadOfflineChannels();
|
|
243
277
|
var dbSyncStatus = _DBSyncManager.DBSyncManager.getSyncStatus();
|
|
244
278
|
if (dbSyncStatus) {
|
|
@@ -246,15 +280,15 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
|
|
|
246
280
|
}
|
|
247
281
|
} else {
|
|
248
282
|
listener = client.on('connection.changed', function () {
|
|
249
|
-
var
|
|
250
|
-
return _regenerator["default"].wrap(function
|
|
251
|
-
while (1) switch (
|
|
283
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(event) {
|
|
284
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
285
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
252
286
|
case 0:
|
|
253
287
|
if (!event.online) {
|
|
254
|
-
|
|
288
|
+
_context5.next = 4;
|
|
255
289
|
break;
|
|
256
290
|
}
|
|
257
|
-
|
|
291
|
+
_context5.next = 3;
|
|
258
292
|
return refreshList();
|
|
259
293
|
case 3:
|
|
260
294
|
setForceUpdate(function (u) {
|
|
@@ -262,12 +296,12 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
|
|
|
262
296
|
});
|
|
263
297
|
case 4:
|
|
264
298
|
case "end":
|
|
265
|
-
return
|
|
299
|
+
return _context5.stop();
|
|
266
300
|
}
|
|
267
|
-
},
|
|
301
|
+
}, _callee5);
|
|
268
302
|
}));
|
|
269
|
-
return function (
|
|
270
|
-
return
|
|
303
|
+
return function (_x2) {
|
|
304
|
+
return _ref6.apply(this, arguments);
|
|
271
305
|
};
|
|
272
306
|
}());
|
|
273
307
|
reloadList();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_ActiveChannelsRefContext","_ChatContext","_useIsMountedRef","_getChannelsForFilterSort","_date","_DBSyncManager","_utils","waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","_ref","enableOfflineSupport","_ref$filters","filters","_ref$options","options","setForceUpdate","_ref$sort","sort","_useState","useState","_useState2","_slicedToArray2","channels","setChannels","_useState3","undefined","_useState4","error","setError","_useState5","_useState6","staticChannelsActive","setStaticChannelsActive","_useState7","_useState8","activeQueryType","setActiveQueryType","_useState9","_useState10","hasNextPage","setHasNextPage","activeChannels","useActiveChannelsRefContext","isMountedRef","useIsMountedRef","_useChatContext","useChatContext","client","filtersRef","useRef","sortRef","activeRequestId","isQueryingRef","lastRefresh","Date","now","queryChannels","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_options$limit","queryType","retryCount","hasUpdatedData","isQueryStale","currentRequestId","newOptions","channelQueryResponse","newChannels","_args","arguments","wrap","_callee$","_context","prev","next","length","current","abrupt","JSON","stringify","some","Boolean","_extends2","limit","MAX_QUERY_CHANNELS_LIMIT","offset","skipInitialization","sent","concat","_toConsumableArray2","map","c","existingChannel","cid","t0","console","warn","Error","stop","apply","refreshList","_ref3","_callee2","_callee2$","_context2","reloadList","filterStr","useMemo","sortStr","useEffect","loadOfflineChannels","_client$user","user","id","channelsFromDB","getChannelsForFilterSort","currentUserId","offlineChannels","hydrateActiveChannels","offlineMode","e","listener","DBSyncManager","onSyncStatusChange","syncStatus","dbSyncStatus","getSyncStatus","on","_ref4","_callee3","event","_callee3$","_context3","online","u","_x","_listener","unsubscribe","loadingChannels","loadingNextPage","loadNextPage","refreshing","exports"],"sources":["usePaginatedChannels.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { DBSyncManager } from '../../../utils/DBSyncManager';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n setForceUpdate,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[] | null>(null);\n const [error, setError] = useState<Error | undefined>(undefined);\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const [hasNextPage, setHasNextPage] = useState<boolean>(false);\n const activeChannels = useActiveChannelsRefContext();\n const isMountedRef = useIsMountedRef();\n const { client } = useChatContext<StreamChatGenerics>();\n\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n const isQueryingRef = useRef(false);\n const lastRefresh = useRef(Date.now());\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset:\n queryType === 'loadChannels' && !staticChannelsActive && channels ? channels.length : 0,\n ...options,\n };\n\n try {\n /**\n * We skipInitialization here for handling race condition between ChannelList, Channel (and Thread)\n * when they all (may) update the channel state at the same time (when connection state recovers)\n * TODO: if we move the channel state to a single context and share it between ChannelList, Channel and Thread we can remove this\n */\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: enableOfflineSupport ? undefined : activeChannels.current,\n });\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive && channels\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse.map((c) => {\n const existingChannel = client.activeChannels[c.cid];\n if (existingChannel) {\n return existingChannel;\n }\n\n return c;\n });\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const refreshList = async () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n await queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadOfflineChannels = () => {\n if (!client?.user?.id) return;\n\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n const offlineChannels = client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n skipInitialization: [], // passing empty array will clear out the existing messages from channel state, this removes the possibility of duplicate messages\n });\n\n setChannels(offlineChannels);\n setStaticChannelsActive(true);\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n\n setActiveQueryType(null);\n };\n\n let listener: ReturnType<typeof DBSyncManager.onSyncStatusChange>;\n if (enableOfflineSupport) {\n // Any time DB is synced, we need to update the UI with local DB channels first,\n // and then call queryChannels to ensure any new channels are added to UI.\n listener = DBSyncManager.onSyncStatusChange((syncStatus) => {\n if (syncStatus) {\n loadOfflineChannels();\n reloadList();\n }\n });\n // On start, load the channels from local db.\n loadOfflineChannels();\n\n // If db is already synced (sync api and pending api calls), then\n // right away call queryChannels.\n const dbSyncStatus = DBSyncManager.getSyncStatus();\n if (dbSyncStatus) {\n reloadList();\n }\n } else {\n listener = client.on('connection.changed', async (event) => {\n if (event.online) {\n await refreshList();\n setForceUpdate((u) => u + 1);\n }\n });\n\n reloadList();\n }\n\n return () => listener?.unsubscribe?.();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : (activeQueryType === 'reload' || activeQueryType === null) && channels === null,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage: queryChannels,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n // Although channels can be null, there is no practical case where channels will be null\n // when setChannels is used. setChannels is only recommended to be used for overriding\n // event handler. Thus instead of adding if check for channels === null, its better to\n // simply reassign types here.\n setChannels,\n staticChannelsActive,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","require","_ActiveChannelsRefContext","_ChatContext","_useIsMountedRef","_getChannelsForFilterSort","_date","_DBSyncManager","_utils","waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","_ref","enableOfflineSupport","_ref$filters","filters","_ref$options","options","setForceUpdate","_ref$sort","sort","_useState","useState","_useState2","_slicedToArray2","channels","setChannels","_useState3","undefined","_useState4","error","setError","_useState5","_useState6","staticChannelsActive","setStaticChannelsActive","_useState7","_useState8","activeQueryType","setActiveQueryType","_useState9","_useState10","hasNextPage","setHasNextPage","activeChannels","useActiveChannelsRefContext","isMountedRef","useIsMountedRef","_useChatContext","useChatContext","client","filtersRef","useRef","sortRef","activeRequestId","isQueryingRef","lastRefresh","Date","now","queryChannels","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_options$limit","queryType","retryCount","hasUpdatedData","isQueryStale","currentRequestId","newOptions","channelQueryResponse","newChannels","_args","arguments","wrap","_callee$","_context","prev","next","length","current","abrupt","JSON","stringify","some","Boolean","_extends2","limit","MAX_QUERY_CHANNELS_LIMIT","offset","skipInitialization","sent","concat","_toConsumableArray2","map","c","existingChannel","cid","t0","console","warn","Error","stop","apply","refreshList","_ref3","_callee2","_callee2$","_context2","reloadList","_ref4","_callee3","_callee3$","_context3","filterStr","useMemo","sortStr","useEffect","loadOfflineChannels","_client$user","user","id","channelsFromDB","getChannelsForFilterSort","currentUserId","offlineChannels","hydrateActiveChannels","offlineMode","e","listener","DBSyncManager","onSyncStatusChange","_ref5","_callee4","syncStatus","_callee4$","_context4","u","_x","dbSyncStatus","getSyncStatus","on","_ref6","_callee5","event","_callee5$","_context5","online","_x2","_listener","unsubscribe","loadingChannels","loadingNextPage","loadNextPage","refreshing","exports"],"sources":["usePaginatedChannels.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { DBSyncManager } from '../../../utils/DBSyncManager';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n setForceUpdate,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[] | null>(null);\n const [error, setError] = useState<Error | undefined>(undefined);\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const [hasNextPage, setHasNextPage] = useState<boolean>(false);\n const activeChannels = useActiveChannelsRefContext();\n const isMountedRef = useIsMountedRef();\n const { client } = useChatContext<StreamChatGenerics>();\n\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n const isQueryingRef = useRef(false);\n const lastRefresh = useRef(Date.now());\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset:\n queryType === 'loadChannels' && !staticChannelsActive && channels ? channels.length : 0,\n ...options,\n };\n\n try {\n /**\n * We skipInitialization here for handling race condition between ChannelList, Channel (and Thread)\n * when they all (may) update the channel state at the same time (when connection state recovers)\n * TODO: if we move the channel state to a single context and share it between ChannelList, Channel and Thread we can remove this\n */\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: enableOfflineSupport ? undefined : activeChannels.current,\n });\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive && channels\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse.map((c) => {\n const existingChannel = client.activeChannels[c.cid];\n if (existingChannel) {\n return existingChannel;\n }\n\n return c;\n });\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const refreshList = async () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n await queryChannels('refresh');\n };\n\n const reloadList = async () => {\n await queryChannels('reload');\n };\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadOfflineChannels = () => {\n if (!client?.user?.id) return;\n\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n const offlineChannels = client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n skipInitialization: [], // passing empty array will clear out the existing messages from channel state, this removes the possibility of duplicate messages\n });\n\n setChannels(offlineChannels);\n setStaticChannelsActive(true);\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n\n setActiveQueryType(null);\n };\n\n let listener: ReturnType<typeof DBSyncManager.onSyncStatusChange>;\n if (enableOfflineSupport) {\n // Any time DB is synced, we need to update the UI with local DB channels first,\n // and then call queryChannels to ensure any new channels are added to UI.\n listener = DBSyncManager.onSyncStatusChange(async (syncStatus) => {\n if (syncStatus) {\n loadOfflineChannels();\n await reloadList();\n setForceUpdate((u) => u + 1);\n }\n });\n // On start, load the channels from local db.\n loadOfflineChannels();\n\n // If db is already synced (sync api and pending api calls), then\n // right away call queryChannels.\n const dbSyncStatus = DBSyncManager.getSyncStatus();\n if (dbSyncStatus) {\n reloadList();\n }\n } else {\n listener = client.on('connection.changed', async (event) => {\n if (event.online) {\n await refreshList();\n setForceUpdate((u) => u + 1);\n }\n });\n\n reloadList();\n }\n\n return () => listener?.unsubscribe?.();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : (activeQueryType === 'reload' || activeQueryType === null) && channels === null,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage: queryChannels,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n // Although channels can be null, there is no practical case where channels will be null\n // when setChannels is used. setChannels is only recommended to be used for overriding\n // event handler. Thus instead of adding if check for channels === null, its better to\n // simply reassign types here.\n setChannels,\n staticChannelsActive,\n };\n};\n"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
18
18
|
var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
|
|
19
19
|
var channel = props.channel,
|
|
20
20
|
client = props.client,
|
|
21
|
+
channelListForceUpdate = props.forceUpdate,
|
|
21
22
|
Preview = props.Preview;
|
|
22
23
|
var _useState = (0, _react.useState)(channel.state.messages[channel.state.messages.length - 1]),
|
|
23
24
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -48,7 +49,7 @@ var ChannelPreviewWithContext = function ChannelPreviewWithContext(props) {
|
|
|
48
49
|
}
|
|
49
50
|
var newUnreadCount = channel.countUnread();
|
|
50
51
|
setUnread(newUnreadCount);
|
|
51
|
-
}, [channelLastMessageString]);
|
|
52
|
+
}, [channelLastMessageString, channelListForceUpdate]);
|
|
52
53
|
(0, _react.useEffect)(function () {
|
|
53
54
|
var handleNewMessageEvent = function handleNewMessageEvent(event) {
|
|
54
55
|
var message = event.message;
|
|
@@ -105,9 +106,11 @@ var ChannelPreview = function ChannelPreview(props) {
|
|
|
105
106
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
106
107
|
client = _useChatContext.client;
|
|
107
108
|
var _useChannelsContext = (0, _ChannelsContext.useChannelsContext)(),
|
|
109
|
+
forceUpdate = _useChannelsContext.forceUpdate,
|
|
108
110
|
Preview = _useChannelsContext.Preview;
|
|
109
111
|
return _react["default"].createElement(ChannelPreviewWithContext, (0, _extends2["default"])({
|
|
110
112
|
client: client,
|
|
113
|
+
forceUpdate: forceUpdate,
|
|
111
114
|
Preview: Preview
|
|
112
115
|
}, props, {
|
|
113
116
|
__self: _this,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_useLatestMessagePreview","_ChannelsContext","_ChatContext","_useTranslatedMessage","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ChannelPreviewWithContext","props","channel","client","Preview","_useState","useState","state","messages","length","_useState2","_slicedToArray2","lastMessage","setLastMessage","translatedLastMessage","useTranslatedMessage","_useState3","_useState4","forceUpdate","setForceUpdate","_useState5","countUnread","_useState6","unread","setUnread","latestMessagePreview","useLatestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","useEffect","_client$on","on","unsubscribe","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","_event$message","listeners","forEach","l","handleReadEvent","_event$user","_event$user2","user","userID","prev","listener","createElement","__self","__source","fileName","lineNumber","columnNumber","ChannelPreview","_useChatContext","useChatContext","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n const { unsubscribe } = client.on('notification.mark_read', () => {\n setUnread(channel.countUnread());\n });\n return unsubscribe;\n }, []);\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n setUnread(newUnreadCount);\n }, [channelLastMessageString]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n setLastMessage((prevLastMessage) => {\n if (prevLastMessage?.id === event.message?.id) {\n return event.message;\n }\n return prevLastMessage;\n });\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n const listener = channel.on('message.read', handleReadEvent);\n return () => listener.unsubscribe();\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, Preview }} {...props} />;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_useLatestMessagePreview","_ChannelsContext","_ChatContext","_useTranslatedMessage","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ChannelPreviewWithContext","props","channel","client","channelListForceUpdate","forceUpdate","Preview","_useState","useState","state","messages","length","_useState2","_slicedToArray2","lastMessage","setLastMessage","translatedLastMessage","useTranslatedMessage","_useState3","_useState4","setForceUpdate","_useState5","countUnread","_useState6","unread","setUnread","latestMessagePreview","useLatestMessagePreview","channelLastMessage","channelLastMessageString","id","updated_at","useEffect","_client$on","on","unsubscribe","newUnreadCount","handleNewMessageEvent","event","message","parent_id","show_in_channel","handleUpdatedOrDeletedMessage","prevLastMessage","_event$message","listeners","forEach","l","handleReadEvent","_event$user","_event$user2","user","userID","prev","listener","createElement","__self","__source","fileName","lineNumber","columnNumber","ChannelPreview","_useChatContext","useChatContext","_useChannelsContext","useChannelsContext","_extends2","exports"],"sources":["ChannelPreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Channel, ChannelState, Event, MessageResponse } from 'stream-chat';\n\nimport { useLatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { ChatContextValue, useChatContext } from '../../contexts/chatContext/ChatContext';\n\nimport { useTranslatedMessage } from '../../hooks/useTranslatedMessage';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nexport type ChannelPreviewPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<ChatContextValue<StreamChatGenerics>, 'client'> &\n Pick<ChannelsContextValue<StreamChatGenerics>, 'Preview' | 'forceUpdate'> & {\n /**\n * The previewed channel\n */\n channel: Channel<StreamChatGenerics>;\n };\n\n/**\n * This component manages state for the ChannelPreviewMessenger UI component and receives\n * all props from the ChannelListMessenger component.\n */\nconst ChannelPreviewWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewPropsWithContext<StreamChatGenerics>,\n) => {\n const { channel, client, forceUpdate: channelListForceUpdate, Preview } = props;\n\n const [lastMessage, setLastMessage] = useState<\n | ReturnType<ChannelState<StreamChatGenerics>['formatMessage']>\n | MessageResponse<StreamChatGenerics>\n | undefined\n >(channel.state.messages[channel.state.messages.length - 1]);\n\n const translatedLastMessage = useTranslatedMessage<StreamChatGenerics>(\n lastMessage || ({} as MessageResponse<StreamChatGenerics>),\n );\n\n const [forceUpdate, setForceUpdate] = useState(0);\n const [unread, setUnread] = useState(channel.countUnread());\n\n const latestMessagePreview = useLatestMessagePreview(channel, forceUpdate, translatedLastMessage);\n\n const channelLastMessage = channel.lastMessage();\n const channelLastMessageString = `${channelLastMessage?.id}${channelLastMessage?.updated_at}`;\n\n useEffect(() => {\n const { unsubscribe } = client.on('notification.mark_read', () => {\n setUnread(channel.countUnread());\n });\n return unsubscribe;\n }, []);\n\n useEffect(() => {\n if (\n channelLastMessage &&\n (channelLastMessage.id !== lastMessage?.id ||\n channelLastMessage.updated_at !== lastMessage?.updated_at)\n ) {\n setLastMessage(channelLastMessage);\n }\n\n const newUnreadCount = channel.countUnread();\n setUnread(newUnreadCount);\n }, [channelLastMessageString, channelListForceUpdate]);\n\n useEffect(() => {\n const handleNewMessageEvent = (event: Event<StreamChatGenerics>) => {\n const message = event.message;\n if (message && (!message.parent_id || message.show_in_channel)) {\n setLastMessage(event.message);\n setUnread(channel.countUnread());\n }\n };\n\n const handleUpdatedOrDeletedMessage = (event: Event<StreamChatGenerics>) => {\n setLastMessage((prevLastMessage) => {\n if (prevLastMessage?.id === event.message?.id) {\n return event.message;\n }\n return prevLastMessage;\n });\n };\n\n const listeners = [\n channel.on('message.new', handleNewMessageEvent),\n channel.on('message.updated', handleUpdatedOrDeletedMessage),\n channel.on('message.deleted', handleUpdatedOrDeletedMessage),\n ];\n\n return () => listeners.forEach((l) => l.unsubscribe());\n }, []);\n\n useEffect(() => {\n const handleReadEvent = (event: Event<StreamChatGenerics>) => {\n if (event.user?.id === client.userID) {\n setUnread(0);\n } else if (event.user?.id) {\n setForceUpdate((prev) => prev + 1);\n }\n };\n\n const listener = channel.on('message.read', handleReadEvent);\n return () => listener.unsubscribe();\n }, []);\n\n return <Preview channel={channel} latestMessagePreview={latestMessagePreview} unread={unread} />;\n};\n\nexport type ChannelPreviewProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>> &\n Pick<ChannelPreviewPropsWithContext<StreamChatGenerics>, 'channel'>;\n\nexport const ChannelPreview = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelPreviewProps<StreamChatGenerics>,\n) => {\n const { client } = useChatContext<StreamChatGenerics>();\n const { forceUpdate, Preview } = useChannelsContext<StreamChatGenerics>();\n\n return <ChannelPreviewWithContext {...{ client, forceUpdate, Preview }} {...props} />;\n};\n"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _reactNative = require("react-native");
|
|
13
14
|
var _useCreateMessageContext = require("./hooks/useCreateMessageContext");
|
|
@@ -34,6 +35,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
34
35
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
36
|
var MessageWithContext = function MessageWithContext(props) {
|
|
36
37
|
var _message$user;
|
|
38
|
+
var _useState = (0, _react.useState)(false),
|
|
39
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
40
|
+
isBounceDialogOpen = _useState2[0],
|
|
41
|
+
setIsBounceDialogOpen = _useState2[1];
|
|
37
42
|
var isMessageTypeDeleted = props.message.type === 'deleted';
|
|
38
43
|
var sendReaction = props.sendReaction,
|
|
39
44
|
channel = props.channel,
|
|
@@ -68,6 +73,7 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
68
73
|
messageActionsProp = _props$messageActions === void 0 ? _messageActions.messageActions : _props$messageActions,
|
|
69
74
|
messageContentOrderProp = props.messageContentOrder,
|
|
70
75
|
messagesContext = props.messagesContext,
|
|
76
|
+
MessageBounce = props.MessageBounce,
|
|
71
77
|
MessageSimple = props.MessageSimple,
|
|
72
78
|
onLongPressProp = props.onLongPress,
|
|
73
79
|
onLongPressMessageProp = props.onLongPressMessage,
|
|
@@ -155,6 +161,10 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
155
161
|
if ((0, _utils.isBlockedMessage)(message)) {
|
|
156
162
|
return;
|
|
157
163
|
}
|
|
164
|
+
if ((0, _utils.isBouncedMessage)(message)) {
|
|
165
|
+
setIsBounceDialogOpen(true);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
158
168
|
showMessageOverlay(false, true);
|
|
159
169
|
} else if (quotedMessage) {
|
|
160
170
|
onPressQuotedMessage(quotedMessage);
|
|
@@ -422,6 +432,10 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
422
432
|
event: payload == null ? void 0 : payload.event
|
|
423
433
|
});
|
|
424
434
|
} : enableLongPress ? function () {
|
|
435
|
+
if ((0, _utils.isBouncedMessage)(message)) {
|
|
436
|
+
setIsBounceDialogOpen(true);
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
425
439
|
(0, _native.triggerHaptic)('impactMedium');
|
|
426
440
|
showMessageOverlay(false);
|
|
427
441
|
} : function () {
|
|
@@ -503,7 +517,7 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
503
517
|
__self: _this,
|
|
504
518
|
__source: {
|
|
505
519
|
fileName: _jsxFileName,
|
|
506
|
-
lineNumber:
|
|
520
|
+
lineNumber: 730,
|
|
507
521
|
columnNumber: 5
|
|
508
522
|
}
|
|
509
523
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -513,7 +527,7 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
513
527
|
__self: _this,
|
|
514
528
|
__source: {
|
|
515
529
|
fileName: _jsxFileName,
|
|
516
|
-
lineNumber:
|
|
530
|
+
lineNumber: 739,
|
|
517
531
|
columnNumber: 7
|
|
518
532
|
}
|
|
519
533
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -523,7 +537,7 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
523
537
|
__self: _this,
|
|
524
538
|
__source: {
|
|
525
539
|
fileName: _jsxFileName,
|
|
526
|
-
lineNumber:
|
|
540
|
+
lineNumber: 747,
|
|
527
541
|
columnNumber: 9
|
|
528
542
|
}
|
|
529
543
|
}, _react["default"].createElement(_MessageContext.MessageProvider, {
|
|
@@ -531,16 +545,24 @@ var MessageWithContext = function MessageWithContext(props) {
|
|
|
531
545
|
__self: _this,
|
|
532
546
|
__source: {
|
|
533
547
|
fileName: _jsxFileName,
|
|
534
|
-
lineNumber:
|
|
548
|
+
lineNumber: 754,
|
|
535
549
|
columnNumber: 11
|
|
536
550
|
}
|
|
537
551
|
}, _react["default"].createElement(MessageSimple, {
|
|
538
552
|
__self: _this,
|
|
539
553
|
__source: {
|
|
540
554
|
fileName: _jsxFileName,
|
|
541
|
-
lineNumber:
|
|
555
|
+
lineNumber: 755,
|
|
542
556
|
columnNumber: 13
|
|
543
557
|
}
|
|
558
|
+
}), isBounceDialogOpen && _react["default"].createElement(MessageBounce, {
|
|
559
|
+
setIsBounceDialogOpen: setIsBounceDialogOpen,
|
|
560
|
+
__self: _this,
|
|
561
|
+
__source: {
|
|
562
|
+
fileName: _jsxFileName,
|
|
563
|
+
lineNumber: 756,
|
|
564
|
+
columnNumber: 36
|
|
565
|
+
}
|
|
544
566
|
})))));
|
|
545
567
|
};
|
|
546
568
|
var areEqual = function areEqual(prevProps, nextProps) {
|
|
@@ -649,7 +671,7 @@ var Message = function Message(props) {
|
|
|
649
671
|
__self: _this,
|
|
650
672
|
__source: {
|
|
651
673
|
fileName: _jsxFileName,
|
|
652
|
-
lineNumber:
|
|
674
|
+
lineNumber: 922,
|
|
653
675
|
columnNumber: 5
|
|
654
676
|
}
|
|
655
677
|
}));
|