stream-chat-react-native-core 5.11.3-beta.4 → 5.11.3-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/MessageList/MessageList.js +57 -51
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/MessageList/MessageList.js +57 -51
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/package.json +1 -1
- package/src/components/MessageList/MessageList.tsx +28 -27
- package/src/version.json +1 -1
|
@@ -73,7 +73,7 @@ var InvertedCellRendererComponent = function InvertedCellRendererComponent(props
|
|
|
73
73
|
__self: _this,
|
|
74
74
|
__source: {
|
|
75
75
|
fileName: _jsxFileName,
|
|
76
|
-
lineNumber:
|
|
76
|
+
lineNumber: 95,
|
|
77
77
|
columnNumber: 3
|
|
78
78
|
}
|
|
79
79
|
}));
|
|
@@ -195,13 +195,8 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
195
195
|
stickyHeaderDate = _useState10[0],
|
|
196
196
|
setStickyHeaderDate = _useState10[1];
|
|
197
197
|
var stickyHeaderDateRef = (0, _react.useRef)();
|
|
198
|
-
var
|
|
199
|
-
|
|
200
|
-
});
|
|
201
|
-
var channelLastReadRef = (0, _react.useRef)(channel != null && channel.initialized ? channel.lastRead() : undefined);
|
|
202
|
-
(0, _react.useEffect)(function () {
|
|
203
|
-
channelLastReadRef.current = channel != null && channel.initialized ? channel.lastRead() : undefined;
|
|
204
|
-
}, [channel]);
|
|
198
|
+
var channelRef = (0, _react.useRef)(channel);
|
|
199
|
+
channelRef.current = channel;
|
|
205
200
|
var updateStickyHeaderDateIfNeeded = function updateStickyHeaderDateIfNeeded(viewableItems) {
|
|
206
201
|
if (viewableItems.length) {
|
|
207
202
|
var _lastItem$item, _stickyHeaderDateRef$;
|
|
@@ -285,16 +280,28 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
285
280
|
message = _ref2.item;
|
|
286
281
|
if (!channel || !channel.initialized && !channel.offlineMode) return null;
|
|
287
282
|
var lastRead = channel.lastRead();
|
|
288
|
-
var
|
|
289
|
-
|
|
290
|
-
|
|
283
|
+
var countUnread = channel.countUnread();
|
|
284
|
+
function isMessageUnread(messageArrayIndex) {
|
|
285
|
+
if (lastRead && message.created_at) {
|
|
286
|
+
return lastRead < message.created_at;
|
|
287
|
+
} else {
|
|
288
|
+
var isLatestMessageSetShown = !!channel.state.messageSets.find(function (set) {
|
|
289
|
+
return set.isCurrent && set.isLatest;
|
|
290
|
+
});
|
|
291
|
+
return isLatestMessageSetShown && messageArrayIndex <= countUnread - 1;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
var isCurrentMessageUnread = isMessageUnread(index);
|
|
295
|
+
var isLastMessageUnread = isMessageUnread(index + 1);
|
|
296
|
+
var showUnreadUnderlay = isCurrentMessageUnread && scrollToBottomButtonVisible;
|
|
297
|
+
var insertInlineUnreadIndicator = showUnreadUnderlay && !isLastMessageUnread;
|
|
291
298
|
if (message.type === 'system') {
|
|
292
299
|
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
293
300
|
testID: "message-list-item-" + index,
|
|
294
301
|
__self: _this,
|
|
295
302
|
__source: {
|
|
296
303
|
fileName: _jsxFileName,
|
|
297
|
-
lineNumber:
|
|
304
|
+
lineNumber: 553,
|
|
298
305
|
columnNumber: 11
|
|
299
306
|
}
|
|
300
307
|
}, _react["default"].createElement(MessageSystem, {
|
|
@@ -303,14 +310,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
303
310
|
__self: _this,
|
|
304
311
|
__source: {
|
|
305
312
|
fileName: _jsxFileName,
|
|
306
|
-
lineNumber:
|
|
313
|
+
lineNumber: 554,
|
|
307
314
|
columnNumber: 13
|
|
308
315
|
}
|
|
309
316
|
})), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
310
317
|
__self: _this,
|
|
311
318
|
__source: {
|
|
312
319
|
fileName: _jsxFileName,
|
|
313
|
-
lineNumber:
|
|
320
|
+
lineNumber: 556,
|
|
314
321
|
columnNumber: 43
|
|
315
322
|
}
|
|
316
323
|
}));
|
|
@@ -321,7 +328,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
321
328
|
__self: _this,
|
|
322
329
|
__source: {
|
|
323
330
|
fileName: _jsxFileName,
|
|
324
|
-
lineNumber:
|
|
331
|
+
lineNumber: 566,
|
|
325
332
|
columnNumber: 36
|
|
326
333
|
}
|
|
327
334
|
}), _react["default"].createElement(_ThemeContext.ThemeProvider, {
|
|
@@ -329,7 +336,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
329
336
|
__self: _this,
|
|
330
337
|
__source: {
|
|
331
338
|
fileName: _jsxFileName,
|
|
332
|
-
lineNumber:
|
|
339
|
+
lineNumber: 567,
|
|
333
340
|
columnNumber: 9
|
|
334
341
|
}
|
|
335
342
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -337,7 +344,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
337
344
|
__self: _this,
|
|
338
345
|
__source: {
|
|
339
346
|
fileName: _jsxFileName,
|
|
340
|
-
lineNumber:
|
|
347
|
+
lineNumber: 568,
|
|
341
348
|
columnNumber: 11
|
|
342
349
|
}
|
|
343
350
|
}, _react["default"].createElement(Message, {
|
|
@@ -353,7 +360,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
353
360
|
__self: _this,
|
|
354
361
|
__source: {
|
|
355
362
|
fileName: _jsxFileName,
|
|
356
|
-
lineNumber:
|
|
363
|
+
lineNumber: 569,
|
|
357
364
|
columnNumber: 13
|
|
358
365
|
}
|
|
359
366
|
}))), !shouldApplyAndroidWorkaround && (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
|
|
@@ -361,14 +368,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
361
368
|
__self: _this,
|
|
362
369
|
__source: {
|
|
363
370
|
fileName: _jsxFileName,
|
|
364
|
-
lineNumber:
|
|
371
|
+
lineNumber: 586,
|
|
365
372
|
columnNumber: 36
|
|
366
373
|
}
|
|
367
374
|
}), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
368
375
|
__self: _this,
|
|
369
376
|
__source: {
|
|
370
377
|
fileName: _jsxFileName,
|
|
371
|
-
lineNumber:
|
|
378
|
+
lineNumber: 588,
|
|
372
379
|
columnNumber: 41
|
|
373
380
|
}
|
|
374
381
|
})) : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
@@ -376,7 +383,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
376
383
|
__self: _this,
|
|
377
384
|
__source: {
|
|
378
385
|
fileName: _jsxFileName,
|
|
379
|
-
lineNumber:
|
|
386
|
+
lineNumber: 592,
|
|
380
387
|
columnNumber: 9
|
|
381
388
|
}
|
|
382
389
|
}, shouldApplyAndroidWorkaround && (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
|
|
@@ -384,7 +391,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
384
391
|
__self: _this,
|
|
385
392
|
__source: {
|
|
386
393
|
fileName: _jsxFileName,
|
|
387
|
-
lineNumber:
|
|
394
|
+
lineNumber: 595,
|
|
388
395
|
columnNumber: 38
|
|
389
396
|
}
|
|
390
397
|
}), _react["default"].createElement(Message, {
|
|
@@ -400,7 +407,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
400
407
|
__self: _this,
|
|
401
408
|
__source: {
|
|
402
409
|
fileName: _jsxFileName,
|
|
403
|
-
lineNumber:
|
|
410
|
+
lineNumber: 596,
|
|
404
411
|
columnNumber: 11
|
|
405
412
|
}
|
|
406
413
|
})), !shouldApplyAndroidWorkaround && (0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message) && message.dateSeparator && _react["default"].createElement(InlineDateSeparator, {
|
|
@@ -408,14 +415,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
408
415
|
__self: _this,
|
|
409
416
|
__source: {
|
|
410
417
|
fileName: _jsxFileName,
|
|
411
|
-
lineNumber:
|
|
418
|
+
lineNumber: 616,
|
|
412
419
|
columnNumber: 36
|
|
413
420
|
}
|
|
414
421
|
}), insertInlineUnreadIndicator && _react["default"].createElement(InlineUnreadIndicator, {
|
|
415
422
|
__self: _this,
|
|
416
423
|
__source: {
|
|
417
424
|
fileName: _jsxFileName,
|
|
418
|
-
lineNumber:
|
|
425
|
+
lineNumber: 618,
|
|
419
426
|
columnNumber: 41
|
|
420
427
|
}
|
|
421
428
|
}));
|
|
@@ -616,13 +623,12 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
616
623
|
(0, _react.useEffect)(function () {
|
|
617
624
|
if (scrollToDebounceTimeoutRef.current) clearTimeout(scrollToDebounceTimeoutRef.current);
|
|
618
625
|
scrollToDebounceTimeoutRef.current = setTimeout(function () {
|
|
626
|
+
var _channelRef$current;
|
|
619
627
|
var messageIdToScroll = messageIdToScrollToRef.current;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
break;
|
|
625
|
-
}
|
|
628
|
+
var countUnread = (_channelRef$current = channelRef.current) == null ? void 0 : _channelRef$current.countUnread();
|
|
629
|
+
if (!initialScrollSet.current && initialScrollToFirstUnreadMessage && countUnread > scrollToFirstUnreadThreshold) {
|
|
630
|
+
if (messageList.length >= countUnread) {
|
|
631
|
+
messageIdToScroll = messageList[countUnread - 1].id;
|
|
626
632
|
}
|
|
627
633
|
} else if (targetedMessage && messageIdLastScrolledToRef.current !== targetedMessage) {
|
|
628
634
|
messageIdToScroll = targetedMessage;
|
|
@@ -646,7 +652,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
646
652
|
}
|
|
647
653
|
}
|
|
648
654
|
}, 150);
|
|
649
|
-
}, [messageList, targetedMessage, initialScrollToFirstUnreadMessage]);
|
|
655
|
+
}, [channel.initialized, messageList, targetedMessage, initialScrollToFirstUnreadMessage]);
|
|
650
656
|
var messagesWithImages = legacyImageViewerSwipeBehaviour && messageList.filter(function (message) {
|
|
651
657
|
var isMessageTypeDeleted = message.type === 'deleted';
|
|
652
658
|
if (!isMessageTypeDeleted && message.attachments) {
|
|
@@ -710,7 +716,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
710
716
|
__self: _this,
|
|
711
717
|
__source: {
|
|
712
718
|
fileName: _jsxFileName,
|
|
713
|
-
lineNumber:
|
|
719
|
+
lineNumber: 970,
|
|
714
720
|
columnNumber: 7
|
|
715
721
|
}
|
|
716
722
|
}, _react["default"].createElement(EmptyStateIndicator, {
|
|
@@ -718,7 +724,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
718
724
|
__self: _this,
|
|
719
725
|
__source: {
|
|
720
726
|
fileName: _jsxFileName,
|
|
721
|
-
lineNumber:
|
|
727
|
+
lineNumber: 974,
|
|
722
728
|
columnNumber: 9
|
|
723
729
|
}
|
|
724
730
|
}));
|
|
@@ -729,14 +735,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
729
735
|
__self: _this,
|
|
730
736
|
__source: {
|
|
731
737
|
fileName: _jsxFileName,
|
|
732
|
-
lineNumber:
|
|
738
|
+
lineNumber: 982,
|
|
733
739
|
columnNumber: 7
|
|
734
740
|
}
|
|
735
741
|
}, _react["default"].createElement(FooterComponent, {
|
|
736
742
|
__self: _this,
|
|
737
743
|
__source: {
|
|
738
744
|
fileName: _jsxFileName,
|
|
739
|
-
lineNumber:
|
|
745
|
+
lineNumber: 983,
|
|
740
746
|
columnNumber: 9
|
|
741
747
|
}
|
|
742
748
|
}));
|
|
@@ -747,14 +753,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
747
753
|
__self: _this,
|
|
748
754
|
__source: {
|
|
749
755
|
fileName: _jsxFileName,
|
|
750
|
-
lineNumber:
|
|
756
|
+
lineNumber: 991,
|
|
751
757
|
columnNumber: 7
|
|
752
758
|
}
|
|
753
759
|
}, _react["default"].createElement(HeaderComponent, {
|
|
754
760
|
__self: _this,
|
|
755
761
|
__source: {
|
|
756
762
|
fileName: _jsxFileName,
|
|
757
|
-
lineNumber:
|
|
763
|
+
lineNumber: 992,
|
|
758
764
|
columnNumber: 9
|
|
759
765
|
}
|
|
760
766
|
}));
|
|
@@ -766,7 +772,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
766
772
|
__self: _this,
|
|
767
773
|
__source: {
|
|
768
774
|
fileName: _jsxFileName,
|
|
769
|
-
lineNumber:
|
|
775
|
+
lineNumber: 1002,
|
|
770
776
|
columnNumber: 7
|
|
771
777
|
}
|
|
772
778
|
}, _react["default"].createElement(LoadingIndicator, {
|
|
@@ -774,7 +780,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
774
780
|
__self: _this,
|
|
775
781
|
__source: {
|
|
776
782
|
fileName: _jsxFileName,
|
|
777
|
-
lineNumber:
|
|
783
|
+
lineNumber: 1003,
|
|
778
784
|
columnNumber: 9
|
|
779
785
|
}
|
|
780
786
|
}));
|
|
@@ -786,7 +792,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
786
792
|
__self: _this,
|
|
787
793
|
__source: {
|
|
788
794
|
fileName: _jsxFileName,
|
|
789
|
-
lineNumber:
|
|
795
|
+
lineNumber: 1010,
|
|
790
796
|
columnNumber: 30
|
|
791
797
|
}
|
|
792
798
|
});
|
|
@@ -795,7 +801,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
795
801
|
__self: _this,
|
|
796
802
|
__source: {
|
|
797
803
|
fileName: _jsxFileName,
|
|
798
|
-
lineNumber:
|
|
804
|
+
lineNumber: 1011,
|
|
799
805
|
columnNumber: 46
|
|
800
806
|
}
|
|
801
807
|
});
|
|
@@ -809,7 +815,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
809
815
|
__self: _this,
|
|
810
816
|
__source: {
|
|
811
817
|
fileName: _jsxFileName,
|
|
812
|
-
lineNumber:
|
|
818
|
+
lineNumber: 1016,
|
|
813
819
|
columnNumber: 5
|
|
814
820
|
}
|
|
815
821
|
}, _react["default"].createElement(FlatList, (0, _extends2["default"])({
|
|
@@ -845,7 +851,7 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
845
851
|
__self: _this,
|
|
846
852
|
__source: {
|
|
847
853
|
fileName: _jsxFileName,
|
|
848
|
-
lineNumber:
|
|
854
|
+
lineNumber: 1020,
|
|
849
855
|
columnNumber: 7
|
|
850
856
|
}
|
|
851
857
|
})), !loading && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactNative.View, {
|
|
@@ -853,28 +859,28 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
853
859
|
__self: _this,
|
|
854
860
|
__source: {
|
|
855
861
|
fileName: _jsxFileName,
|
|
856
|
-
lineNumber:
|
|
862
|
+
lineNumber: 1060,
|
|
857
863
|
columnNumber: 11
|
|
858
864
|
}
|
|
859
865
|
}, _react["default"].createElement(StickyHeaderComponent, {
|
|
860
866
|
__self: _this,
|
|
861
867
|
__source: {
|
|
862
868
|
fileName: _jsxFileName,
|
|
863
|
-
lineNumber:
|
|
869
|
+
lineNumber: 1061,
|
|
864
870
|
columnNumber: 13
|
|
865
871
|
}
|
|
866
872
|
})), !disableTypingIndicator && TypingIndicator && _react["default"].createElement(TypingIndicatorContainer, {
|
|
867
873
|
__self: _this,
|
|
868
874
|
__source: {
|
|
869
875
|
fileName: _jsxFileName,
|
|
870
|
-
lineNumber:
|
|
876
|
+
lineNumber: 1064,
|
|
871
877
|
columnNumber: 13
|
|
872
878
|
}
|
|
873
879
|
}, _react["default"].createElement(TypingIndicator, {
|
|
874
880
|
__self: _this,
|
|
875
881
|
__source: {
|
|
876
882
|
fileName: _jsxFileName,
|
|
877
|
-
lineNumber:
|
|
883
|
+
lineNumber: 1065,
|
|
878
884
|
columnNumber: 15
|
|
879
885
|
}
|
|
880
886
|
})), _react["default"].createElement(ScrollToBottomButton, {
|
|
@@ -884,14 +890,14 @@ var MessageListWithContext = function MessageListWithContext(props) {
|
|
|
884
890
|
__self: _this,
|
|
885
891
|
__source: {
|
|
886
892
|
fileName: _jsxFileName,
|
|
887
|
-
lineNumber:
|
|
893
|
+
lineNumber: 1068,
|
|
888
894
|
columnNumber: 11
|
|
889
895
|
}
|
|
890
896
|
})), _react["default"].createElement(NetworkDownIndicator, {
|
|
891
897
|
__self: _this,
|
|
892
898
|
__source: {
|
|
893
899
|
fileName: _jsxFileName,
|
|
894
|
-
lineNumber:
|
|
900
|
+
lineNumber: 1075,
|
|
895
901
|
columnNumber: 7
|
|
896
902
|
}
|
|
897
903
|
}));
|
|
@@ -998,7 +1004,7 @@ var MessageList = function MessageList(props) {
|
|
|
998
1004
|
__self: _this,
|
|
999
1005
|
__source: {
|
|
1000
1006
|
fileName: _jsxFileName,
|
|
1001
|
-
lineNumber:
|
|
1007
|
+
lineNumber: 1133,
|
|
1002
1008
|
columnNumber: 5
|
|
1003
1009
|
}
|
|
1004
1010
|
}));
|