sceyt-chat-react-uikit 1.7.1-beta.9 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Channel/index.d.ts +22 -1
- package/components/ChannelList/ChannelSearch/index.d.ts +1 -0
- package/components/ChannelList/index.d.ts +6 -1
- package/index.js +697 -396
- package/index.modern.js +697 -396
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -9091,7 +9091,7 @@ function updateChannelLastMessageOnAllChannels(channelId, message) {
|
|
|
9091
9091
|
var updateChannel = allChannels.find(function (chan) {
|
|
9092
9092
|
return chan.id === channelId;
|
|
9093
9093
|
});
|
|
9094
|
-
if (message.state === 'Deleted' || message.state === 'Edited') {
|
|
9094
|
+
if ((message === null || message === void 0 ? void 0 : message.state) === 'Deleted' || (message === null || message === void 0 ? void 0 : message.state) === 'Edited') {
|
|
9095
9095
|
var _updateChannel;
|
|
9096
9096
|
if (((_updateChannel = updateChannel) === null || _updateChannel === void 0 ? void 0 : _updateChannel.lastMessage.id) === message.id) {
|
|
9097
9097
|
allChannels = allChannels.map(function (chan) {
|
|
@@ -10340,6 +10340,7 @@ var initialState$1 = {
|
|
|
10340
10340
|
attachmentsUploadingState: {},
|
|
10341
10341
|
scrollToMessage: null,
|
|
10342
10342
|
scrollToMessageHighlight: true,
|
|
10343
|
+
scrollToMessageBehavior: 'smooth',
|
|
10343
10344
|
scrollToMentionedMessage: false,
|
|
10344
10345
|
reactionsList: [],
|
|
10345
10346
|
reactionsHasNext: true,
|
|
@@ -10366,6 +10367,7 @@ var messageSlice = createSlice({
|
|
|
10366
10367
|
setScrollToMessage: function setScrollToMessage(state, action) {
|
|
10367
10368
|
state.scrollToMessage = action.payload.messageId;
|
|
10368
10369
|
state.scrollToMessageHighlight = action.payload.highlight;
|
|
10370
|
+
state.scrollToMessageBehavior = action.payload.behavior || 'smooth';
|
|
10369
10371
|
},
|
|
10370
10372
|
setScrollToMentionedMessage: function setScrollToMentionedMessage(state, action) {
|
|
10371
10373
|
state.scrollToMentionedMessage = action.payload.isScrollToMentionedMessage;
|
|
@@ -10395,7 +10397,7 @@ var messageSlice = createSlice({
|
|
|
10395
10397
|
return msg.tid === message.tid || msg.id === message.id;
|
|
10396
10398
|
});
|
|
10397
10399
|
});
|
|
10398
|
-
if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
|
|
10400
|
+
if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
|
|
10399
10401
|
if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10400
10402
|
var _state$activeChannelM;
|
|
10401
10403
|
setHasNextCached(true);
|
|
@@ -10417,7 +10419,7 @@ var messageSlice = createSlice({
|
|
|
10417
10419
|
var _state$activeChannelM3;
|
|
10418
10420
|
(_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
|
|
10419
10421
|
}
|
|
10420
|
-
} else if (direction === 'next') {
|
|
10422
|
+
} else if (direction === 'next' && newMessagesLength > 0) {
|
|
10421
10423
|
if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
|
|
10422
10424
|
var _state$activeChannelM4;
|
|
10423
10425
|
setHasPrevCached(true);
|
|
@@ -10606,8 +10608,8 @@ var messageSlice = createSlice({
|
|
|
10606
10608
|
var _action$payload8 = action.payload,
|
|
10607
10609
|
uploaded = _action$payload8.uploaded,
|
|
10608
10610
|
total = _action$payload8.total,
|
|
10609
|
-
attachmentId = _action$payload8.attachmentId
|
|
10610
|
-
|
|
10611
|
+
attachmentId = _action$payload8.attachmentId;
|
|
10612
|
+
var progress = uploaded / total;
|
|
10611
10613
|
var updateData = {
|
|
10612
10614
|
uploaded: uploaded,
|
|
10613
10615
|
total: total,
|
|
@@ -11617,7 +11619,7 @@ function setMessageToEditAC(message) {
|
|
|
11617
11619
|
message: message
|
|
11618
11620
|
});
|
|
11619
11621
|
}
|
|
11620
|
-
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight) {
|
|
11622
|
+
function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior) {
|
|
11621
11623
|
if (highlight === void 0) {
|
|
11622
11624
|
highlight = true;
|
|
11623
11625
|
}
|
|
@@ -11629,7 +11631,8 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
|
|
|
11629
11631
|
messageId: messageId,
|
|
11630
11632
|
limit: limit,
|
|
11631
11633
|
withDeliveredMessages: withDeliveredMessages,
|
|
11632
|
-
highlight: highlight
|
|
11634
|
+
highlight: highlight,
|
|
11635
|
+
behavior: behavior
|
|
11633
11636
|
}
|
|
11634
11637
|
};
|
|
11635
11638
|
}
|
|
@@ -11643,13 +11646,14 @@ function getMessageAC(channelId, messageId, limit) {
|
|
|
11643
11646
|
}
|
|
11644
11647
|
};
|
|
11645
11648
|
}
|
|
11646
|
-
function setScrollToMessagesAC(messageId, highlight) {
|
|
11649
|
+
function setScrollToMessagesAC(messageId, highlight, behavior) {
|
|
11647
11650
|
if (highlight === void 0) {
|
|
11648
11651
|
highlight = true;
|
|
11649
11652
|
}
|
|
11650
11653
|
return setScrollToMessage({
|
|
11651
11654
|
messageId: messageId || '',
|
|
11652
|
-
highlight: highlight
|
|
11655
|
+
highlight: highlight,
|
|
11656
|
+
behavior: behavior
|
|
11653
11657
|
});
|
|
11654
11658
|
}
|
|
11655
11659
|
function setScrollToMentionedMessageAC(isScrollToMentionedMessage) {
|
|
@@ -17110,6 +17114,9 @@ var scrollToMessageSelector = function scrollToMessageSelector(store) {
|
|
|
17110
17114
|
var scrollToMessageHighlightSelector = function scrollToMessageHighlightSelector(store) {
|
|
17111
17115
|
return store.MessageReducer.scrollToMessageHighlight;
|
|
17112
17116
|
};
|
|
17117
|
+
var scrollToMessageBehaviorSelector = function scrollToMessageBehaviorSelector(store) {
|
|
17118
|
+
return store.MessageReducer.scrollToMessageBehavior;
|
|
17119
|
+
};
|
|
17113
17120
|
var reactionsListSelector = function reactionsListSelector(store) {
|
|
17114
17121
|
return store.MessageReducer.reactionsList;
|
|
17115
17122
|
};
|
|
@@ -18503,7 +18510,7 @@ function editMessage(action) {
|
|
|
18503
18510
|
}, _marked6$1, null, [[0, 5]]);
|
|
18504
18511
|
}
|
|
18505
18512
|
function getMessagesQuery(action) {
|
|
18506
|
-
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
18513
|
+
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
18507
18514
|
return _regenerator().w(function (_context9) {
|
|
18508
18515
|
while (1) switch (_context9.p = _context9.n) {
|
|
18509
18516
|
case 0:
|
|
@@ -18511,9 +18518,9 @@ function getMessagesQuery(action) {
|
|
|
18511
18518
|
_context9.n = 1;
|
|
18512
18519
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
18513
18520
|
case 1:
|
|
18514
|
-
_action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight;
|
|
18521
|
+
_action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior;
|
|
18515
18522
|
if (!(channel.id && !channel.isMockChannel)) {
|
|
18516
|
-
_context9.n =
|
|
18523
|
+
_context9.n = 48;
|
|
18517
18524
|
break;
|
|
18518
18525
|
}
|
|
18519
18526
|
SceytChatClient = getClient();
|
|
@@ -18541,6 +18548,7 @@ function getMessagesQuery(action) {
|
|
|
18541
18548
|
break;
|
|
18542
18549
|
}
|
|
18543
18550
|
setHasPrevCached(false);
|
|
18551
|
+
setMessagesToMap(channel.id, []);
|
|
18544
18552
|
setAllMessages([]);
|
|
18545
18553
|
_context9.n = 3;
|
|
18546
18554
|
return effects.call(messageQuery.loadPreviousMessageId, '0');
|
|
@@ -18597,13 +18605,13 @@ function getMessagesQuery(action) {
|
|
|
18597
18605
|
break;
|
|
18598
18606
|
}
|
|
18599
18607
|
_context9.n = 12;
|
|
18600
|
-
return effects.put(setScrollToMessagesAC(messageId, highlight));
|
|
18608
|
+
return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18601
18609
|
case 12:
|
|
18602
|
-
_context9.n =
|
|
18610
|
+
_context9.n = 46;
|
|
18603
18611
|
break;
|
|
18604
18612
|
case 13:
|
|
18605
18613
|
if (!messageId) {
|
|
18606
|
-
_context9.n =
|
|
18614
|
+
_context9.n = 26;
|
|
18607
18615
|
break;
|
|
18608
18616
|
}
|
|
18609
18617
|
_allMessages = getAllMessages();
|
|
@@ -18612,7 +18620,7 @@ function getMessagesQuery(action) {
|
|
|
18612
18620
|
});
|
|
18613
18621
|
maxLengthPart = MESSAGES_MAX_LENGTH / 2;
|
|
18614
18622
|
if (!(messageIndex >= maxLengthPart)) {
|
|
18615
|
-
_context9.n =
|
|
18623
|
+
_context9.n = 16;
|
|
18616
18624
|
break;
|
|
18617
18625
|
}
|
|
18618
18626
|
result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
|
|
@@ -18621,151 +18629,160 @@ function getMessagesQuery(action) {
|
|
|
18621
18629
|
case 14:
|
|
18622
18630
|
setHasPrevCached(messageIndex > maxLengthPart);
|
|
18623
18631
|
setHasNextCached(_allMessages.length > maxLengthPart);
|
|
18632
|
+
_context9.n = 15;
|
|
18633
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18634
|
+
case 15:
|
|
18624
18635
|
_context9.n = 22;
|
|
18625
18636
|
break;
|
|
18626
|
-
case
|
|
18637
|
+
case 16:
|
|
18627
18638
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18628
18639
|
log.info('load by message id from server ...............', messageId);
|
|
18629
|
-
_context9.n =
|
|
18640
|
+
_context9.n = 17;
|
|
18630
18641
|
return effects.call(messageQuery.loadNearMessageId, messageId);
|
|
18631
|
-
case
|
|
18642
|
+
case 17:
|
|
18632
18643
|
result = _context9.v;
|
|
18633
18644
|
if (!(result.messages.length === 50)) {
|
|
18634
|
-
_context9.n =
|
|
18645
|
+
_context9.n = 20;
|
|
18635
18646
|
break;
|
|
18636
18647
|
}
|
|
18637
|
-
messageQuery.limit =
|
|
18638
|
-
_context9.n =
|
|
18648
|
+
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18649
|
+
_context9.n = 18;
|
|
18639
18650
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18640
|
-
case
|
|
18651
|
+
case 18:
|
|
18641
18652
|
_secondResult = _context9.v;
|
|
18642
18653
|
messageQuery.reverse = false;
|
|
18643
|
-
_context9.n =
|
|
18654
|
+
_context9.n = 19;
|
|
18644
18655
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18645
|
-
case
|
|
18656
|
+
case 19:
|
|
18646
18657
|
thirdResult = _context9.v;
|
|
18647
18658
|
result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
|
|
18648
18659
|
result.hasNext = _secondResult.hasNext;
|
|
18649
18660
|
messageQuery.reverse = true;
|
|
18650
|
-
case 19:
|
|
18651
|
-
log.info('result from server ....... ', result);
|
|
18652
18661
|
_context9.n = 20;
|
|
18653
|
-
return effects.put(
|
|
18662
|
+
return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
|
|
18654
18663
|
case 20:
|
|
18664
|
+
log.info('result from server ....... ', result);
|
|
18655
18665
|
_context9.n = 21;
|
|
18656
18666
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18657
18667
|
case 21:
|
|
18668
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18658
18669
|
setAllMessages([].concat(result.messages));
|
|
18659
18670
|
setHasPrevCached(false);
|
|
18660
18671
|
setHasNextCached(false);
|
|
18661
18672
|
case 22:
|
|
18662
18673
|
_context9.n = 23;
|
|
18663
|
-
return effects.put(
|
|
18674
|
+
return effects.put(setMessagesHasNextAC(true));
|
|
18664
18675
|
case 23:
|
|
18665
18676
|
_context9.n = 24;
|
|
18666
|
-
return effects.put(
|
|
18677
|
+
return effects.put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18667
18678
|
case 24:
|
|
18668
|
-
_context9.n =
|
|
18669
|
-
|
|
18679
|
+
_context9.n = 25;
|
|
18680
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18670
18681
|
case 25:
|
|
18682
|
+
_context9.n = 46;
|
|
18683
|
+
break;
|
|
18684
|
+
case 26:
|
|
18671
18685
|
if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
|
|
18672
|
-
_context9.n =
|
|
18686
|
+
_context9.n = 39;
|
|
18673
18687
|
break;
|
|
18674
18688
|
}
|
|
18689
|
+
setMessagesToMap(channel.id, []);
|
|
18675
18690
|
setAllMessages([]);
|
|
18676
18691
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18677
18692
|
if (!Number(channel.lastDisplayedMessageId)) {
|
|
18678
|
-
_context9.n =
|
|
18693
|
+
_context9.n = 32;
|
|
18679
18694
|
break;
|
|
18680
18695
|
}
|
|
18681
|
-
_context9.n =
|
|
18696
|
+
_context9.n = 27;
|
|
18682
18697
|
return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
|
|
18683
|
-
case
|
|
18698
|
+
case 27:
|
|
18684
18699
|
result = _context9.v;
|
|
18685
18700
|
if (!(result.messages.length === 50)) {
|
|
18686
|
-
_context9.n =
|
|
18701
|
+
_context9.n = 31;
|
|
18687
18702
|
break;
|
|
18688
18703
|
}
|
|
18689
18704
|
messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
|
|
18690
|
-
_context9.n =
|
|
18705
|
+
_context9.n = 28;
|
|
18691
18706
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18692
|
-
case
|
|
18707
|
+
case 28:
|
|
18693
18708
|
_secondResult2 = _context9.v;
|
|
18694
18709
|
if (!(channel.newMessageCount > 25)) {
|
|
18695
|
-
_context9.n =
|
|
18710
|
+
_context9.n = 30;
|
|
18696
18711
|
break;
|
|
18697
18712
|
}
|
|
18698
18713
|
messageQuery.reverse = false;
|
|
18699
|
-
_context9.n =
|
|
18714
|
+
_context9.n = 29;
|
|
18700
18715
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18701
|
-
case
|
|
18716
|
+
case 29:
|
|
18702
18717
|
_thirdResult = _context9.v;
|
|
18703
18718
|
result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
|
|
18704
18719
|
messageQuery.reverse = true;
|
|
18705
|
-
_context9.n =
|
|
18720
|
+
_context9.n = 31;
|
|
18706
18721
|
break;
|
|
18707
|
-
case 29:
|
|
18708
|
-
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18709
18722
|
case 30:
|
|
18710
|
-
|
|
18711
|
-
break;
|
|
18723
|
+
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18712
18724
|
case 31:
|
|
18713
|
-
_context9.n =
|
|
18714
|
-
|
|
18725
|
+
_context9.n = 35;
|
|
18726
|
+
break;
|
|
18715
18727
|
case 32:
|
|
18728
|
+
_context9.n = 33;
|
|
18729
|
+
return effects.call(messageQuery.loadPrevious);
|
|
18730
|
+
case 33:
|
|
18716
18731
|
result = _context9.v;
|
|
18717
18732
|
if (!(result.messages.length === 50)) {
|
|
18718
|
-
_context9.n =
|
|
18733
|
+
_context9.n = 35;
|
|
18719
18734
|
break;
|
|
18720
18735
|
}
|
|
18721
18736
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18722
|
-
_context9.n =
|
|
18737
|
+
_context9.n = 34;
|
|
18723
18738
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18724
|
-
case
|
|
18739
|
+
case 34:
|
|
18725
18740
|
_secondResult3 = _context9.v;
|
|
18726
18741
|
result.messages = [].concat(_secondResult3.messages, result.messages);
|
|
18727
18742
|
result.hasNext = _secondResult3.hasNext;
|
|
18728
|
-
case 34:
|
|
18729
|
-
setMessagesToMap(channel.id, result.messages);
|
|
18730
|
-
_context9.n = 35;
|
|
18731
|
-
return effects.put(setMessagesHasPrevAC(true));
|
|
18732
18743
|
case 35:
|
|
18733
18744
|
_context9.n = 36;
|
|
18734
|
-
return effects.put(
|
|
18745
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18735
18746
|
case 36:
|
|
18736
|
-
setAllMessages([].concat(result.messages));
|
|
18737
18747
|
_context9.n = 37;
|
|
18738
|
-
return effects.put(
|
|
18748
|
+
return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
|
|
18739
18749
|
case 37:
|
|
18740
|
-
|
|
18741
|
-
|
|
18750
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18751
|
+
setAllMessages([].concat(result.messages));
|
|
18752
|
+
_context9.n = 38;
|
|
18753
|
+
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18742
18754
|
case 38:
|
|
18755
|
+
_context9.n = 46;
|
|
18756
|
+
break;
|
|
18757
|
+
case 39:
|
|
18758
|
+
setMessagesToMap(channel.id, []);
|
|
18743
18759
|
setAllMessages([]);
|
|
18744
18760
|
if (!(cachedMessages && cachedMessages.length)) {
|
|
18745
|
-
_context9.n =
|
|
18761
|
+
_context9.n = 40;
|
|
18746
18762
|
break;
|
|
18747
18763
|
}
|
|
18764
|
+
setMessagesToMap(channel.id, []);
|
|
18748
18765
|
setAllMessages([].concat(cachedMessages));
|
|
18749
|
-
_context9.n =
|
|
18766
|
+
_context9.n = 40;
|
|
18750
18767
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
|
|
18751
|
-
case
|
|
18768
|
+
case 40:
|
|
18752
18769
|
log.info('load message from server');
|
|
18753
|
-
_context9.n =
|
|
18770
|
+
_context9.n = 41;
|
|
18754
18771
|
return effects.call(messageQuery.loadPrevious);
|
|
18755
|
-
case
|
|
18772
|
+
case 41:
|
|
18756
18773
|
result = _context9.v;
|
|
18757
18774
|
if (!(result.messages.length === 50)) {
|
|
18758
|
-
_context9.n =
|
|
18775
|
+
_context9.n = 43;
|
|
18759
18776
|
break;
|
|
18760
18777
|
}
|
|
18761
18778
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18762
|
-
_context9.n =
|
|
18779
|
+
_context9.n = 42;
|
|
18763
18780
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18764
|
-
case
|
|
18781
|
+
case 42:
|
|
18765
18782
|
_secondResult4 = _context9.v;
|
|
18766
18783
|
result.messages = [].concat(_secondResult4.messages, result.messages);
|
|
18767
18784
|
result.hasNext = _secondResult4.hasNext;
|
|
18768
|
-
case
|
|
18785
|
+
case 43:
|
|
18769
18786
|
updatedMessages = [];
|
|
18770
18787
|
result.messages.forEach(function (msg) {
|
|
18771
18788
|
var updatedMessage = updateMessageOnMap(channel.id, {
|
|
@@ -18777,18 +18794,18 @@ function getMessagesQuery(action) {
|
|
|
18777
18794
|
});
|
|
18778
18795
|
setMessagesToMap(channel.id, updatedMessages);
|
|
18779
18796
|
setAllMessages([].concat(updatedMessages));
|
|
18780
|
-
_context9.n = 43;
|
|
18781
|
-
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18782
|
-
case 43:
|
|
18783
18797
|
_context9.n = 44;
|
|
18784
|
-
return effects.put(
|
|
18798
|
+
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18785
18799
|
case 44:
|
|
18786
18800
|
_context9.n = 45;
|
|
18787
|
-
return effects.put(
|
|
18801
|
+
return effects.put(setMessagesHasPrevAC(result.hasNext));
|
|
18788
18802
|
case 45:
|
|
18803
|
+
_context9.n = 46;
|
|
18804
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18805
|
+
case 46:
|
|
18789
18806
|
pendingMessages = getPendingMessages(channel.id);
|
|
18790
18807
|
if (!(pendingMessages && pendingMessages.length)) {
|
|
18791
|
-
_context9.n =
|
|
18808
|
+
_context9.n = 47;
|
|
18792
18809
|
break;
|
|
18793
18810
|
}
|
|
18794
18811
|
_messagesMap = {};
|
|
@@ -18798,38 +18815,38 @@ function getMessagesQuery(action) {
|
|
|
18798
18815
|
filteredPendingMessages = pendingMessages.filter(function (msg) {
|
|
18799
18816
|
return !_messagesMap[msg.tid || ''];
|
|
18800
18817
|
});
|
|
18801
|
-
_context9.n =
|
|
18818
|
+
_context9.n = 47;
|
|
18802
18819
|
return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
|
|
18803
|
-
case 46:
|
|
18804
|
-
_context9.n = 48;
|
|
18805
|
-
break;
|
|
18806
18820
|
case 47:
|
|
18821
|
+
_context9.n = 49;
|
|
18822
|
+
break;
|
|
18823
|
+
case 48:
|
|
18807
18824
|
if (!channel.isMockChannel) {
|
|
18808
|
-
_context9.n =
|
|
18825
|
+
_context9.n = 49;
|
|
18809
18826
|
break;
|
|
18810
18827
|
}
|
|
18811
|
-
_context9.n =
|
|
18828
|
+
_context9.n = 49;
|
|
18812
18829
|
return effects.put(setMessagesAC([]));
|
|
18813
|
-
case 48:
|
|
18814
|
-
_context9.n = 50;
|
|
18815
|
-
break;
|
|
18816
18830
|
case 49:
|
|
18817
|
-
_context9.
|
|
18818
|
-
|
|
18819
|
-
log.error('error in message query', _t9);
|
|
18831
|
+
_context9.n = 51;
|
|
18832
|
+
break;
|
|
18820
18833
|
case 50:
|
|
18821
18834
|
_context9.p = 50;
|
|
18822
|
-
|
|
18823
|
-
|
|
18835
|
+
_t9 = _context9.v;
|
|
18836
|
+
log.error('error in message query', _t9);
|
|
18824
18837
|
case 51:
|
|
18825
|
-
|
|
18838
|
+
_context9.p = 51;
|
|
18839
|
+
_context9.n = 52;
|
|
18840
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18826
18841
|
case 52:
|
|
18842
|
+
return _context9.f(51);
|
|
18843
|
+
case 53:
|
|
18827
18844
|
return _context9.a(2);
|
|
18828
18845
|
}
|
|
18829
|
-
}, _marked7$1, null, [[0,
|
|
18846
|
+
}, _marked7$1, null, [[0, 50, 51, 53]]);
|
|
18830
18847
|
}
|
|
18831
18848
|
function getMessageQuery(action) {
|
|
18832
|
-
var payload, channelId, messageId, channel, messages, _t0;
|
|
18849
|
+
var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
|
|
18833
18850
|
return _regenerator().w(function (_context0) {
|
|
18834
18851
|
while (1) switch (_context0.p = _context0.n) {
|
|
18835
18852
|
case 0:
|
|
@@ -18837,34 +18854,53 @@ function getMessageQuery(action) {
|
|
|
18837
18854
|
payload = action.payload;
|
|
18838
18855
|
channelId = payload.channelId, messageId = payload.messageId;
|
|
18839
18856
|
_context0.n = 1;
|
|
18840
|
-
return effects.call(
|
|
18857
|
+
return effects.call(getChannelFromAllChannels, channelId);
|
|
18841
18858
|
case 1:
|
|
18842
18859
|
channel = _context0.v;
|
|
18843
|
-
|
|
18844
|
-
|
|
18860
|
+
if (channel) {
|
|
18861
|
+
_context0.n = 2;
|
|
18862
|
+
break;
|
|
18863
|
+
}
|
|
18864
|
+
return _context0.a(2);
|
|
18845
18865
|
case 2:
|
|
18846
|
-
messages = _context0.v;
|
|
18847
18866
|
_context0.n = 3;
|
|
18848
|
-
return effects.
|
|
18867
|
+
return effects.call(channel.getMessagesById, [messageId]);
|
|
18849
18868
|
case 3:
|
|
18869
|
+
messages = _context0.v;
|
|
18870
|
+
fetchedMessage = messages && messages[0] ? JSON.parse(JSON.stringify(messages[0])) : null;
|
|
18871
|
+
if (!fetchedMessage) {
|
|
18872
|
+
_context0.n = 6;
|
|
18873
|
+
break;
|
|
18874
|
+
}
|
|
18875
|
+
_context0.n = 4;
|
|
18876
|
+
return effects.put(updateMessageAC(messageId, fetchedMessage));
|
|
18877
|
+
case 4:
|
|
18850
18878
|
updateMessageOnMap(channel.id, {
|
|
18851
18879
|
messageId: messageId,
|
|
18852
|
-
params:
|
|
18880
|
+
params: fetchedMessage
|
|
18853
18881
|
});
|
|
18854
|
-
updateMessageOnAllMessages(messageId,
|
|
18855
|
-
_context0.n =
|
|
18882
|
+
updateMessageOnAllMessages(messageId, fetchedMessage);
|
|
18883
|
+
_context0.n = 5;
|
|
18856
18884
|
return effects.put(setScrollToMessagesAC(messageId, false));
|
|
18857
|
-
case
|
|
18885
|
+
case 5:
|
|
18886
|
+
if (!(channel.lastMessage && channel.lastMessage.id === messageId)) {
|
|
18887
|
+
_context0.n = 6;
|
|
18888
|
+
break;
|
|
18889
|
+
}
|
|
18890
|
+
updateChannelLastMessageOnAllChannels(channel.id, fetchedMessage);
|
|
18858
18891
|
_context0.n = 6;
|
|
18892
|
+
return effects.put(updateChannelLastMessageAC(fetchedMessage, channel));
|
|
18893
|
+
case 6:
|
|
18894
|
+
_context0.n = 8;
|
|
18859
18895
|
break;
|
|
18860
|
-
case
|
|
18861
|
-
_context0.p =
|
|
18896
|
+
case 7:
|
|
18897
|
+
_context0.p = 7;
|
|
18862
18898
|
_t0 = _context0.v;
|
|
18863
18899
|
log.error('error in message query', _t0);
|
|
18864
|
-
case
|
|
18900
|
+
case 8:
|
|
18865
18901
|
return _context0.a(2);
|
|
18866
18902
|
}
|
|
18867
|
-
}, _marked8$1, null, [[0,
|
|
18903
|
+
}, _marked8$1, null, [[0, 7]]);
|
|
18868
18904
|
}
|
|
18869
18905
|
function loadMoreMessages(action) {
|
|
18870
18906
|
var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t1;
|
|
@@ -18953,25 +18989,38 @@ function loadMoreMessages(action) {
|
|
|
18953
18989
|
_context1.n = 11;
|
|
18954
18990
|
return effects.put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
|
|
18955
18991
|
case 11:
|
|
18956
|
-
_context1.n =
|
|
18992
|
+
_context1.n = 16;
|
|
18957
18993
|
break;
|
|
18958
18994
|
case 12:
|
|
18959
18995
|
_context1.n = 13;
|
|
18960
18996
|
return effects.put(addMessagesAC([], direction));
|
|
18961
18997
|
case 13:
|
|
18998
|
+
if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
|
|
18999
|
+
_context1.n = 15;
|
|
19000
|
+
break;
|
|
19001
|
+
}
|
|
18962
19002
|
_context1.n = 14;
|
|
18963
|
-
return effects.put(
|
|
19003
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18964
19004
|
case 14:
|
|
18965
19005
|
_context1.n = 16;
|
|
18966
19006
|
break;
|
|
18967
19007
|
case 15:
|
|
18968
|
-
_context1.
|
|
19008
|
+
_context1.n = 16;
|
|
19009
|
+
return effects.put(setMessagesHasPrevAC(false));
|
|
19010
|
+
case 16:
|
|
19011
|
+
_context1.n = 17;
|
|
19012
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19013
|
+
case 17:
|
|
19014
|
+
_context1.n = 19;
|
|
19015
|
+
break;
|
|
19016
|
+
case 18:
|
|
19017
|
+
_context1.p = 18;
|
|
18969
19018
|
_t1 = _context1.v;
|
|
18970
19019
|
log.error('error in load more messages', _t1);
|
|
18971
|
-
case
|
|
19020
|
+
case 19:
|
|
18972
19021
|
return _context1.a(2);
|
|
18973
19022
|
}
|
|
18974
|
-
}, _marked9$1, null, [[0,
|
|
19023
|
+
}, _marked9$1, null, [[0, 18]]);
|
|
18975
19024
|
}
|
|
18976
19025
|
function addReaction(action) {
|
|
18977
19026
|
var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
|
|
@@ -19395,7 +19444,7 @@ function MessageSaga() {
|
|
|
19395
19444
|
return effects.takeLatest(GET_MESSAGES, getMessagesQuery);
|
|
19396
19445
|
case 7:
|
|
19397
19446
|
_context18.n = 8;
|
|
19398
|
-
return effects.
|
|
19447
|
+
return effects.takeEvery(GET_MESSAGE, getMessageQuery);
|
|
19399
19448
|
case 8:
|
|
19400
19449
|
_context18.n = 9;
|
|
19401
19450
|
return effects.takeLatest(GET_MESSAGES_ATTACHMENTS, getMessageAttachments);
|
|
@@ -21000,6 +21049,50 @@ function SvgAvatar(props) {
|
|
|
21000
21049
|
})));
|
|
21001
21050
|
}
|
|
21002
21051
|
|
|
21052
|
+
var ATTACHMENTS_CACHE = 'attachments-cache';
|
|
21053
|
+
var isBrowser = typeof window !== 'undefined';
|
|
21054
|
+
var cacheAvailable;
|
|
21055
|
+
if (isBrowser) {
|
|
21056
|
+
cacheAvailable = 'caches' in window;
|
|
21057
|
+
} else {
|
|
21058
|
+
cacheAvailable = 'caches' in global;
|
|
21059
|
+
}
|
|
21060
|
+
var setAttachmentToCache = function setAttachmentToCache(attachmentUrl, attachmentResponse) {
|
|
21061
|
+
if (cacheAvailable) {
|
|
21062
|
+
caches.open(ATTACHMENTS_CACHE).then(function (cache) {
|
|
21063
|
+
try {
|
|
21064
|
+
cache.put(attachmentUrl, attachmentResponse).then(function () {
|
|
21065
|
+
log.info('Cache success');
|
|
21066
|
+
})["catch"](function (e) {
|
|
21067
|
+
log.info('Error on cache attachment ... ', e);
|
|
21068
|
+
caches["delete"](attachmentUrl);
|
|
21069
|
+
});
|
|
21070
|
+
return Promise.resolve();
|
|
21071
|
+
} catch (e) {
|
|
21072
|
+
return Promise.reject(e);
|
|
21073
|
+
}
|
|
21074
|
+
});
|
|
21075
|
+
}
|
|
21076
|
+
};
|
|
21077
|
+
var getAttachmentUrlFromCache = function getAttachmentUrlFromCache(attachmentUrl) {
|
|
21078
|
+
try {
|
|
21079
|
+
if (!cacheAvailable) {
|
|
21080
|
+
log.error('Cache is not available');
|
|
21081
|
+
return Promise.reject(new Error('Cache not available'));
|
|
21082
|
+
}
|
|
21083
|
+
return Promise.resolve(caches.match(attachmentUrl)).then(function (response) {
|
|
21084
|
+
if (response) {
|
|
21085
|
+
return Promise.resolve(response.blob()).then(URL.createObjectURL);
|
|
21086
|
+
} else {
|
|
21087
|
+
log.info('The image or video is not cached', attachmentUrl);
|
|
21088
|
+
return false;
|
|
21089
|
+
}
|
|
21090
|
+
});
|
|
21091
|
+
} catch (e) {
|
|
21092
|
+
return Promise.reject(e);
|
|
21093
|
+
}
|
|
21094
|
+
};
|
|
21095
|
+
|
|
21003
21096
|
var _templateObject$3, _templateObject2$3, _templateObject3$2, _templateObject4$2;
|
|
21004
21097
|
var Avatar = function Avatar(_ref) {
|
|
21005
21098
|
var image = _ref.image,
|
|
@@ -21016,6 +21109,9 @@ var Avatar = function Avatar(_ref) {
|
|
|
21016
21109
|
var theme = useSelector(themeSelector);
|
|
21017
21110
|
var _useColor = useColors(),
|
|
21018
21111
|
iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE];
|
|
21112
|
+
var _useState = React.useState(image || null),
|
|
21113
|
+
resolvedImageSrc = _useState[0],
|
|
21114
|
+
setResolvedImageSrc = _useState[1];
|
|
21019
21115
|
var isDeletedUserAvatar = !image && !name;
|
|
21020
21116
|
var avatarText = '';
|
|
21021
21117
|
if (!image && name) {
|
|
@@ -21032,11 +21128,68 @@ var Avatar = function Avatar(_ref) {
|
|
|
21032
21128
|
avatarText = _firstCharOfFirstWord ? String.fromCodePoint(_firstCharOfFirstWord) : '';
|
|
21033
21129
|
}
|
|
21034
21130
|
}
|
|
21131
|
+
React.useEffect(function () {
|
|
21132
|
+
var isCancelled = false;
|
|
21133
|
+
if (!image) {
|
|
21134
|
+
setResolvedImageSrc(null);
|
|
21135
|
+
return;
|
|
21136
|
+
}
|
|
21137
|
+
var isHttpUrl = /^https?:\/\//i.test(image);
|
|
21138
|
+
if (!isHttpUrl) {
|
|
21139
|
+
setResolvedImageSrc(image);
|
|
21140
|
+
return;
|
|
21141
|
+
}
|
|
21142
|
+
getAttachmentUrlFromCache(image).then(function (cachedUrl) {
|
|
21143
|
+
try {
|
|
21144
|
+
if (isCancelled) return Promise.resolve();
|
|
21145
|
+
var _temp2 = function () {
|
|
21146
|
+
if (cachedUrl) {
|
|
21147
|
+
setResolvedImageSrc(cachedUrl);
|
|
21148
|
+
} else {
|
|
21149
|
+
var _temp = _catch(function () {
|
|
21150
|
+
return Promise.resolve(fetch(image, {
|
|
21151
|
+
credentials: 'same-origin'
|
|
21152
|
+
})).then(function (response) {
|
|
21153
|
+
setAttachmentToCache(image, response.clone());
|
|
21154
|
+
setResolvedImageSrc(image);
|
|
21155
|
+
});
|
|
21156
|
+
}, function () {
|
|
21157
|
+
setResolvedImageSrc(image);
|
|
21158
|
+
});
|
|
21159
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
|
21160
|
+
}
|
|
21161
|
+
}();
|
|
21162
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
21163
|
+
} catch (e) {
|
|
21164
|
+
return Promise.reject(e);
|
|
21165
|
+
}
|
|
21166
|
+
})["catch"](function () {
|
|
21167
|
+
try {
|
|
21168
|
+
if (isCancelled) return Promise.resolve();
|
|
21169
|
+
var _temp3 = _catch(function () {
|
|
21170
|
+
return Promise.resolve(fetch(image, {
|
|
21171
|
+
credentials: 'same-origin'
|
|
21172
|
+
})).then(function (response) {
|
|
21173
|
+
setAttachmentToCache(image, response.clone());
|
|
21174
|
+
setResolvedImageSrc(image);
|
|
21175
|
+
});
|
|
21176
|
+
}, function () {
|
|
21177
|
+
setResolvedImageSrc(image);
|
|
21178
|
+
});
|
|
21179
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
|
|
21180
|
+
} catch (e) {
|
|
21181
|
+
return Promise.reject(e);
|
|
21182
|
+
}
|
|
21183
|
+
});
|
|
21184
|
+
return function () {
|
|
21185
|
+
isCancelled = true;
|
|
21186
|
+
};
|
|
21187
|
+
}, [image]);
|
|
21035
21188
|
return /*#__PURE__*/React__default.createElement(Container$1, {
|
|
21036
21189
|
border: border,
|
|
21037
21190
|
marginAuto: marginAuto,
|
|
21038
21191
|
size: size,
|
|
21039
|
-
isImage: !!(
|
|
21192
|
+
isImage: !!(resolvedImageSrc || setDefaultAvatar),
|
|
21040
21193
|
avatarName: name,
|
|
21041
21194
|
textSize: textSize,
|
|
21042
21195
|
onClick: handleAvatarClick,
|
|
@@ -21050,7 +21203,7 @@ var Avatar = function Avatar(_ref) {
|
|
|
21050
21203
|
}) : (/*#__PURE__*/React__default.createElement("span", null, avatarText)) : (/*#__PURE__*/React__default.createElement(AvatarImage, {
|
|
21051
21204
|
draggable: false,
|
|
21052
21205
|
showImage: true,
|
|
21053
|
-
src: image,
|
|
21206
|
+
src: resolvedImageSrc || image,
|
|
21054
21207
|
size: size,
|
|
21055
21208
|
alt: ''
|
|
21056
21209
|
})));
|
|
@@ -21164,7 +21317,10 @@ var Channel = function Channel(_ref3) {
|
|
|
21164
21317
|
channelLastMessageTimeFontSize = _ref3.channelLastMessageTimeFontSize,
|
|
21165
21318
|
channelLastMessageHeight = _ref3.channelLastMessageHeight,
|
|
21166
21319
|
channelAvatarSize = _ref3.channelAvatarSize,
|
|
21167
|
-
channelAvatarTextSize = _ref3.channelAvatarTextSize
|
|
21320
|
+
channelAvatarTextSize = _ref3.channelAvatarTextSize,
|
|
21321
|
+
setSelectedChannel = _ref3.setSelectedChannel,
|
|
21322
|
+
getCustomLatestMessage = _ref3.getCustomLatestMessage,
|
|
21323
|
+
doNotShowMessageDeliveryTypes = _ref3.doNotShowMessageDeliveryTypes;
|
|
21168
21324
|
var _useColor = useColors(),
|
|
21169
21325
|
accentColor = _useColor[THEME_COLORS.ACCENT],
|
|
21170
21326
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
@@ -21202,13 +21358,6 @@ var Channel = function Channel(_ref3) {
|
|
|
21202
21358
|
statusWidth = _useState3[0],
|
|
21203
21359
|
setStatusWidth = _useState3[1];
|
|
21204
21360
|
var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : '');
|
|
21205
|
-
var handleChangeActiveChannel = function handleChangeActiveChannel(chan) {
|
|
21206
|
-
if (activeChannel.id !== chan.id) {
|
|
21207
|
-
dispatch(sendTypingAC(false));
|
|
21208
|
-
dispatch(clearMessagesAC());
|
|
21209
|
-
dispatch(switchChannelActionAC(chan));
|
|
21210
|
-
}
|
|
21211
|
-
};
|
|
21212
21361
|
var messageAuthorRef = React.useRef(null);
|
|
21213
21362
|
var messageTimeAndStatusRef = React.useRef(null);
|
|
21214
21363
|
useUpdatePresence(channel, true);
|
|
@@ -21293,6 +21442,43 @@ var Channel = function Channel(_ref3) {
|
|
|
21293
21442
|
isDirectChannel: isDirectChannel
|
|
21294
21443
|
});
|
|
21295
21444
|
}, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel]);
|
|
21445
|
+
var getCustomLatestMessageComponent = React.useCallback(function (_ref4) {
|
|
21446
|
+
var lastMessage = _ref4.lastMessage,
|
|
21447
|
+
typingOrRecording = _ref4.typingOrRecording,
|
|
21448
|
+
draftMessageText = _ref4.draftMessageText,
|
|
21449
|
+
textSecondary = _ref4.textSecondary,
|
|
21450
|
+
channel = _ref4.channel,
|
|
21451
|
+
channelLastMessageFontSize = _ref4.channelLastMessageFontSize,
|
|
21452
|
+
channelLastMessageHeight = _ref4.channelLastMessageHeight,
|
|
21453
|
+
isDirectChannel = _ref4.isDirectChannel,
|
|
21454
|
+
textPrimary = _ref4.textPrimary,
|
|
21455
|
+
messageAuthorRef = _ref4.messageAuthorRef,
|
|
21456
|
+
contactsMap = _ref4.contactsMap,
|
|
21457
|
+
getFromContacts = _ref4.getFromContacts,
|
|
21458
|
+
warningColor = _ref4.warningColor,
|
|
21459
|
+
user = _ref4.user,
|
|
21460
|
+
MessageText = _ref4.MessageText;
|
|
21461
|
+
return getCustomLatestMessage && getCustomLatestMessage({
|
|
21462
|
+
lastMessage: lastMessage,
|
|
21463
|
+
typingOrRecording: typingOrRecording,
|
|
21464
|
+
draftMessageText: draftMessageText,
|
|
21465
|
+
textSecondary: textSecondary,
|
|
21466
|
+
channel: channel,
|
|
21467
|
+
channelLastMessageFontSize: channelLastMessageFontSize,
|
|
21468
|
+
channelLastMessageHeight: channelLastMessageHeight,
|
|
21469
|
+
isDirectChannel: isDirectChannel,
|
|
21470
|
+
textPrimary: textPrimary,
|
|
21471
|
+
messageAuthorRef: messageAuthorRef,
|
|
21472
|
+
contactsMap: contactsMap,
|
|
21473
|
+
getFromContacts: getFromContacts,
|
|
21474
|
+
warningColor: warningColor,
|
|
21475
|
+
user: user,
|
|
21476
|
+
MessageText: MessageText
|
|
21477
|
+
});
|
|
21478
|
+
}, [getCustomLatestMessage, lastMessage, typingOrRecording, draftMessageText, textSecondary, channel, channelLastMessageFontSize, channelLastMessageHeight, isDirectChannel, textPrimary, messageAuthorRef, contactsMap, getFromContacts, warningColor, user, MessageText]);
|
|
21479
|
+
var isTypeValid = React.useCallback(function (type) {
|
|
21480
|
+
return !doNotShowMessageDeliveryTypes.includes(type);
|
|
21481
|
+
}, [doNotShowMessageDeliveryTypes]);
|
|
21296
21482
|
return /*#__PURE__*/React__default.createElement(Container$2, {
|
|
21297
21483
|
theme: theme,
|
|
21298
21484
|
selectedChannel: channel.id === activeChannel.id,
|
|
@@ -21303,7 +21489,7 @@ var Channel = function Channel(_ref3) {
|
|
|
21303
21489
|
selectedChannelBorderRadius: selectedChannelBorderRadius,
|
|
21304
21490
|
channelsMargin: channelsMargin,
|
|
21305
21491
|
onClick: function onClick() {
|
|
21306
|
-
return
|
|
21492
|
+
return setSelectedChannel(channel);
|
|
21307
21493
|
},
|
|
21308
21494
|
hoverBackground: channelHoverBackground || backgroundHovered
|
|
21309
21495
|
}, showAvatar && (/*#__PURE__*/React__default.createElement(AvatarWrapper, null, /*#__PURE__*/React__default.createElement(Avatar, {
|
|
@@ -21329,7 +21515,23 @@ var Channel = function Channel(_ref3) {
|
|
|
21329
21515
|
avatarSize: channelAvatarSize
|
|
21330
21516
|
}, /*#__PURE__*/React__default.createElement("h3", null, channel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap && contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), channel.muted && (/*#__PURE__*/React__default.createElement(MutedIcon, {
|
|
21331
21517
|
color: notificationsIsMutedIconColor || iconInactive
|
|
21332
|
-
}, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))),
|
|
21518
|
+
}, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), getCustomLatestMessage ? getCustomLatestMessageComponent({
|
|
21519
|
+
lastMessage: lastMessage,
|
|
21520
|
+
typingOrRecording: typingOrRecording,
|
|
21521
|
+
draftMessageText: draftMessageText,
|
|
21522
|
+
textSecondary: textSecondary,
|
|
21523
|
+
channel: channel,
|
|
21524
|
+
channelLastMessageFontSize: channelLastMessageFontSize || '14px',
|
|
21525
|
+
channelLastMessageHeight: channelLastMessageHeight || '20px',
|
|
21526
|
+
isDirectChannel: isDirectChannel,
|
|
21527
|
+
textPrimary: textPrimary,
|
|
21528
|
+
messageAuthorRef: messageAuthorRef,
|
|
21529
|
+
contactsMap: contactsMap || {},
|
|
21530
|
+
getFromContacts: getFromContacts,
|
|
21531
|
+
warningColor: warningColor,
|
|
21532
|
+
user: user,
|
|
21533
|
+
MessageText: MessageText
|
|
21534
|
+
}) : (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
|
|
21333
21535
|
color: textSecondary,
|
|
21334
21536
|
markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
|
|
21335
21537
|
unreadMentions: !!(channel.newMentionCount && channel.newMentionCount > 0),
|
|
@@ -21365,7 +21567,7 @@ var Channel = function Channel(_ref3) {
|
|
|
21365
21567
|
}, MessageText)))), /*#__PURE__*/React__default.createElement(ChannelStatus, {
|
|
21366
21568
|
color: iconInactive,
|
|
21367
21569
|
ref: messageTimeAndStatusRef
|
|
21368
|
-
}, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && lastMessage.type
|
|
21570
|
+
}, lastMessage && lastMessage.state !== MESSAGE_STATUS.DELETE && (/*#__PURE__*/React__default.createElement(DeliveryIconCont, null, lastMessage && lastMessage.user && lastMessage.user.id === user.id && isTypeValid(lastMessage.type) && MessageStatusIcon({
|
|
21369
21571
|
messageStatus: lastMessage.deliveryStatus,
|
|
21370
21572
|
messageStatusDisplayingType: 'ticks',
|
|
21371
21573
|
readIconColor: accentColor,
|
|
@@ -21432,9 +21634,9 @@ var Container$2 = styled__default.div(_templateObject6$1 || (_templateObject6$1
|
|
|
21432
21634
|
return props.channelsMargin || '0 8px';
|
|
21433
21635
|
}, function (props) {
|
|
21434
21636
|
return props.selectedChannelBorderRadius || '12px';
|
|
21435
|
-
}, function (
|
|
21436
|
-
var selectedChannel =
|
|
21437
|
-
hoverBackground =
|
|
21637
|
+
}, function (_ref5) {
|
|
21638
|
+
var selectedChannel = _ref5.selectedChannel,
|
|
21639
|
+
hoverBackground = _ref5.hoverBackground;
|
|
21438
21640
|
return !selectedChannel && "\n background-color: " + hoverBackground + ";\n ";
|
|
21439
21641
|
}, UserStatus, function (props) {
|
|
21440
21642
|
return props.selectedChannel ? props.selectedBackgroundColor : props.hoverBackground;
|
|
@@ -21449,9 +21651,9 @@ var DraftMessageText = styled__default.span(_templateObject8$1 || (_templateObje
|
|
|
21449
21651
|
});
|
|
21450
21652
|
var LastMessageAuthor = styled__default.div(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n max-width: 120px;\n font-weight: 500;\n color: ", ";\n\n ", "\n & > span {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n }\n"])), function (props) {
|
|
21451
21653
|
return props.color;
|
|
21452
|
-
}, function (
|
|
21453
|
-
var typing =
|
|
21454
|
-
recording =
|
|
21654
|
+
}, function (_ref6) {
|
|
21655
|
+
var typing = _ref6.typing,
|
|
21656
|
+
recording = _ref6.recording;
|
|
21455
21657
|
return (typing || recording) && "\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: calc(100% - " + (typing ? 62 : 76) + "px);\n ";
|
|
21456
21658
|
});
|
|
21457
21659
|
var Points = styled__default.span(_templateObject0$1 || (_templateObject0$1 = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n color: ", ";\n font-style: normal;\n"])), function (props) {
|
|
@@ -21508,7 +21710,7 @@ var MessageTextContainer = styled__default.div(_templateObject20$1 || (_template
|
|
|
21508
21710
|
|
|
21509
21711
|
var _templateObject$5, _templateObject2$5;
|
|
21510
21712
|
var SearchInputContainer = styled__default.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n max-width: ", ";\n box-sizing: border-box;\n padding: ", ";\n\n & ", " {\n ", ";\n }\n"])), function (props) {
|
|
21511
|
-
return props.inline && 'calc(100% - 24px)';
|
|
21713
|
+
return props.width || props.inline && 'calc(100% - 24px)';
|
|
21512
21714
|
}, function (props) {
|
|
21513
21715
|
return !props.inline && '0 12px 16px';
|
|
21514
21716
|
}, ClearTypedText, function (props) {
|
|
@@ -21535,14 +21737,16 @@ var ChannelSearch = function ChannelSearch(_ref) {
|
|
|
21535
21737
|
borderRadius = _ref.borderRadius,
|
|
21536
21738
|
searchInputBackgroundColor = _ref.searchInputBackgroundColor,
|
|
21537
21739
|
searchInputTextColor = _ref.searchInputTextColor,
|
|
21538
|
-
fontSize = _ref.fontSize
|
|
21740
|
+
fontSize = _ref.fontSize,
|
|
21741
|
+
width = _ref.width;
|
|
21539
21742
|
var _useColor = useColors(),
|
|
21540
21743
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
21541
21744
|
surface1 = _useColor[THEME_COLORS.SURFACE_1],
|
|
21542
21745
|
iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
|
|
21543
21746
|
footnoteColor = _useColor[THEME_COLORS.TEXT_FOOTNOTE];
|
|
21544
21747
|
return /*#__PURE__*/React__default.createElement(SearchInputContainer, {
|
|
21545
|
-
inline: inline
|
|
21748
|
+
inline: inline,
|
|
21749
|
+
width: width
|
|
21546
21750
|
}, /*#__PURE__*/React__default.createElement(StyledSearchSvg, {
|
|
21547
21751
|
left: !inline ? '22px' : '',
|
|
21548
21752
|
color: iconInactive
|
|
@@ -23323,6 +23527,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23323
23527
|
searchInputTextColor = _ref.searchInputTextColor,
|
|
23324
23528
|
_ref$searchChannelsPo = _ref.searchChannelsPosition,
|
|
23325
23529
|
searchChannelsPosition = _ref$searchChannelsPo === void 0 ? 'bottom' : _ref$searchChannelsPo,
|
|
23530
|
+
channelSearchWidth = _ref.channelSearchWidth,
|
|
23326
23531
|
searchInputBorderRadius = _ref.searchInputBorderRadius,
|
|
23327
23532
|
selectedChannelBorderRadius = _ref.selectedChannelBorderRadius,
|
|
23328
23533
|
selectedChannelPaddings = _ref.selectedChannelPaddings,
|
|
@@ -23369,7 +23574,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23369
23574
|
channelAvatarTextSize = _ref.channelAvatarTextSize,
|
|
23370
23575
|
searchChannelInputFontSize = _ref.searchChannelInputFontSize,
|
|
23371
23576
|
searchedChannelsTitleFontSize = _ref.searchedChannelsTitleFontSize,
|
|
23372
|
-
searchChannelsPadding = _ref.searchChannelsPadding
|
|
23577
|
+
searchChannelsPadding = _ref.searchChannelsPadding,
|
|
23578
|
+
getCustomLatestMessage = _ref.getCustomLatestMessage,
|
|
23579
|
+
_ref$doNotShowMessage = _ref.doNotShowMessageDeliveryTypes,
|
|
23580
|
+
doNotShowMessageDeliveryTypes = _ref$doNotShowMessage === void 0 ? ['system'] : _ref$doNotShowMessage;
|
|
23373
23581
|
var _useColor = useColors(),
|
|
23374
23582
|
background = _useColor[THEME_COLORS.BACKGROUND],
|
|
23375
23583
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
@@ -23437,11 +23645,6 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23437
23645
|
handleLoadMoreChannels();
|
|
23438
23646
|
}
|
|
23439
23647
|
};
|
|
23440
|
-
var handleChangeActiveChannel = function handleChangeActiveChannel(chan) {
|
|
23441
|
-
if (activeChannel.id !== chan.id) {
|
|
23442
|
-
dispatch(switchChannelActionAC(chan));
|
|
23443
|
-
}
|
|
23444
|
-
};
|
|
23445
23648
|
var handleCrateChatWithContact = function handleCrateChatWithContact(contact) {
|
|
23446
23649
|
if (contact) {
|
|
23447
23650
|
var channelData = {
|
|
@@ -23597,6 +23800,13 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23597
23800
|
setListWidthIsSet(false);
|
|
23598
23801
|
}
|
|
23599
23802
|
}, [channels]);
|
|
23803
|
+
var setSelectedChannel = function setSelectedChannel(channel) {
|
|
23804
|
+
if (activeChannel.id !== channel.id) {
|
|
23805
|
+
dispatch(sendTypingAC(false));
|
|
23806
|
+
dispatch(clearMessagesAC());
|
|
23807
|
+
dispatch(switchChannelActionAC(channel));
|
|
23808
|
+
}
|
|
23809
|
+
};
|
|
23600
23810
|
return /*#__PURE__*/React__default.createElement(Container$7, {
|
|
23601
23811
|
className: className,
|
|
23602
23812
|
withCustomList: !!List,
|
|
@@ -23610,6 +23820,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23610
23820
|
padding: searchChannelsPadding
|
|
23611
23821
|
}, Profile, showSearch && searchChannelsPosition === 'inline' ? (/*#__PURE__*/React__default.createElement(ChannelSearch, {
|
|
23612
23822
|
inline: true,
|
|
23823
|
+
width: channelSearchWidth,
|
|
23613
23824
|
borderRadius: searchInputBorderRadius,
|
|
23614
23825
|
searchValue: searchValue,
|
|
23615
23826
|
handleSearchValueChange: handleSearchValueChange,
|
|
@@ -23631,6 +23842,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23631
23842
|
})))), showSearch && searchChannelsPosition === 'bottom' && (/*#__PURE__*/React__default.createElement(ChannelSearch, {
|
|
23632
23843
|
searchValue: searchValue,
|
|
23633
23844
|
theme: theme,
|
|
23845
|
+
width: channelSearchWidth,
|
|
23634
23846
|
borderRadius: searchInputBorderRadius,
|
|
23635
23847
|
handleSearchValueChange: handleSearchValueChange,
|
|
23636
23848
|
getMyChannels: getMyChannels,
|
|
@@ -23641,13 +23853,13 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23641
23853
|
channels: channels,
|
|
23642
23854
|
searchedChannels: searchedChannels,
|
|
23643
23855
|
selectedChannel: activeChannel,
|
|
23644
|
-
setSelectedChannel:
|
|
23856
|
+
setSelectedChannel: setSelectedChannel,
|
|
23645
23857
|
loadMoreChannels: handleLoadMoreChannels,
|
|
23646
23858
|
searchValue: searchValue
|
|
23647
23859
|
}, !searchValue ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, channels.map(function (channel) {
|
|
23648
23860
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23649
23861
|
channel: channel,
|
|
23650
|
-
setSelectedChannel:
|
|
23862
|
+
setSelectedChannel: setSelectedChannel,
|
|
23651
23863
|
key: channel.id
|
|
23652
23864
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23653
23865
|
theme: theme,
|
|
@@ -23673,7 +23885,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23673
23885
|
avatarBorderRadius: avatarBorderRadius,
|
|
23674
23886
|
channel: channel,
|
|
23675
23887
|
key: channel.id,
|
|
23676
|
-
contactsMap: contactsMap
|
|
23888
|
+
contactsMap: contactsMap,
|
|
23889
|
+
setSelectedChannel: setSelectedChannel,
|
|
23890
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23891
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23677
23892
|
}));
|
|
23678
23893
|
}))) : channelsLoading === LOADING_STATE.LOADED && searchValue ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, searchedChannels !== null && searchedChannels !== void 0 && (_searchedChannels$cha = searchedChannels.chats_groups) !== null && _searchedChannels$cha !== void 0 && _searchedChannels$cha.length || searchedChannels !== null && searchedChannels !== void 0 && (_searchedChannels$cha2 = searchedChannels.channels) !== null && _searchedChannels$cha2 !== void 0 && _searchedChannels$cha2.length || searchedChannels !== null && searchedChannels !== void 0 && (_searchedChannels$con = searchedChannels.contacts) !== null && _searchedChannels$con !== void 0 && _searchedChannels$con.length ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, !!(searchedChannels.chats_groups && searchedChannels.chats_groups.length) && (/*#__PURE__*/React__default.createElement(DirectChannels, null, /*#__PURE__*/React__default.createElement(SearchedChannelsHeader, {
|
|
23679
23894
|
color: textSecondary,
|
|
@@ -23681,7 +23896,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23681
23896
|
}, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
|
|
23682
23897
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23683
23898
|
channel: channel,
|
|
23684
|
-
setSelectedChannel:
|
|
23899
|
+
setSelectedChannel: setSelectedChannel,
|
|
23685
23900
|
key: channel.id
|
|
23686
23901
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23687
23902
|
theme: theme,
|
|
@@ -23707,7 +23922,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23707
23922
|
avatarBorderRadius: avatarBorderRadius,
|
|
23708
23923
|
channel: channel,
|
|
23709
23924
|
key: channel.id,
|
|
23710
|
-
contactsMap: contactsMap
|
|
23925
|
+
contactsMap: contactsMap,
|
|
23926
|
+
setSelectedChannel: setSelectedChannel,
|
|
23927
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23928
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23711
23929
|
}));
|
|
23712
23930
|
}))), !!(searchedChannels.contacts && searchedChannels.contacts.length) && (/*#__PURE__*/React__default.createElement(GroupChannels, null, /*#__PURE__*/React__default.createElement(SearchedChannelsHeader, {
|
|
23713
23931
|
color: textSecondary,
|
|
@@ -23716,7 +23934,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23716
23934
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23717
23935
|
contact: contact,
|
|
23718
23936
|
createChatWithContact: handleCrateChatWithContact,
|
|
23719
|
-
setSelectedChannel:
|
|
23937
|
+
setSelectedChannel: setSelectedChannel,
|
|
23720
23938
|
key: contact.id
|
|
23721
23939
|
})) : (/*#__PURE__*/React__default.createElement(ContactItem, {
|
|
23722
23940
|
theme: theme,
|
|
@@ -23747,7 +23965,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23747
23965
|
}, "Channels"), searchedChannels.channels.map(function (channel) {
|
|
23748
23966
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23749
23967
|
channel: channel,
|
|
23750
|
-
setSelectedChannel:
|
|
23968
|
+
setSelectedChannel: setSelectedChannel,
|
|
23751
23969
|
key: channel.id
|
|
23752
23970
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23753
23971
|
theme: theme,
|
|
@@ -23773,7 +23991,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23773
23991
|
avatarBorderRadius: avatarBorderRadius,
|
|
23774
23992
|
channel: channel,
|
|
23775
23993
|
key: channel.id,
|
|
23776
|
-
contactsMap: contactsMap
|
|
23994
|
+
contactsMap: contactsMap,
|
|
23995
|
+
setSelectedChannel: setSelectedChannel,
|
|
23996
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23997
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23777
23998
|
}));
|
|
23778
23999
|
}))))) : (/*#__PURE__*/React__default.createElement(NoData, {
|
|
23779
24000
|
color: textSecondary,
|
|
@@ -23794,7 +24015,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23794
24015
|
}, channels.map(function (channel) {
|
|
23795
24016
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23796
24017
|
channel: channel,
|
|
23797
|
-
setSelectedChannel:
|
|
24018
|
+
setSelectedChannel: setSelectedChannel,
|
|
23798
24019
|
key: channel.id
|
|
23799
24020
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23800
24021
|
theme: theme,
|
|
@@ -23820,7 +24041,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23820
24041
|
avatarBorderRadius: avatarBorderRadius,
|
|
23821
24042
|
channel: channel,
|
|
23822
24043
|
key: channel.id,
|
|
23823
|
-
contactsMap: contactsMap
|
|
24044
|
+
contactsMap: contactsMap,
|
|
24045
|
+
setSelectedChannel: setSelectedChannel,
|
|
24046
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24047
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23824
24048
|
}));
|
|
23825
24049
|
}))), !!searchValue && (channelsLoading === LOADING_STATE.LOADED ? !((_searchedChannels$cha4 = searchedChannels.chats_groups) !== null && _searchedChannels$cha4 !== void 0 && _searchedChannels$cha4.length) && !((_searchedChannels$cha5 = searchedChannels.chats_groups) !== null && _searchedChannels$cha5 !== void 0 && _searchedChannels$cha5.length) && !((_searchedChannels$cha6 = searchedChannels.channels) !== null && _searchedChannels$cha6 !== void 0 && _searchedChannels$cha6.length) ? (/*#__PURE__*/React__default.createElement(NoData, {
|
|
23826
24050
|
color: textSecondary,
|
|
@@ -23831,7 +24055,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23831
24055
|
}, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
|
|
23832
24056
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23833
24057
|
channel: channel,
|
|
23834
|
-
setSelectedChannel:
|
|
24058
|
+
setSelectedChannel: setSelectedChannel,
|
|
23835
24059
|
key: channel.id
|
|
23836
24060
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23837
24061
|
theme: theme,
|
|
@@ -23857,7 +24081,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23857
24081
|
avatarBorderRadius: avatarBorderRadius,
|
|
23858
24082
|
channel: channel,
|
|
23859
24083
|
contactsMap: contactsMap,
|
|
23860
|
-
key: channel.id
|
|
24084
|
+
key: channel.id,
|
|
24085
|
+
setSelectedChannel: setSelectedChannel,
|
|
24086
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24087
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23861
24088
|
}));
|
|
23862
24089
|
}))), !!searchedChannels.channels.length && (/*#__PURE__*/React__default.createElement(GroupChannels, null, /*#__PURE__*/React__default.createElement(SearchedChannelsHeader, {
|
|
23863
24090
|
color: textSecondary,
|
|
@@ -23865,7 +24092,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23865
24092
|
}, "Channels"), searchedChannels.channels.map(function (channel) {
|
|
23866
24093
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23867
24094
|
channel: channel,
|
|
23868
|
-
setSelectedChannel:
|
|
24095
|
+
setSelectedChannel: setSelectedChannel,
|
|
23869
24096
|
key: channel.id
|
|
23870
24097
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23871
24098
|
theme: theme,
|
|
@@ -23891,7 +24118,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23891
24118
|
avatarBorderRadius: avatarBorderRadius,
|
|
23892
24119
|
channel: channel,
|
|
23893
24120
|
key: channel.id,
|
|
23894
|
-
contactsMap: contactsMap
|
|
24121
|
+
contactsMap: contactsMap,
|
|
24122
|
+
setSelectedChannel: setSelectedChannel,
|
|
24123
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24124
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23895
24125
|
}));
|
|
23896
24126
|
}))))) : (/*#__PURE__*/React__default.createElement(LoadingWrapper, null, /*#__PURE__*/React__default.createElement(UploadingIcon, {
|
|
23897
24127
|
color: textFootnote
|
|
@@ -23930,7 +24160,7 @@ var NoData = styled__default.div(_templateObject8$4 || (_templateObject8$4 = _ta
|
|
|
23930
24160
|
return props.color;
|
|
23931
24161
|
});
|
|
23932
24162
|
var LoadingWrapper = styled__default.div(_templateObject9$4 || (_templateObject9$4 = _taggedTemplateLiteralLoose(["\n position: absolute;\n left: calc(50% - 20px);\n top: calc(50% - 20px);\n"])));
|
|
23933
|
-
var ChannelListHeader = styled__default.div(_templateObject0$3 || (_templateObject0$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n max-width: ", ";\n padding: ", ";\n
|
|
24163
|
+
var ChannelListHeader = styled__default.div(_templateObject0$3 || (_templateObject0$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n max-width: ", ";\n padding: ", ";\n box-sizing: border-box;\n padding-left: ", ";\n border-right: ", ";\n"])), function (props) {
|
|
23934
24164
|
return props.maxWidth ? props.maxWidth + "px" : 'inherit';
|
|
23935
24165
|
}, function (props) {
|
|
23936
24166
|
return props.padding || '12px';
|
|
@@ -24544,50 +24774,6 @@ function SvgDeleteChannel(props) {
|
|
|
24544
24774
|
})));
|
|
24545
24775
|
}
|
|
24546
24776
|
|
|
24547
|
-
var ATTACHMENTS_CACHE = 'attachments-cache';
|
|
24548
|
-
var isBrowser = typeof window !== 'undefined';
|
|
24549
|
-
var cacheAvailable;
|
|
24550
|
-
if (isBrowser) {
|
|
24551
|
-
cacheAvailable = 'caches' in window;
|
|
24552
|
-
} else {
|
|
24553
|
-
cacheAvailable = 'caches' in global;
|
|
24554
|
-
}
|
|
24555
|
-
var setAttachmentToCache = function setAttachmentToCache(attachmentUrl, attachmentResponse) {
|
|
24556
|
-
if (cacheAvailable) {
|
|
24557
|
-
caches.open(ATTACHMENTS_CACHE).then(function (cache) {
|
|
24558
|
-
try {
|
|
24559
|
-
cache.put(attachmentUrl, attachmentResponse).then(function () {
|
|
24560
|
-
log.info('Cache success');
|
|
24561
|
-
})["catch"](function (e) {
|
|
24562
|
-
log.info('Error on cache attachment ... ', e);
|
|
24563
|
-
caches["delete"](attachmentUrl);
|
|
24564
|
-
});
|
|
24565
|
-
return Promise.resolve();
|
|
24566
|
-
} catch (e) {
|
|
24567
|
-
return Promise.reject(e);
|
|
24568
|
-
}
|
|
24569
|
-
});
|
|
24570
|
-
}
|
|
24571
|
-
};
|
|
24572
|
-
var getAttachmentUrlFromCache = function getAttachmentUrlFromCache(attachmentUrl) {
|
|
24573
|
-
try {
|
|
24574
|
-
if (!cacheAvailable) {
|
|
24575
|
-
log.error('Cache is not available');
|
|
24576
|
-
return Promise.reject(new Error('Cache not available'));
|
|
24577
|
-
}
|
|
24578
|
-
return Promise.resolve(caches.match(attachmentUrl)).then(function (response) {
|
|
24579
|
-
if (response) {
|
|
24580
|
-
return Promise.resolve(response.blob()).then(URL.createObjectURL);
|
|
24581
|
-
} else {
|
|
24582
|
-
log.info('The image or video is not cached', attachmentUrl);
|
|
24583
|
-
return false;
|
|
24584
|
-
}
|
|
24585
|
-
});
|
|
24586
|
-
} catch (e) {
|
|
24587
|
-
return Promise.reject(e);
|
|
24588
|
-
}
|
|
24589
|
-
};
|
|
24590
|
-
|
|
24591
24777
|
var _path$A;
|
|
24592
24778
|
function _extends$B() {
|
|
24593
24779
|
return _extends$B = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -26051,6 +26237,7 @@ var Message = function Message(_ref) {
|
|
|
26051
26237
|
var _useColor = useColors(),
|
|
26052
26238
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26053
26239
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26240
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26054
26241
|
var dispatch = useDispatch();
|
|
26055
26242
|
var ChatClient = getClient();
|
|
26056
26243
|
var user = ChatClient.user;
|
|
@@ -26069,7 +26256,19 @@ var Message = function Message(_ref) {
|
|
|
26069
26256
|
};
|
|
26070
26257
|
React.useEffect(function () {
|
|
26071
26258
|
if (isVisible) {
|
|
26259
|
+
var _channel$lastMessage;
|
|
26072
26260
|
handleSendReadMarker();
|
|
26261
|
+
if (!channel.isLinkedChannel) {
|
|
26262
|
+
setMessageToVisibleMessagesMap(message);
|
|
26263
|
+
}
|
|
26264
|
+
if (scrollToNewMessage.scrollToBottom && ((message === null || message === void 0 ? void 0 : message.id) === ((_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id) || !(message !== null && message !== void 0 && message.id))) {
|
|
26265
|
+
dispatch(scrollToNewMessageAC(false, false, false));
|
|
26266
|
+
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
26267
|
+
}
|
|
26268
|
+
} else {
|
|
26269
|
+
if (!channel.isLinkedChannel) {
|
|
26270
|
+
removeMessageFromVisibleMessagesMap(message);
|
|
26271
|
+
}
|
|
26073
26272
|
}
|
|
26074
26273
|
}, [isVisible]);
|
|
26075
26274
|
useDidUpdate(function () {
|
|
@@ -31185,7 +31384,7 @@ var validateUrl = function validateUrl(url) {
|
|
|
31185
31384
|
}
|
|
31186
31385
|
};
|
|
31187
31386
|
var OGMetadata = function OGMetadata(_ref) {
|
|
31188
|
-
var _metadata$
|
|
31387
|
+
var _metadata$og6, _metadata$og6$image, _metadata$og6$image$, _metadata$og7, _metadata$og7$image, _metadata$og7$image$, _metadata$og8, _metadata$og8$image, _metadata$og8$image$, _metadata$og9, _metadata$og0, _metadata$og0$favicon, _metadata$og1, _metadata$og1$favicon, _metadata$og10, _metadata$og11, _metadata$og12;
|
|
31189
31388
|
var attachments = _ref.attachments,
|
|
31190
31389
|
state = _ref.state;
|
|
31191
31390
|
var _useState = React.useState(null),
|
|
@@ -31197,6 +31396,15 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31197
31396
|
var _useState3 = React.useState(true),
|
|
31198
31397
|
faviconLoadError = _useState3[0],
|
|
31199
31398
|
setFaviconLoadError = _useState3[1];
|
|
31399
|
+
var _useState4 = React.useState(false),
|
|
31400
|
+
imageLoaded = _useState4[0],
|
|
31401
|
+
setImageLoaded = _useState4[1];
|
|
31402
|
+
var _useState5 = React.useState(0),
|
|
31403
|
+
imageWidth = _useState5[0],
|
|
31404
|
+
setImageWidth = _useState5[1];
|
|
31405
|
+
var _useState6 = React.useState(0),
|
|
31406
|
+
imageHeight = _useState6[0],
|
|
31407
|
+
setImageHeight = _useState6[1];
|
|
31200
31408
|
var attachment = React.useMemo(function () {
|
|
31201
31409
|
return attachments.find(function (attachment) {
|
|
31202
31410
|
return attachment.type === attachmentTypes.link;
|
|
@@ -31211,7 +31419,7 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31211
31419
|
var queryBuilder = new client.MessageLinkOGQueryBuilder(url);
|
|
31212
31420
|
return Promise.resolve(queryBuilder.build()).then(function (query) {
|
|
31213
31421
|
return Promise.resolve(query.loadOGData()).then(function (metadata) {
|
|
31214
|
-
return Promise.resolve(storeMetadata(url
|
|
31422
|
+
return Promise.resolve(storeMetadata(url, metadata)).then(function () {
|
|
31215
31423
|
setMetadata(metadata);
|
|
31216
31424
|
});
|
|
31217
31425
|
});
|
|
@@ -31234,7 +31442,7 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31234
31442
|
if (attachment !== null && attachment !== void 0 && attachment.id && attachment !== null && attachment !== void 0 && attachment.url) {
|
|
31235
31443
|
var url = attachment === null || attachment === void 0 ? void 0 : attachment.url;
|
|
31236
31444
|
if (url) {
|
|
31237
|
-
getMetadata(url
|
|
31445
|
+
getMetadata(url).then(function (cachedMetadata) {
|
|
31238
31446
|
try {
|
|
31239
31447
|
if (cachedMetadata) {
|
|
31240
31448
|
setMetadata(cachedMetadata);
|
|
@@ -31263,6 +31471,29 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31263
31471
|
var _metadata$og, _metadata$og2, _metadata$og2$image, _metadata$og2$image$, _metadata$og3;
|
|
31264
31472
|
return state !== 'deleted' && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og = metadata.og) === null || _metadata$og === void 0 ? void 0 : _metadata$og.title) && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og2 = metadata.og) === null || _metadata$og2 === void 0 ? void 0 : (_metadata$og2$image = _metadata$og2.image) === null || _metadata$og2$image === void 0 ? void 0 : (_metadata$og2$image$ = _metadata$og2$image[0]) === null || _metadata$og2$image$ === void 0 ? void 0 : _metadata$og2$image$.url) && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og3 = metadata.og) === null || _metadata$og3 === void 0 ? void 0 : _metadata$og3.description) && metadata;
|
|
31265
31473
|
}, [state, metadata]);
|
|
31474
|
+
React.useEffect(function () {
|
|
31475
|
+
var _metadata$og4, _metadata$og4$image, _metadata$og4$image$;
|
|
31476
|
+
if (metadata !== null && metadata !== void 0 && (_metadata$og4 = metadata.og) !== null && _metadata$og4 !== void 0 && (_metadata$og4$image = _metadata$og4.image) !== null && _metadata$og4$image !== void 0 && (_metadata$og4$image$ = _metadata$og4$image[0]) !== null && _metadata$og4$image$ !== void 0 && _metadata$og4$image$.url) {
|
|
31477
|
+
var _metadata$og5, _metadata$og5$image, _metadata$og5$image$;
|
|
31478
|
+
var image = new Image();
|
|
31479
|
+
image.src = metadata === null || metadata === void 0 ? void 0 : (_metadata$og5 = metadata.og) === null || _metadata$og5 === void 0 ? void 0 : (_metadata$og5$image = _metadata$og5.image) === null || _metadata$og5$image === void 0 ? void 0 : (_metadata$og5$image$ = _metadata$og5$image[0]) === null || _metadata$og5$image$ === void 0 ? void 0 : _metadata$og5$image$.url;
|
|
31480
|
+
image.onload = function () {
|
|
31481
|
+
var imageWidth = image.width;
|
|
31482
|
+
var imageHeight = image.height;
|
|
31483
|
+
setImageWidth(imageWidth);
|
|
31484
|
+
setImageHeight(imageHeight);
|
|
31485
|
+
setImageLoadError(false);
|
|
31486
|
+
setImageLoaded(true);
|
|
31487
|
+
};
|
|
31488
|
+
image.onerror = function () {
|
|
31489
|
+
setImageLoadError(true);
|
|
31490
|
+
setImageLoaded(true);
|
|
31491
|
+
};
|
|
31492
|
+
}
|
|
31493
|
+
}, [metadata === null || metadata === void 0 ? void 0 : (_metadata$og6 = metadata.og) === null || _metadata$og6 === void 0 ? void 0 : (_metadata$og6$image = _metadata$og6.image) === null || _metadata$og6$image === void 0 ? void 0 : (_metadata$og6$image$ = _metadata$og6$image[0]) === null || _metadata$og6$image$ === void 0 ? void 0 : _metadata$og6$image$.url]);
|
|
31494
|
+
var calculatedImageHeight = React.useMemo(function () {
|
|
31495
|
+
return imageHeight / (imageWidth / 400);
|
|
31496
|
+
}, [imageWidth, imageHeight]);
|
|
31266
31497
|
return /*#__PURE__*/React__default.createElement(OGMetadataContainer, {
|
|
31267
31498
|
showOGMetadata: !!showOGMetadata
|
|
31268
31499
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -31270,43 +31501,69 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31270
31501
|
window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, '_blank');
|
|
31271
31502
|
}
|
|
31272
31503
|
}, /*#__PURE__*/React__default.createElement(ImageContainer, {
|
|
31273
|
-
showOGMetadata: !!showOGMetadata && !imageLoadError
|
|
31274
|
-
|
|
31275
|
-
|
|
31504
|
+
showOGMetadata: !!showOGMetadata && !imageLoadError && imageLoaded,
|
|
31505
|
+
width: 400,
|
|
31506
|
+
height: calculatedImageHeight
|
|
31507
|
+
}, metadata !== null && metadata !== void 0 && (_metadata$og7 = metadata.og) !== null && _metadata$og7 !== void 0 && (_metadata$og7$image = _metadata$og7.image) !== null && _metadata$og7$image !== void 0 && (_metadata$og7$image$ = _metadata$og7$image[0]) !== null && _metadata$og7$image$ !== void 0 && _metadata$og7$image$.url && !imageLoadError ? (/*#__PURE__*/React__default.createElement(Img, {
|
|
31508
|
+
src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og8 = metadata.og) === null || _metadata$og8 === void 0 ? void 0 : (_metadata$og8$image = _metadata$og8.image) === null || _metadata$og8$image === void 0 ? void 0 : (_metadata$og8$image$ = _metadata$og8$image[0]) === null || _metadata$og8$image$ === void 0 ? void 0 : _metadata$og8$image$.url,
|
|
31276
31509
|
alt: 'OG metadata image',
|
|
31277
|
-
|
|
31278
|
-
|
|
31279
|
-
|
|
31280
|
-
|
|
31281
|
-
|
|
31282
|
-
|
|
31283
|
-
}
|
|
31284
|
-
src: metadata === null || metadata === void 0 ? void 0 : (_metadata$
|
|
31510
|
+
width: 400,
|
|
31511
|
+
height: calculatedImageHeight
|
|
31512
|
+
})) : null), showOGMetadata && imageLoaded ? (/*#__PURE__*/React__default.createElement(OGText, null, /*#__PURE__*/React__default.createElement(Url, {
|
|
31513
|
+
maxWidth: 400
|
|
31514
|
+
}, ogUrl), metadata !== null && metadata !== void 0 && (_metadata$og9 = metadata.og) !== null && _metadata$og9 !== void 0 && _metadata$og9.title ? (/*#__PURE__*/React__default.createElement(Title, {
|
|
31515
|
+
maxWidth: 400
|
|
31516
|
+
}, metadata !== null && metadata !== void 0 && (_metadata$og0 = metadata.og) !== null && _metadata$og0 !== void 0 && (_metadata$og0$favicon = _metadata$og0.favicon) !== null && _metadata$og0$favicon !== void 0 && _metadata$og0$favicon.url && !faviconLoadError ? (/*#__PURE__*/React__default.createElement(Favicon, {
|
|
31517
|
+
src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og1 = metadata.og) === null || _metadata$og1 === void 0 ? void 0 : (_metadata$og1$favicon = _metadata$og1.favicon) === null || _metadata$og1$favicon === void 0 ? void 0 : _metadata$og1$favicon.url,
|
|
31285
31518
|
onLoad: function onLoad() {
|
|
31286
31519
|
return setFaviconLoadError(false);
|
|
31287
31520
|
},
|
|
31288
31521
|
onError: function onError() {
|
|
31289
31522
|
return setFaviconLoadError(true);
|
|
31290
31523
|
}
|
|
31291
|
-
})) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$
|
|
31524
|
+
})) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og10 = metadata.og) === null || _metadata$og10 === void 0 ? void 0 : _metadata$og10.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og11 = metadata.og) !== null && _metadata$og11 !== void 0 && _metadata$og11.description ? /*#__PURE__*/React__default.createElement(Desc, {
|
|
31525
|
+
maxWidth: 400
|
|
31526
|
+
}, metadata === null || metadata === void 0 ? void 0 : (_metadata$og12 = metadata.og) === null || _metadata$og12 === void 0 ? void 0 : _metadata$og12.description) : null)) : null));
|
|
31292
31527
|
};
|
|
31293
31528
|
var OGMetadataContainer = styled__default.div(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n min-width: inherit;\n max-width: inherit;\n display: grid;\n grid-template-columns: 1fr;\n background-color: rgba(0, 0, 0, 0.034);\n border-radius: 6px;\n margin-bottom: 0.4rem;\n margin: 0 auto;\n margin-bottom: ", ";\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n"])), function (_ref2) {
|
|
31294
31529
|
var showOGMetadata = _ref2.showOGMetadata;
|
|
31295
31530
|
return showOGMetadata ? '0.8rem' : '0';
|
|
31296
31531
|
});
|
|
31297
|
-
var ImageContainer = styled__default.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n
|
|
31298
|
-
var
|
|
31299
|
-
return
|
|
31532
|
+
var ImageContainer = styled__default.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n ", "\n\n ", "\n\n opacity: ", ";\n overflow: hidden;\n margin: 0 auto;\n padding: ", ";\n transition: height 0.2s ease;\n"])), function (_ref3) {
|
|
31533
|
+
var width = _ref3.width;
|
|
31534
|
+
return width ? "\n max-width: " + (width + "px") + ";\n " : "\n max-width: 100%;\n width: 100%;\n ";
|
|
31300
31535
|
}, function (_ref4) {
|
|
31301
|
-
var
|
|
31302
|
-
|
|
31536
|
+
var height = _ref4.height,
|
|
31537
|
+
showOGMetadata = _ref4.showOGMetadata;
|
|
31538
|
+
return height ? "\n max-height: " + (height + "px") + ";\n height: " + (showOGMetadata ? height + "px" : '0') + ";\n " : "\n max-height: 200px;\n height: " + (showOGMetadata ? '200px' : '0') + ";\n ";
|
|
31539
|
+
}, function (_ref5) {
|
|
31540
|
+
var showOGMetadata = _ref5.showOGMetadata;
|
|
31541
|
+
return showOGMetadata ? 1 : 0;
|
|
31542
|
+
}, function (_ref6) {
|
|
31543
|
+
var showOGMetadata = _ref6.showOGMetadata;
|
|
31544
|
+
return showOGMetadata ? '0.3rem' : '0';
|
|
31545
|
+
});
|
|
31546
|
+
var OGText = styled__default.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n padding: 0.5rem;\n margin: 0;\n transition: all 0.2s ease;\n"])));
|
|
31547
|
+
var Url = styled__default.p(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n margin: 0 0 12px 0;\n color: gray;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref7) {
|
|
31548
|
+
var maxWidth = _ref7.maxWidth;
|
|
31549
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31550
|
+
});
|
|
31551
|
+
var Title = styled__default.p(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n font-size: 13px;\n padding: 0;\n display: flex;\n align-items: center;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref8) {
|
|
31552
|
+
var maxWidth = _ref8.maxWidth;
|
|
31553
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31554
|
+
});
|
|
31555
|
+
var Desc = styled__default.p(_templateObject6$f || (_templateObject6$f = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n ", "\n transition: all 0.2s ease;\n"])), function (_ref9) {
|
|
31556
|
+
var maxWidth = _ref9.maxWidth;
|
|
31557
|
+
return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
|
|
31558
|
+
});
|
|
31559
|
+
var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n ", "\n ", "\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
|
|
31560
|
+
var width = _ref0.width;
|
|
31561
|
+
return width && "\n max-width: " + (width + "px") + ";\n min-width: " + (width + "px") + ";\n width: " + (width + "px") + ";\n ";
|
|
31562
|
+
}, function (_ref1) {
|
|
31563
|
+
var height = _ref1.height;
|
|
31564
|
+
return height && "\n max-height: " + (height + "px") + ";\n min-height: " + (height + "px") + ";\n height: " + (height + "px") + ";\n ";
|
|
31303
31565
|
});
|
|
31304
|
-
var
|
|
31305
|
-
var Url = styled__default.p(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n margin: 0 0 12px 0;\n color: gray;\n"])));
|
|
31306
|
-
var Title = styled__default.p(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n font-size: 13px;\n padding: 0;\n display: flex;\n align-items: center;\n"])));
|
|
31307
|
-
var Desc = styled__default.p(_templateObject6$f || (_templateObject6$f = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n"])));
|
|
31308
|
-
var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n max-height: 100%;\n width: 100%;\n height: 200px;\n object-fit: cover;\n transition: height 0.2s ease;\n"])));
|
|
31309
|
-
var Favicon = styled__default.img(_templateObject8$c || (_templateObject8$c = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n object-fit: contain;\n margin-right: 4px;\n"])));
|
|
31566
|
+
var Favicon = styled__default.img(_templateObject8$c || (_templateObject8$c = _taggedTemplateLiteralLoose(["\n transition: all 0.2s ease;\n width: 24px;\n height: 24px;\n object-fit: contain;\n margin-right: 4px;\n"])));
|
|
31310
31567
|
|
|
31311
31568
|
var _templateObject$B, _templateObject2$w, _templateObject3$q, _templateObject4$m, _templateObject5$i;
|
|
31312
31569
|
var MessageBody = function MessageBody(_ref) {
|
|
@@ -32646,14 +32903,6 @@ var HiddenMessageProperty;
|
|
|
32646
32903
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32647
32904
|
|
|
32648
32905
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32649
|
-
var loadFromServer = false;
|
|
32650
|
-
var loadDirection = '';
|
|
32651
|
-
var nextDisable = false;
|
|
32652
|
-
var prevDisable = false;
|
|
32653
|
-
var scrollToBottom = false;
|
|
32654
|
-
var shouldLoadMessages;
|
|
32655
|
-
var loading = false;
|
|
32656
|
-
var messagesIndexMap = {};
|
|
32657
32906
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32658
32907
|
var lastIndex = _ref.lastIndex,
|
|
32659
32908
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -32863,6 +33112,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32863
33112
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
|
|
32864
33113
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
|
|
32865
33114
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
|
|
33115
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, reactRedux.shallowEqual);
|
|
32866
33116
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
|
|
32867
33117
|
var hasNextMessages = useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
|
|
32868
33118
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
|
|
@@ -32903,35 +33153,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32903
33153
|
setShouldPreserveScroll = _useState0[1];
|
|
32904
33154
|
var messageForReply = {};
|
|
32905
33155
|
var attachmentsSelected = false;
|
|
32906
|
-
var
|
|
33156
|
+
var _useState1 = React.useState(''),
|
|
33157
|
+
topDateLabel = _useState1[0],
|
|
33158
|
+
setTopDateLabel = _useState1[1];
|
|
32907
33159
|
var scrollRef = React.useRef(null);
|
|
33160
|
+
var loadFromServerRef = React.useRef(false);
|
|
33161
|
+
var loadDirectionRef = React.useRef('');
|
|
33162
|
+
var nextDisableRef = React.useRef(false);
|
|
33163
|
+
var prevDisableRef = React.useRef(false);
|
|
33164
|
+
var scrollToBottomRef = React.useRef(false);
|
|
33165
|
+
var shouldLoadMessagesRef = React.useRef('');
|
|
33166
|
+
var loadingRef = React.useRef(false);
|
|
33167
|
+
var messagesIndexMapRef = React.useRef({});
|
|
33168
|
+
var scrollRafRef = React.useRef(null);
|
|
33169
|
+
var loadingMessagesTimeoutRef = React.useRef(null);
|
|
32908
33170
|
var renderTopDate = function renderTopDate() {
|
|
32909
|
-
var
|
|
32910
|
-
|
|
33171
|
+
var container = scrollRef.current;
|
|
33172
|
+
if (!container) return;
|
|
33173
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
32911
33174
|
var text = '';
|
|
32912
33175
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
32913
|
-
var _dateLabel$firstChild;
|
|
32914
33176
|
var dateLabel = dateLabels[i];
|
|
32915
|
-
|
|
32916
|
-
|
|
32917
|
-
text = span
|
|
32918
|
-
span.style.display = 'none';
|
|
32919
|
-
} else {
|
|
32920
|
-
span.style.display = 'block';
|
|
33177
|
+
if (!text && container.scrollTop > dateLabel.offsetTop) {
|
|
33178
|
+
var span = (dateLabel === null || dateLabel === void 0 ? void 0 : dateLabel.firstChild) && dateLabel.firstChild.firstChild;
|
|
33179
|
+
text = span ? span.innerText || '' : '';
|
|
32921
33180
|
}
|
|
32922
33181
|
}
|
|
32923
|
-
|
|
32924
|
-
messageTopDate.innerText = text;
|
|
32925
|
-
messageTopDate.style.display = 'inline';
|
|
32926
|
-
} else {
|
|
32927
|
-
messageTopDate.style.display = 'none';
|
|
32928
|
-
}
|
|
33182
|
+
setTopDateLabel(text);
|
|
32929
33183
|
};
|
|
32930
|
-
var handleMessagesListScroll = React.useCallback(function (
|
|
33184
|
+
var handleMessagesListScroll = React.useCallback(function () {
|
|
32931
33185
|
try {
|
|
33186
|
+
var target = scrollRef.current;
|
|
33187
|
+
if (!target) return Promise.resolve();
|
|
32932
33188
|
if (scrollToMentionedMessage) {
|
|
32933
|
-
|
|
32934
|
-
if (_target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
33189
|
+
if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
|
|
32935
33190
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
32936
33191
|
} else {
|
|
32937
33192
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -32944,7 +33199,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32944
33199
|
setShowTopDate(false);
|
|
32945
33200
|
}, 1000);
|
|
32946
33201
|
renderTopDate();
|
|
32947
|
-
var target = event.target;
|
|
32948
33202
|
var forceLoadPrevMessages = false;
|
|
32949
33203
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
32950
33204
|
forceLoadPrevMessages = true;
|
|
@@ -32959,51 +33213,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32959
33213
|
}
|
|
32960
33214
|
if (scrollToReply) {
|
|
32961
33215
|
target.scrollTop = scrollToReply;
|
|
32962
|
-
|
|
32963
|
-
|
|
32964
|
-
|
|
32965
|
-
|
|
32966
|
-
|
|
32967
|
-
|
|
32968
|
-
|
|
32969
|
-
|
|
32970
|
-
|
|
32971
|
-
|
|
32972
|
-
|
|
32973
|
-
|
|
32974
|
-
|
|
32975
|
-
|
|
32976
|
-
|
|
33216
|
+
return Promise.resolve();
|
|
33217
|
+
}
|
|
33218
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33219
|
+
var hasIndex = typeof currentIndex === 'number';
|
|
33220
|
+
if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
|
|
33221
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
33222
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
|
|
33223
|
+
shouldLoadMessagesRef.current = 'prev';
|
|
33224
|
+
} else {
|
|
33225
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33226
|
+
shouldLoadMessagesRef.current = '';
|
|
33227
|
+
}
|
|
33228
|
+
loadDirectionRef.current = 'prev';
|
|
33229
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33230
|
+
if (!getHasPrevCached()) {
|
|
33231
|
+
loadFromServerRef.current = true;
|
|
32977
33232
|
}
|
|
33233
|
+
nextDisableRef.current = true;
|
|
32978
33234
|
}
|
|
32979
33235
|
}
|
|
32980
|
-
|
|
32981
|
-
|
|
32982
|
-
|
|
32983
|
-
|
|
32984
|
-
|
|
32985
|
-
|
|
32986
|
-
|
|
32987
|
-
|
|
32988
|
-
loadDirection = 'next';
|
|
32989
|
-
prevDisable = true;
|
|
32990
|
-
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33236
|
+
}
|
|
33237
|
+
if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
|
|
33238
|
+
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
|
|
33239
|
+
if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
|
|
33240
|
+
shouldLoadMessagesRef.current = 'next';
|
|
33241
|
+
} else {
|
|
33242
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33243
|
+
shouldLoadMessagesRef.current = '';
|
|
32991
33244
|
}
|
|
33245
|
+
loadDirectionRef.current = 'next';
|
|
33246
|
+
prevDisableRef.current = true;
|
|
33247
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
32992
33248
|
}
|
|
32993
33249
|
}
|
|
32994
|
-
|
|
32995
|
-
|
|
32996
|
-
|
|
33250
|
+
}
|
|
33251
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33252
|
+
nextDisableRef.current = false;
|
|
32997
33253
|
}
|
|
32998
33254
|
return Promise.resolve();
|
|
32999
33255
|
} catch (e) {
|
|
33000
33256
|
return Promise.reject(e);
|
|
33001
33257
|
}
|
|
33002
|
-
}, [channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id, messages, scrollToMentionedMessage, scrollToNewMessage, messagesLoading, hasPrevMessages, hasNextMessages,
|
|
33258
|
+
}, [channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id, messages, scrollToMentionedMessage, scrollToNewMessage, messagesLoading, hasPrevMessages, hasNextMessages, lastVisibleMessageId, connectionStatus, getHasPrevCached, getHasNextCached, scrollToReply]);
|
|
33259
|
+
var onScroll = React.useCallback(function () {
|
|
33260
|
+
if (scrollRafRef.current !== null) return;
|
|
33261
|
+
scrollRafRef.current = window.requestAnimationFrame(function () {
|
|
33262
|
+
scrollRafRef.current = null;
|
|
33263
|
+
handleMessagesListScroll();
|
|
33264
|
+
});
|
|
33265
|
+
}, [handleMessagesListScroll]);
|
|
33266
|
+
React.useEffect(function () {
|
|
33267
|
+
return function () {
|
|
33268
|
+
if (scrollRafRef.current !== null) {
|
|
33269
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
33270
|
+
scrollRafRef.current = null;
|
|
33271
|
+
}
|
|
33272
|
+
};
|
|
33273
|
+
}, []);
|
|
33003
33274
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33004
33275
|
try {
|
|
33005
|
-
|
|
33006
|
-
|
|
33276
|
+
prevDisableRef.current = true;
|
|
33277
|
+
nextDisableRef.current = true;
|
|
33007
33278
|
if (messages.findIndex(function (msg) {
|
|
33008
33279
|
return msg.id === messageId;
|
|
33009
33280
|
}) >= 10) {
|
|
@@ -33017,8 +33288,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33017
33288
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33018
33289
|
setTimeout(function () {
|
|
33019
33290
|
repliedMessage.classList.remove('highlight');
|
|
33020
|
-
|
|
33021
|
-
|
|
33291
|
+
prevDisableRef.current = false;
|
|
33292
|
+
nextDisableRef.current = false;
|
|
33022
33293
|
}, 1000 + positiveValue * 0.1);
|
|
33023
33294
|
}
|
|
33024
33295
|
} else {
|
|
@@ -33039,10 +33310,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33039
33310
|
var hasNextCached = getHasNextCached();
|
|
33040
33311
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33041
33312
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33042
|
-
|
|
33313
|
+
loadingRef.current = true;
|
|
33043
33314
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33044
33315
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33045
|
-
|
|
33316
|
+
loadingRef.current = true;
|
|
33046
33317
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33047
33318
|
}
|
|
33048
33319
|
}
|
|
@@ -33073,39 +33344,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33073
33344
|
setIsDragging(false);
|
|
33074
33345
|
}
|
|
33075
33346
|
};
|
|
33347
|
+
var readDroppedFiles = function readDroppedFiles(e) {
|
|
33348
|
+
return new Promise(function (resolve) {
|
|
33349
|
+
var fileList = Object.values(e.dataTransfer.files);
|
|
33350
|
+
var attachmentsFiles = [];
|
|
33351
|
+
var readFiles = 0;
|
|
33352
|
+
var errorCount = 0;
|
|
33353
|
+
fileList.forEach(function (attachment) {
|
|
33354
|
+
var fileReader = new FileReader();
|
|
33355
|
+
fileReader.onload = function (event) {
|
|
33356
|
+
var file = event.target.result;
|
|
33357
|
+
attachmentsFiles.push({
|
|
33358
|
+
name: attachment.name,
|
|
33359
|
+
data: file,
|
|
33360
|
+
type: attachment.type
|
|
33361
|
+
});
|
|
33362
|
+
readFiles++;
|
|
33363
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33364
|
+
resolve(attachmentsFiles);
|
|
33365
|
+
}
|
|
33366
|
+
};
|
|
33367
|
+
fileReader.onerror = function () {
|
|
33368
|
+
errorCount++;
|
|
33369
|
+
if (readFiles + errorCount === fileList.length) {
|
|
33370
|
+
resolve(attachmentsFiles);
|
|
33371
|
+
}
|
|
33372
|
+
};
|
|
33373
|
+
fileReader.readAsDataURL(attachment);
|
|
33374
|
+
});
|
|
33375
|
+
});
|
|
33376
|
+
};
|
|
33076
33377
|
var handleDropFile = function handleDropFile(e) {
|
|
33077
33378
|
e.preventDefault();
|
|
33078
33379
|
e.stopPropagation();
|
|
33079
33380
|
setIsDragging(false);
|
|
33080
33381
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33081
|
-
|
|
33082
|
-
new Promise(function (resolve) {
|
|
33083
|
-
var attachmentsFiles = [];
|
|
33084
|
-
var readFiles = 0;
|
|
33085
|
-
var errorCount = 0;
|
|
33086
|
-
fileList.forEach(function (attachment) {
|
|
33087
|
-
var fileReader = new FileReader();
|
|
33088
|
-
fileReader.onload = function (event) {
|
|
33089
|
-
var file = event.target.result;
|
|
33090
|
-
attachmentsFiles.push({
|
|
33091
|
-
name: attachment.name,
|
|
33092
|
-
data: file,
|
|
33093
|
-
type: attachment.type
|
|
33094
|
-
});
|
|
33095
|
-
readFiles++;
|
|
33096
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33097
|
-
resolve(attachmentsFiles);
|
|
33098
|
-
}
|
|
33099
|
-
};
|
|
33100
|
-
fileReader.onerror = function () {
|
|
33101
|
-
errorCount++;
|
|
33102
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33103
|
-
resolve(attachmentsFiles);
|
|
33104
|
-
}
|
|
33105
|
-
};
|
|
33106
|
-
fileReader.readAsDataURL(attachment);
|
|
33107
|
-
});
|
|
33108
|
-
}).then(function (result) {
|
|
33382
|
+
readDroppedFiles(e).then(function (result) {
|
|
33109
33383
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33110
33384
|
})["catch"](function (error) {
|
|
33111
33385
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33118,34 +33392,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33118
33392
|
e.stopPropagation();
|
|
33119
33393
|
setIsDragging(false);
|
|
33120
33394
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33121
|
-
|
|
33122
|
-
new Promise(function (resolve) {
|
|
33123
|
-
var attachmentsFiles = [];
|
|
33124
|
-
var readFiles = 0;
|
|
33125
|
-
var errorCount = 0;
|
|
33126
|
-
fileList.forEach(function (attachment) {
|
|
33127
|
-
var fileReader = new FileReader();
|
|
33128
|
-
fileReader.onload = function (event) {
|
|
33129
|
-
var file = event.target.result;
|
|
33130
|
-
attachmentsFiles.push({
|
|
33131
|
-
name: attachment.name,
|
|
33132
|
-
data: file,
|
|
33133
|
-
type: attachment.type
|
|
33134
|
-
});
|
|
33135
|
-
readFiles++;
|
|
33136
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33137
|
-
resolve(attachmentsFiles);
|
|
33138
|
-
}
|
|
33139
|
-
};
|
|
33140
|
-
fileReader.onerror = function () {
|
|
33141
|
-
errorCount++;
|
|
33142
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33143
|
-
resolve(attachmentsFiles);
|
|
33144
|
-
}
|
|
33145
|
-
};
|
|
33146
|
-
fileReader.readAsDataURL(attachment);
|
|
33147
|
-
});
|
|
33148
|
-
}).then(function (result) {
|
|
33395
|
+
readDroppedFiles(e).then(function (result) {
|
|
33149
33396
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33150
33397
|
})["catch"](function (error) {
|
|
33151
33398
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33157,21 +33404,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33157
33404
|
var _messages, _channel$lastMessage2;
|
|
33158
33405
|
if (messages.length > 0 && ((_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id) === ((_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id) && scrollRef.current && scrollRef.current.scrollTop > -50 && !showScrollToNewMessageButton) {
|
|
33159
33406
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33160
|
-
|
|
33407
|
+
prevDisableRef.current = false;
|
|
33161
33408
|
}
|
|
33162
33409
|
}, [messages, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, scrollRef === null || scrollRef === void 0 ? void 0 : (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollTop, showScrollToNewMessageButton]);
|
|
33163
33410
|
React.useEffect(function () {
|
|
33164
33411
|
if (scrollToRepliedMessage) {
|
|
33165
|
-
|
|
33412
|
+
loadingRef.current = false;
|
|
33166
33413
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33167
33414
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33168
33415
|
if (repliedMessage) {
|
|
33169
33416
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33170
33417
|
scrollRef.current.scrollTo({
|
|
33171
33418
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33172
|
-
behavior:
|
|
33419
|
+
behavior: scrollToMessageBehavior
|
|
33173
33420
|
});
|
|
33174
|
-
scrollRef.current.style.scrollBehavior =
|
|
33421
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33175
33422
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33176
33423
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33177
33424
|
}
|
|
@@ -33181,9 +33428,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33181
33428
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33182
33429
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33183
33430
|
}
|
|
33184
|
-
|
|
33431
|
+
prevDisableRef.current = false;
|
|
33185
33432
|
setScrollToReply(null);
|
|
33186
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33433
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33187
33434
|
}, 1000 + positiveValue * 0.1);
|
|
33188
33435
|
}
|
|
33189
33436
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33199,15 +33446,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33199
33446
|
});
|
|
33200
33447
|
}
|
|
33201
33448
|
} else {
|
|
33202
|
-
|
|
33203
|
-
|
|
33449
|
+
nextDisableRef.current = true;
|
|
33450
|
+
prevDisableRef.current = true;
|
|
33204
33451
|
scrollRef.current.scrollTo({
|
|
33205
33452
|
top: 0,
|
|
33206
33453
|
behavior: 'smooth'
|
|
33207
33454
|
});
|
|
33208
33455
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33209
33456
|
setTimeout(function () {
|
|
33210
|
-
|
|
33457
|
+
prevDisableRef.current = false;
|
|
33211
33458
|
}, 800);
|
|
33212
33459
|
}
|
|
33213
33460
|
}
|
|
@@ -33225,11 +33472,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33225
33472
|
React.useEffect(function () {
|
|
33226
33473
|
setHasNextCached(false);
|
|
33227
33474
|
setHasPrevCached(false);
|
|
33475
|
+
messagesIndexMapRef.current = {};
|
|
33476
|
+
loadFromServerRef.current = false;
|
|
33477
|
+
loadDirectionRef.current = '';
|
|
33478
|
+
nextDisableRef.current = false;
|
|
33479
|
+
prevDisableRef.current = false;
|
|
33480
|
+
shouldLoadMessagesRef.current = '';
|
|
33481
|
+
loadingRef.current = false;
|
|
33228
33482
|
if (channel.backToLinkedChannel) {
|
|
33229
33483
|
var visibleMessages = getVisibleMessagesMap();
|
|
33230
33484
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33231
33485
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33232
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33486
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33233
33487
|
setUnreadMessageId(messageId);
|
|
33234
33488
|
} else {
|
|
33235
33489
|
if (!channel.isLinkedChannel) {
|
|
@@ -33252,9 +33506,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33252
33506
|
}
|
|
33253
33507
|
setPreviousScrollTop(0);
|
|
33254
33508
|
setShouldPreserveScroll(false);
|
|
33255
|
-
|
|
33256
|
-
|
|
33257
|
-
|
|
33509
|
+
nextDisableRef.current = false;
|
|
33510
|
+
prevDisableRef.current = false;
|
|
33511
|
+
scrollToBottomRef.current = true;
|
|
33258
33512
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33259
33513
|
}, [channel.id]);
|
|
33260
33514
|
React.useEffect(function () {
|
|
@@ -33269,7 +33523,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33269
33523
|
setUnreadMessageId('');
|
|
33270
33524
|
}
|
|
33271
33525
|
}
|
|
33272
|
-
}, [messages]);
|
|
33526
|
+
}, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
|
|
33273
33527
|
React.useEffect(function () {
|
|
33274
33528
|
if (scrollRef.current) {
|
|
33275
33529
|
var isAtBottom = scrollRef.current.scrollTop > -50;
|
|
@@ -33278,35 +33532,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33278
33532
|
setShouldPreserveScroll(true);
|
|
33279
33533
|
}
|
|
33280
33534
|
}
|
|
33281
|
-
if (
|
|
33282
|
-
if (
|
|
33535
|
+
if (loadingRef.current) {
|
|
33536
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33283
33537
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33284
33538
|
if (lastVisibleMessage) {
|
|
33285
33539
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33286
33540
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33287
33541
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33288
33542
|
}
|
|
33289
|
-
if (
|
|
33290
|
-
setTimeout(function () {
|
|
33291
|
-
|
|
33292
|
-
|
|
33293
|
-
|
|
33294
|
-
|
|
33543
|
+
if (loadFromServerRef.current) {
|
|
33544
|
+
var timeout = setTimeout(function () {
|
|
33545
|
+
loadingRef.current = false;
|
|
33546
|
+
loadFromServerRef.current = false;
|
|
33547
|
+
nextDisableRef.current = false;
|
|
33548
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33549
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33295
33550
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33296
33551
|
}
|
|
33297
|
-
if (
|
|
33552
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33298
33553
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33299
33554
|
}
|
|
33300
33555
|
}, 50);
|
|
33556
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33557
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33558
|
+
}
|
|
33559
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33301
33560
|
} else {
|
|
33302
|
-
|
|
33303
|
-
if (
|
|
33561
|
+
loadingRef.current = false;
|
|
33562
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33304
33563
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33305
|
-
|
|
33564
|
+
shouldLoadMessagesRef.current = '';
|
|
33306
33565
|
}
|
|
33307
|
-
if (
|
|
33566
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33308
33567
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33309
|
-
|
|
33568
|
+
shouldLoadMessagesRef.current = '';
|
|
33310
33569
|
}
|
|
33311
33570
|
}
|
|
33312
33571
|
} else {
|
|
@@ -33316,22 +33575,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33316
33575
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33317
33576
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33318
33577
|
}
|
|
33319
|
-
|
|
33320
|
-
|
|
33321
|
-
if (
|
|
33578
|
+
loadingRef.current = false;
|
|
33579
|
+
prevDisableRef.current = false;
|
|
33580
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33322
33581
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33323
|
-
|
|
33582
|
+
shouldLoadMessagesRef.current = '';
|
|
33324
33583
|
}
|
|
33325
|
-
if (
|
|
33584
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33326
33585
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33327
|
-
|
|
33586
|
+
shouldLoadMessagesRef.current = '';
|
|
33328
33587
|
}
|
|
33329
33588
|
}
|
|
33330
33589
|
}
|
|
33331
33590
|
renderTopDate();
|
|
33332
|
-
if (
|
|
33333
|
-
|
|
33334
|
-
|
|
33591
|
+
if (scrollToBottomRef.current) {
|
|
33592
|
+
if (channel.backToLinkedChannel) {
|
|
33593
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33594
|
+
} else {
|
|
33595
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33596
|
+
}
|
|
33597
|
+
scrollToBottomRef.current = false;
|
|
33335
33598
|
}
|
|
33336
33599
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33337
33600
|
requestAnimationFrame(function () {
|
|
@@ -33344,13 +33607,43 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33344
33607
|
setPreviousScrollTop(0);
|
|
33345
33608
|
});
|
|
33346
33609
|
}
|
|
33610
|
+
return function () {
|
|
33611
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33612
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33613
|
+
}
|
|
33614
|
+
};
|
|
33347
33615
|
}, [messages]);
|
|
33616
|
+
React.useEffect(function () {
|
|
33617
|
+
if (messagesLoading === LOADING_STATE.LOADED) {
|
|
33618
|
+
var timeout = setTimeout(function () {
|
|
33619
|
+
loadingRef.current = false;
|
|
33620
|
+
loadFromServerRef.current = false;
|
|
33621
|
+
nextDisableRef.current = false;
|
|
33622
|
+
var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
|
|
33623
|
+
if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
|
|
33624
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33625
|
+
}
|
|
33626
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33627
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33628
|
+
}
|
|
33629
|
+
}, 50);
|
|
33630
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33631
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33632
|
+
}
|
|
33633
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33634
|
+
}
|
|
33635
|
+
return function () {
|
|
33636
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33637
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33638
|
+
}
|
|
33639
|
+
};
|
|
33640
|
+
}, [messagesLoading, messages, lastVisibleMessageId]);
|
|
33348
33641
|
React.useEffect(function () {
|
|
33349
33642
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33350
33643
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33351
|
-
|
|
33352
|
-
|
|
33353
|
-
|
|
33644
|
+
loadingRef.current = false;
|
|
33645
|
+
prevDisableRef.current = false;
|
|
33646
|
+
nextDisableRef.current = false;
|
|
33354
33647
|
clearMessagesMap();
|
|
33355
33648
|
removeAllMessages();
|
|
33356
33649
|
if (channel.id) {
|
|
@@ -33359,7 +33652,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33359
33652
|
}
|
|
33360
33653
|
}, [connectionStatus]);
|
|
33361
33654
|
React.useEffect(function () {
|
|
33362
|
-
|
|
33655
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33656
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33363
33657
|
if (scrollRef.current) {
|
|
33364
33658
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33365
33659
|
}
|
|
@@ -33372,7 +33666,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33372
33666
|
setUnreadScrollTo(false);
|
|
33373
33667
|
}
|
|
33374
33668
|
}
|
|
33375
|
-
});
|
|
33669
|
+
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
33670
|
+
React.useEffect(function () {
|
|
33671
|
+
return function () {
|
|
33672
|
+
if (hideTopDateTimeout.current) {
|
|
33673
|
+
clearTimeout(hideTopDateTimeout.current);
|
|
33674
|
+
}
|
|
33675
|
+
};
|
|
33676
|
+
}, []);
|
|
33376
33677
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33377
33678
|
id: 'draggingContainer',
|
|
33378
33679
|
draggable: true,
|
|
@@ -33415,14 +33716,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33415
33716
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33416
33717
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33417
33718
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33418
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33419
|
-
ref: messageTopDateRef
|
|
33420
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33719
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33421
33720
|
id: 'scrollableDiv',
|
|
33422
33721
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33423
33722
|
ref: scrollRef,
|
|
33424
33723
|
stopScrolling: stopScrolling,
|
|
33425
|
-
onScroll:
|
|
33724
|
+
onScroll: onScroll,
|
|
33426
33725
|
onMouseEnter: function onMouseEnter() {
|
|
33427
33726
|
return setIsScrolling(true);
|
|
33428
33727
|
},
|
|
@@ -33441,8 +33740,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33441
33740
|
var prevMessage = messages[index - 1];
|
|
33442
33741
|
var nextMessage = messages[index + 1];
|
|
33443
33742
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33444
|
-
|
|
33445
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment,
|
|
33743
|
+
messagesIndexMapRef.current[message.id] = index;
|
|
33744
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
|
33745
|
+
key: message.id || message.tid
|
|
33746
|
+
}, /*#__PURE__*/React__default.createElement(CreateMessageDateDivider, {
|
|
33446
33747
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33447
33748
|
theme: theme,
|
|
33448
33749
|
lastIndex: false,
|
|
@@ -37381,7 +37682,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
|
|
|
37381
37682
|
if (attachments.length) {
|
|
37382
37683
|
var videoAttachment = false;
|
|
37383
37684
|
attachments.forEach(function (att) {
|
|
37384
|
-
if (att.type === 'video' || att.data.type.split('/')[0] === 'video') {
|
|
37685
|
+
if ((att.type === 'video' || att.data.type.split('/')[0] === 'video') && att.type !== 'file') {
|
|
37385
37686
|
videoAttachment = true;
|
|
37386
37687
|
if (!readyVideoAttachments[att.tid]) {
|
|
37387
37688
|
setSendMessageIsActive(false);
|
|
@@ -40518,7 +40819,7 @@ var Details = function Details(_ref) {
|
|
|
40518
40819
|
color: textSecondary,
|
|
40519
40820
|
fontSize: channelMembersFontSize,
|
|
40520
40821
|
lineHeight: channelMembersLineHeight
|
|
40521
|
-
}, showPhoneNumber ? "+" + (directChannelUser === null || directChannelUser === void 0 ? void 0 : directChannelUser.id) : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
|
|
40822
|
+
}, showPhoneNumber && directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id ? "+" + (directChannelUser === null || directChannelUser === void 0 ? void 0 : directChannelUser.id) : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
|
|
40522
40823
|
color: textSecondary,
|
|
40523
40824
|
fontSize: channelMembersFontSize,
|
|
40524
40825
|
lineHeight: channelMembersLineHeight
|
|
@@ -40972,10 +41273,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
|
|
|
40972
41273
|
};
|
|
40973
41274
|
var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
|
|
40974
41275
|
try {
|
|
40975
|
-
dispatch(scrollToNewMessageAC(true, false, false));
|
|
40976
41276
|
if (messages.findIndex(function (msg) {
|
|
40977
41277
|
return msg.id === messageId;
|
|
40978
41278
|
}) >= 10) {
|
|
41279
|
+
dispatch(scrollToNewMessageAC(true, false, false));
|
|
40979
41280
|
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
40980
41281
|
var repliedMessage = document.getElementById(messageId);
|
|
40981
41282
|
if (repliedMessage) {
|