stream-chat-react-native-core 6.7.3-beta.2 → 6.7.3-beta.3
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 +273 -281
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +133 -147
- package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +7 -12
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +167 -179
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +60 -37
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +450 -459
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/hooks/index.js +11 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useStableCallback.js +13 -0
- package/lib/commonjs/hooks/useStableCallback.js.map +1 -0
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +273 -281
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useMessageListPagination.js +133 -147
- package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +7 -12
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +167 -179
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +60 -37
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +450 -459
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/hooks/index.js +11 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useStableCallback.js +13 -0
- package/lib/module/hooks/useStableCallback.js.map +1 -0
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts +3 -3
- package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts +3 -0
- package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +4 -0
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
- package/lib/typescript/hooks/index.d.ts +1 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useStableCallback.d.ts +26 -0
- package/lib/typescript/hooks/useStableCallback.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +424 -408
- package/src/components/Channel/hooks/useMessageListPagination.tsx +152 -147
- package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +6 -4
- package/src/components/MessageList/MessageList.tsx +147 -112
- package/src/components/MessageList/hooks/useMessageList.ts +69 -38
- package/src/contexts/messageInputContext/MessageInputContext.tsx +293 -267
- package/src/contexts/messageInputContext/__tests__/pickFile.test.tsx +2 -1
- package/src/contexts/messagesContext/MessagesContext.tsx +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useStableCallback.ts +37 -0
- package/src/version.json +1 -1
|
@@ -26,6 +26,7 @@ var _OverlayContext = require("../../contexts/overlayContext/OverlayContext");
|
|
|
26
26
|
var _PaginatedMessageListContext = require("../../contexts/paginatedMessageListContext/PaginatedMessageListContext");
|
|
27
27
|
var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
|
|
28
28
|
var _ThreadContext = require("../../contexts/threadContext/ThreadContext");
|
|
29
|
+
var _hooks = require("../../hooks");
|
|
29
30
|
var _types = require("../../types/types");
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
32
|
var _excluded = ["contentContainerStyle", "ItemSeparatorComponent", "style"];
|
|
@@ -95,7 +96,7 @@ var getPreviousLastMessage = function getPreviousLastMessage(messages, newMessag
|
|
|
95
96
|
return previousLastMessage;
|
|
96
97
|
};
|
|
97
98
|
var MessageListWithContext = function MessageListWithContext(props) {
|
|
98
|
-
var
|
|
99
|
+
var _client$user3;
|
|
99
100
|
var LoadingMoreRecentIndicator = props.threadList ? _InlineLoadingMoreRecentThreadIndicator.InlineLoadingMoreRecentThreadIndicator : _InlineLoadingMoreRecentIndicator.InlineLoadingMoreRecentIndicator;
|
|
100
101
|
var additionalFlatListProps = props.additionalFlatListProps,
|
|
101
102
|
channel = props.channel,
|
|
@@ -192,6 +193,12 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
192
193
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
193
194
|
autoscrollToRecent = _useState4[0],
|
|
194
195
|
setAutoscrollToRecent = _useState4[1];
|
|
196
|
+
var maintainVisibleContentPosition = (0, _react.useMemo)(function () {
|
|
197
|
+
return {
|
|
198
|
+
autoscrollToTopThreshold: autoscrollToRecent ? 10 : undefined,
|
|
199
|
+
minIndexForVisible: 1
|
|
200
|
+
};
|
|
201
|
+
}, [autoscrollToRecent]);
|
|
195
202
|
var onStartReachedTracker = (0, _react.useRef)({});
|
|
196
203
|
var onEndReachedTracker = (0, _react.useRef)({});
|
|
197
204
|
var onStartReachedInPromise = (0, _react.useRef)(null);
|
|
@@ -205,22 +212,22 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
205
212
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
206
213
|
hasMoved = _useState6[0],
|
|
207
214
|
setHasMoved = _useState6[1];
|
|
208
|
-
var
|
|
215
|
+
var lastReceivedId = (0, _react.useMemo)(function () {
|
|
216
|
+
var _getLastReceivedMessa;
|
|
217
|
+
return (_getLastReceivedMessa = (0, _getLastReceivedMessage.getLastReceivedMessage)(processedMessageList)) == null ? void 0 : _getLastReceivedMessa.id;
|
|
218
|
+
}, [processedMessageList]);
|
|
219
|
+
var _useState7 = (0, _react.useState)(false),
|
|
209
220
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
var _useState9 = (0, _react.useState)(
|
|
221
|
+
scrollToBottomButtonVisible = _useState8[0],
|
|
222
|
+
setScrollToBottomButtonVisible = _useState8[1];
|
|
223
|
+
var _useState9 = (0, _react.useState)(),
|
|
213
224
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
var _useState11 = (0, _react.useState)(),
|
|
217
|
-
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
218
|
-
stickyHeaderDate = _useState12[0],
|
|
219
|
-
setStickyHeaderDate = _useState12[1];
|
|
225
|
+
stickyHeaderDate = _useState10[0],
|
|
226
|
+
setStickyHeaderDate = _useState10[1];
|
|
220
227
|
var stickyHeaderDateRef = (0, _react.useRef)(undefined);
|
|
221
228
|
var channelRef = (0, _react.useRef)(channel);
|
|
222
229
|
channelRef.current = channel;
|
|
223
|
-
var updateStickyHeaderDateIfNeeded = function
|
|
230
|
+
var updateStickyHeaderDateIfNeeded = (0, _hooks.useStableCallback)(function (viewableItems) {
|
|
224
231
|
if (!viewableItems.length) {
|
|
225
232
|
return;
|
|
226
233
|
}
|
|
@@ -237,8 +244,8 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
237
244
|
setStickyHeaderDate(lastItem.item.created_at);
|
|
238
245
|
}
|
|
239
246
|
}
|
|
240
|
-
};
|
|
241
|
-
var updateStickyUnreadIndicator = function
|
|
247
|
+
});
|
|
248
|
+
var updateStickyUnreadIndicator = (0, _hooks.useStableCallback)(function (viewableItems) {
|
|
242
249
|
if (!viewableItems.length) {
|
|
243
250
|
setIsUnreadNotificationOpen(false);
|
|
244
251
|
return;
|
|
@@ -267,7 +274,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
267
274
|
setIsUnreadNotificationOpen(false);
|
|
268
275
|
}
|
|
269
276
|
}
|
|
270
|
-
};
|
|
277
|
+
});
|
|
271
278
|
var unstableOnViewableItemsChanged = function unstableOnViewableItemsChanged(_ref) {
|
|
272
279
|
var viewableItems = _ref.viewableItems;
|
|
273
280
|
if (!viewableItems) {
|
|
@@ -346,8 +353,6 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
346
353
|
};
|
|
347
354
|
}, [channel, channelUnreadState == null ? void 0 : channelUnreadState.first_unread_message_id, (_client$user3 = client.user) == null ? void 0 : _client$user3.id, markRead, scrollToBottomButtonVisible, setChannelUnreadState, threadList]);
|
|
348
355
|
(0, _react.useEffect)(function () {
|
|
349
|
-
var lastReceivedMessage = (0, _getLastReceivedMessage.getLastReceivedMessage)(processedMessageList);
|
|
350
|
-
setLastReceivedId(lastReceivedMessage == null ? void 0 : lastReceivedMessage.id);
|
|
351
356
|
var scrollToBottomIfNeeded = function scrollToBottomIfNeeded() {
|
|
352
357
|
var _topMessageBeforeUpda;
|
|
353
358
|
if (!client || !channel || rawMessageList.length === 0) {
|
|
@@ -415,7 +420,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
415
420
|
}
|
|
416
421
|
}
|
|
417
422
|
}, [channel, rawMessageList, threadList]);
|
|
418
|
-
var goToMessage = function () {
|
|
423
|
+
var goToMessage = (0, _hooks.useStableCallback)(function () {
|
|
419
424
|
var _ref4 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(messageId) {
|
|
420
425
|
var indexOfParentInMessageList;
|
|
421
426
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
@@ -465,10 +470,10 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
465
470
|
}
|
|
466
471
|
}, _callee2, null, [[1, 18]]);
|
|
467
472
|
}));
|
|
468
|
-
return function
|
|
473
|
+
return function (_x2) {
|
|
469
474
|
return _ref4.apply(this, arguments);
|
|
470
475
|
};
|
|
471
|
-
}();
|
|
476
|
+
}());
|
|
472
477
|
(0, _react.useEffect)(function () {
|
|
473
478
|
if (!targetedMessage) {
|
|
474
479
|
return;
|
|
@@ -517,7 +522,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
517
522
|
})), WAIT_FOR_SCROLL_TIMEOUT);
|
|
518
523
|
}, [targetedMessage]);
|
|
519
524
|
var shouldApplyAndroidWorkaround = inverted && _reactNative.Platform.OS === 'android';
|
|
520
|
-
var renderItem = function
|
|
525
|
+
var renderItem = (0, _react.useCallback)(function (_ref6) {
|
|
521
526
|
var _message$user;
|
|
522
527
|
var index = _ref6.index,
|
|
523
528
|
message = _ref6.item;
|
|
@@ -564,92 +569,82 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
564
569
|
children: [renderDateSeperator, renderMessage]
|
|
565
570
|
}), showUnreadUnderlay && (0, _jsxRuntime.jsx)(InlineUnreadIndicator, {})]
|
|
566
571
|
});
|
|
567
|
-
};
|
|
568
|
-
var maybeCallOnStartReached = function () {
|
|
569
|
-
var
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
if (!onEndReachedInPromise.current) {
|
|
593
|
-
_context4.next = 8;
|
|
594
|
-
break;
|
|
595
|
-
}
|
|
572
|
+
}, [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, goToMessage, highlightedMessageId, lastReceivedId, messageContainer, modifiedTheme, myMessageTheme, onThreadSelect, screenPadding, shouldApplyAndroidWorkaround, shouldShowUnreadUnderlay, threadList]);
|
|
573
|
+
var maybeCallOnStartReached = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
574
|
+
var callback, onError;
|
|
575
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
576
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
577
|
+
case 0:
|
|
578
|
+
if (!(processedMessageList != null && processedMessageList.length && onStartReachedTracker.current[processedMessageList.length])) {
|
|
579
|
+
_context4.next = 2;
|
|
580
|
+
break;
|
|
581
|
+
}
|
|
582
|
+
return _context4.abrupt("return");
|
|
583
|
+
case 2:
|
|
584
|
+
if (processedMessageList != null && processedMessageList.length) {
|
|
585
|
+
onStartReachedTracker.current[processedMessageList.length] = true;
|
|
586
|
+
}
|
|
587
|
+
callback = function callback() {
|
|
588
|
+
onStartReachedInPromise.current = null;
|
|
589
|
+
return Promise.resolve();
|
|
590
|
+
};
|
|
591
|
+
onError = function onError() {
|
|
592
|
+
setTimeout(function () {
|
|
593
|
+
onStartReachedTracker.current = {};
|
|
594
|
+
}, 2000);
|
|
595
|
+
};
|
|
596
|
+
if (!onEndReachedInPromise.current) {
|
|
596
597
|
_context4.next = 8;
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
};
|
|
634
|
-
if (!onStartReachedInPromise.current) {
|
|
635
|
-
_context5.next = 8;
|
|
636
|
-
break;
|
|
637
|
-
}
|
|
598
|
+
break;
|
|
599
|
+
}
|
|
600
|
+
_context4.next = 8;
|
|
601
|
+
return onEndReachedInPromise.current;
|
|
602
|
+
case 8:
|
|
603
|
+
onStartReachedInPromise.current = (threadList && !!threadInstance && loadMoreRecentThread ? loadMoreRecentThread({}) : loadMoreRecent()).then(callback)["catch"](onError);
|
|
604
|
+
case 9:
|
|
605
|
+
case "end":
|
|
606
|
+
return _context4.stop();
|
|
607
|
+
}
|
|
608
|
+
}, _callee4);
|
|
609
|
+
})));
|
|
610
|
+
var maybeCallOnEndReached = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
|
|
611
|
+
var callback, onError;
|
|
612
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
613
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
614
|
+
case 0:
|
|
615
|
+
if (!(processedMessageList != null && processedMessageList.length && onEndReachedTracker.current[processedMessageList.length])) {
|
|
616
|
+
_context5.next = 2;
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
619
|
+
return _context5.abrupt("return");
|
|
620
|
+
case 2:
|
|
621
|
+
if (processedMessageList != null && processedMessageList.length) {
|
|
622
|
+
onEndReachedTracker.current[processedMessageList.length] = true;
|
|
623
|
+
}
|
|
624
|
+
callback = function callback() {
|
|
625
|
+
onEndReachedInPromise.current = null;
|
|
626
|
+
return Promise.resolve();
|
|
627
|
+
};
|
|
628
|
+
onError = function onError() {
|
|
629
|
+
setTimeout(function () {
|
|
630
|
+
onEndReachedTracker.current = {};
|
|
631
|
+
}, 2000);
|
|
632
|
+
};
|
|
633
|
+
if (!onStartReachedInPromise.current) {
|
|
638
634
|
_context5.next = 8;
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
var onUserScrollEvent = function onUserScrollEvent(event) {
|
|
635
|
+
break;
|
|
636
|
+
}
|
|
637
|
+
_context5.next = 8;
|
|
638
|
+
return onStartReachedInPromise.current;
|
|
639
|
+
case 8:
|
|
640
|
+
onEndReachedInPromise.current = (threadList ? loadMoreThread() : loadMore()).then(callback)["catch"](onError);
|
|
641
|
+
case 9:
|
|
642
|
+
case "end":
|
|
643
|
+
return _context5.stop();
|
|
644
|
+
}
|
|
645
|
+
}, _callee5);
|
|
646
|
+
})));
|
|
647
|
+
var onUserScrollEvent = (0, _hooks.useStableCallback)(function (event) {
|
|
653
648
|
var nativeEvent = event.nativeEvent;
|
|
654
649
|
clearTimeout(onScrollEventTimeoutRef.current);
|
|
655
650
|
var offset = nativeEvent.contentOffset.y;
|
|
@@ -666,8 +661,8 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
666
661
|
if (isScrollAtEnd) {
|
|
667
662
|
maybeCallOnEndReached();
|
|
668
663
|
}
|
|
669
|
-
};
|
|
670
|
-
var handleScroll = function
|
|
664
|
+
});
|
|
665
|
+
var handleScroll = (0, _hooks.useStableCallback)(function (event) {
|
|
671
666
|
var messageListHasMessages = processedMessageList.length > 0;
|
|
672
667
|
var offset = event.nativeEvent.contentOffset.y;
|
|
673
668
|
var isScrollAtBottom = offset <= 150;
|
|
@@ -677,47 +672,42 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
677
672
|
if (onListScroll) {
|
|
678
673
|
onListScroll(event);
|
|
679
674
|
}
|
|
680
|
-
};
|
|
681
|
-
var goToNewMessages = function () {
|
|
682
|
-
var
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
_context6.next = 7;
|
|
690
|
-
break;
|
|
691
|
-
}
|
|
692
|
-
resetPaginationTrackersRef.current();
|
|
693
|
-
_context6.next = 5;
|
|
694
|
-
return reloadChannel();
|
|
695
|
-
case 5:
|
|
696
|
-
_context6.next = 8;
|
|
675
|
+
});
|
|
676
|
+
var goToNewMessages = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
|
|
677
|
+
var isNotLatestSet;
|
|
678
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
679
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
680
|
+
case 0:
|
|
681
|
+
isNotLatestSet = channel.state.messages !== channel.state.latestMessages;
|
|
682
|
+
if (!isNotLatestSet) {
|
|
683
|
+
_context6.next = 7;
|
|
697
684
|
break;
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
685
|
+
}
|
|
686
|
+
resetPaginationTrackersRef.current();
|
|
687
|
+
_context6.next = 5;
|
|
688
|
+
return reloadChannel();
|
|
689
|
+
case 5:
|
|
690
|
+
_context6.next = 8;
|
|
691
|
+
break;
|
|
692
|
+
case 7:
|
|
693
|
+
if (flatListRef.current) {
|
|
694
|
+
flatListRef.current.scrollToOffset({
|
|
695
|
+
animated: true,
|
|
696
|
+
offset: 0
|
|
710
697
|
});
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
698
|
+
}
|
|
699
|
+
case 8:
|
|
700
|
+
setScrollToBottomButtonVisible(false);
|
|
701
|
+
_context6.next = 11;
|
|
702
|
+
return markRead({
|
|
703
|
+
updateChannelUnreadState: false
|
|
704
|
+
});
|
|
705
|
+
case 11:
|
|
706
|
+
case "end":
|
|
707
|
+
return _context6.stop();
|
|
708
|
+
}
|
|
709
|
+
}, _callee6);
|
|
710
|
+
})));
|
|
721
711
|
var scrollToIndexFailedRetryCountRef = (0, _react.useRef)(0);
|
|
722
712
|
var failScrollTimeoutId = (0, _react.useRef)(undefined);
|
|
723
713
|
var onScrollToIndexFailedRef = (0, _react.useRef)(function (info) {
|
|
@@ -768,45 +758,40 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
768
758
|
setMessages(messagesWithImages);
|
|
769
759
|
}
|
|
770
760
|
}, [imageString, isListActive, legacyImageViewerSwipeBehaviour, numberOfMessagesWithImages, threadExists, threadList]);
|
|
771
|
-
var dismissImagePicker = function
|
|
761
|
+
var dismissImagePicker = (0, _hooks.useStableCallback)(function () {
|
|
772
762
|
if (selectedPicker) {
|
|
773
763
|
setSelectedPicker(undefined);
|
|
774
764
|
closePicker();
|
|
775
765
|
}
|
|
776
|
-
};
|
|
777
|
-
var onScrollBeginDrag = function
|
|
766
|
+
});
|
|
767
|
+
var onScrollBeginDrag = (0, _hooks.useStableCallback)(function (event) {
|
|
778
768
|
!hasMoved && selectedPicker && setHasMoved(true);
|
|
779
769
|
onUserScrollEvent(event);
|
|
780
|
-
};
|
|
781
|
-
var onScrollEndDrag = function
|
|
770
|
+
});
|
|
771
|
+
var onScrollEndDrag = (0, _hooks.useStableCallback)(function (event) {
|
|
782
772
|
hasMoved && selectedPicker && setHasMoved(false);
|
|
783
773
|
onUserScrollEvent(event);
|
|
784
|
-
};
|
|
785
|
-
var refCallback = function
|
|
774
|
+
});
|
|
775
|
+
var refCallback = (0, _hooks.useStableCallback)(function (ref) {
|
|
786
776
|
flatListRef.current = ref;
|
|
787
777
|
if (setFlatListRef) {
|
|
788
778
|
setFlatListRef(ref);
|
|
789
779
|
}
|
|
790
|
-
};
|
|
791
|
-
var onUnreadNotificationClose = function () {
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
}));
|
|
806
|
-
return function onUnreadNotificationClose() {
|
|
807
|
-
return _ref10.apply(this, arguments);
|
|
808
|
-
};
|
|
809
|
-
}();
|
|
780
|
+
});
|
|
781
|
+
var onUnreadNotificationClose = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
|
|
782
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
783
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
784
|
+
case 0:
|
|
785
|
+
_context7.next = 2;
|
|
786
|
+
return markRead();
|
|
787
|
+
case 2:
|
|
788
|
+
setIsUnreadNotificationOpen(false);
|
|
789
|
+
case 3:
|
|
790
|
+
case "end":
|
|
791
|
+
return _context7.stop();
|
|
792
|
+
}
|
|
793
|
+
}, _callee7);
|
|
794
|
+
})));
|
|
810
795
|
var debugRef = (0, _DebugContext.useDebugContext)();
|
|
811
796
|
var isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;
|
|
812
797
|
if (isDebugModeEnabled) {
|
|
@@ -847,6 +832,12 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
847
832
|
rest = (0, _objectWithoutProperties2["default"])(additionalFlatListProps, _excluded);
|
|
848
833
|
additionalFlatListPropsExcludingStyle = rest;
|
|
849
834
|
}
|
|
835
|
+
var flatListStyle = (0, _react.useMemo)(function () {
|
|
836
|
+
return [styles.listContainer, listContainer, additionalFlatListProps == null ? void 0 : additionalFlatListProps.style, shouldApplyAndroidWorkaround ? styles.invertAndroid : undefined];
|
|
837
|
+
}, [additionalFlatListProps == null ? void 0 : additionalFlatListProps.style, listContainer, shouldApplyAndroidWorkaround]);
|
|
838
|
+
var flatListContentContainerStyle = (0, _react.useMemo)(function () {
|
|
839
|
+
return [styles.contentContainer, additionalFlatListProps == null ? void 0 : additionalFlatListProps.contentContainerStyle, contentContainer];
|
|
840
|
+
}, [additionalFlatListProps == null ? void 0 : additionalFlatListProps.contentContainerStyle, contentContainer]);
|
|
850
841
|
if (!FlatList) {
|
|
851
842
|
return null;
|
|
852
843
|
}
|
|
@@ -874,7 +865,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
874
865
|
listType: "message"
|
|
875
866
|
}) : null
|
|
876
867
|
}) : (0, _jsxRuntime.jsx)(FlatList, Object.assign({
|
|
877
|
-
contentContainerStyle:
|
|
868
|
+
contentContainerStyle: flatListContentContainerStyle,
|
|
878
869
|
data: processedMessageList,
|
|
879
870
|
extraData: disabled,
|
|
880
871
|
inverted: shouldApplyAndroidWorkaround ? false : inverted,
|
|
@@ -883,10 +874,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
883
874
|
keyExtractor: keyExtractor,
|
|
884
875
|
ListFooterComponent: ListFooterComponent,
|
|
885
876
|
ListHeaderComponent: ListHeaderComponent,
|
|
886
|
-
maintainVisibleContentPosition:
|
|
887
|
-
autoscrollToTopThreshold: autoscrollToRecent ? 10 : undefined,
|
|
888
|
-
minIndexForVisible: 1
|
|
889
|
-
},
|
|
877
|
+
maintainVisibleContentPosition: maintainVisibleContentPosition,
|
|
890
878
|
maxToRenderPerBatch: 30,
|
|
891
879
|
onMomentumScrollEnd: onUserScrollEvent,
|
|
892
880
|
onScroll: handleScroll,
|
|
@@ -899,7 +887,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
899
887
|
renderItem: renderItem,
|
|
900
888
|
scrollEnabled: overlay === 'none',
|
|
901
889
|
showsVerticalScrollIndicator: !shouldApplyAndroidWorkaround,
|
|
902
|
-
style:
|
|
890
|
+
style: flatListStyle,
|
|
903
891
|
testID: "message-flat-list",
|
|
904
892
|
viewabilityConfig: flatListViewabilityConfig
|
|
905
893
|
}, additionalFlatListPropsExcludingStyle)), (0, _jsxRuntime.jsx)(_reactNative.View, {
|