sceyt-chat-react-uikit 1.7.1-beta.8 → 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 +718 -413
- package/index.modern.js +718 -413
- 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) {
|
|
@@ -15182,9 +15186,8 @@ function searchChannels(action) {
|
|
|
15182
15186
|
handleChannels = function handleChannels(channels) {
|
|
15183
15187
|
channels.forEach(function (channel) {
|
|
15184
15188
|
if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
|
|
15185
|
-
var _channel$metadata;
|
|
15186
15189
|
channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
|
|
15187
|
-
var isSelfChannel =
|
|
15190
|
+
var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === SceytChatClient.user.id;
|
|
15188
15191
|
var directChannelUser = isSelfChannel ? SceytChatClient.user : channel.members.find(function (member) {
|
|
15189
15192
|
return member.id !== SceytChatClient.user.id;
|
|
15190
15193
|
});
|
|
@@ -15302,9 +15305,8 @@ function getChannelsForForward() {
|
|
|
15302
15305
|
return effects.put(channelHasNextAC(channelsData.hasNext, true));
|
|
15303
15306
|
case 4:
|
|
15304
15307
|
channelsToAdd = channelsData.channels.filter(function (channel) {
|
|
15305
|
-
var _channel$metadata2;
|
|
15306
15308
|
channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
|
|
15307
|
-
var isSelfChannel =
|
|
15309
|
+
var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === _SceytChatClient.user.id;
|
|
15308
15310
|
return channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? channel.userRole === 'admin' || channel.userRole === 'owner' : channel.type === DEFAULT_CHANNEL_TYPE.DIRECT ? isSelfChannel || channel.members.find(function (member) {
|
|
15309
15311
|
return member.id && member.id !== _SceytChatClient.user.id;
|
|
15310
15312
|
}) : true;
|
|
@@ -15371,9 +15373,8 @@ function searchChannelsForForward(action) {
|
|
|
15371
15373
|
handleChannels = function handleChannels(channels) {
|
|
15372
15374
|
channels.forEach(function (channel) {
|
|
15373
15375
|
if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
|
|
15374
|
-
var _channel$metadata3;
|
|
15375
15376
|
channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
|
|
15376
|
-
var isSelfChannel =
|
|
15377
|
+
var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === _SceytChatClient2.user.id;
|
|
15377
15378
|
var directChannelUser = isSelfChannel ? _SceytChatClient2.user : channel.members.find(function (member) {
|
|
15378
15379
|
return member.id !== _SceytChatClient2.user.id;
|
|
15379
15380
|
});
|
|
@@ -17113,6 +17114,9 @@ var scrollToMessageSelector = function scrollToMessageSelector(store) {
|
|
|
17113
17114
|
var scrollToMessageHighlightSelector = function scrollToMessageHighlightSelector(store) {
|
|
17114
17115
|
return store.MessageReducer.scrollToMessageHighlight;
|
|
17115
17116
|
};
|
|
17117
|
+
var scrollToMessageBehaviorSelector = function scrollToMessageBehaviorSelector(store) {
|
|
17118
|
+
return store.MessageReducer.scrollToMessageBehavior;
|
|
17119
|
+
};
|
|
17116
17120
|
var reactionsListSelector = function reactionsListSelector(store) {
|
|
17117
17121
|
return store.MessageReducer.reactionsList;
|
|
17118
17122
|
};
|
|
@@ -18506,7 +18510,7 @@ function editMessage(action) {
|
|
|
18506
18510
|
}, _marked6$1, null, [[0, 5]]);
|
|
18507
18511
|
}
|
|
18508
18512
|
function getMessagesQuery(action) {
|
|
18509
|
-
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;
|
|
18510
18514
|
return _regenerator().w(function (_context9) {
|
|
18511
18515
|
while (1) switch (_context9.p = _context9.n) {
|
|
18512
18516
|
case 0:
|
|
@@ -18514,9 +18518,9 @@ function getMessagesQuery(action) {
|
|
|
18514
18518
|
_context9.n = 1;
|
|
18515
18519
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
18516
18520
|
case 1:
|
|
18517
|
-
_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;
|
|
18518
18522
|
if (!(channel.id && !channel.isMockChannel)) {
|
|
18519
|
-
_context9.n =
|
|
18523
|
+
_context9.n = 48;
|
|
18520
18524
|
break;
|
|
18521
18525
|
}
|
|
18522
18526
|
SceytChatClient = getClient();
|
|
@@ -18544,6 +18548,7 @@ function getMessagesQuery(action) {
|
|
|
18544
18548
|
break;
|
|
18545
18549
|
}
|
|
18546
18550
|
setHasPrevCached(false);
|
|
18551
|
+
setMessagesToMap(channel.id, []);
|
|
18547
18552
|
setAllMessages([]);
|
|
18548
18553
|
_context9.n = 3;
|
|
18549
18554
|
return effects.call(messageQuery.loadPreviousMessageId, '0');
|
|
@@ -18600,13 +18605,13 @@ function getMessagesQuery(action) {
|
|
|
18600
18605
|
break;
|
|
18601
18606
|
}
|
|
18602
18607
|
_context9.n = 12;
|
|
18603
|
-
return effects.put(setScrollToMessagesAC(messageId, highlight));
|
|
18608
|
+
return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
|
|
18604
18609
|
case 12:
|
|
18605
|
-
_context9.n =
|
|
18610
|
+
_context9.n = 46;
|
|
18606
18611
|
break;
|
|
18607
18612
|
case 13:
|
|
18608
18613
|
if (!messageId) {
|
|
18609
|
-
_context9.n =
|
|
18614
|
+
_context9.n = 26;
|
|
18610
18615
|
break;
|
|
18611
18616
|
}
|
|
18612
18617
|
_allMessages = getAllMessages();
|
|
@@ -18615,7 +18620,7 @@ function getMessagesQuery(action) {
|
|
|
18615
18620
|
});
|
|
18616
18621
|
maxLengthPart = MESSAGES_MAX_LENGTH / 2;
|
|
18617
18622
|
if (!(messageIndex >= maxLengthPart)) {
|
|
18618
|
-
_context9.n =
|
|
18623
|
+
_context9.n = 16;
|
|
18619
18624
|
break;
|
|
18620
18625
|
}
|
|
18621
18626
|
result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
|
|
@@ -18624,151 +18629,160 @@ function getMessagesQuery(action) {
|
|
|
18624
18629
|
case 14:
|
|
18625
18630
|
setHasPrevCached(messageIndex > maxLengthPart);
|
|
18626
18631
|
setHasNextCached(_allMessages.length > maxLengthPart);
|
|
18632
|
+
_context9.n = 15;
|
|
18633
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18634
|
+
case 15:
|
|
18627
18635
|
_context9.n = 22;
|
|
18628
18636
|
break;
|
|
18629
|
-
case
|
|
18637
|
+
case 16:
|
|
18630
18638
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18631
18639
|
log.info('load by message id from server ...............', messageId);
|
|
18632
|
-
_context9.n =
|
|
18640
|
+
_context9.n = 17;
|
|
18633
18641
|
return effects.call(messageQuery.loadNearMessageId, messageId);
|
|
18634
|
-
case
|
|
18642
|
+
case 17:
|
|
18635
18643
|
result = _context9.v;
|
|
18636
18644
|
if (!(result.messages.length === 50)) {
|
|
18637
|
-
_context9.n =
|
|
18645
|
+
_context9.n = 20;
|
|
18638
18646
|
break;
|
|
18639
18647
|
}
|
|
18640
|
-
messageQuery.limit =
|
|
18641
|
-
_context9.n =
|
|
18648
|
+
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18649
|
+
_context9.n = 18;
|
|
18642
18650
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18643
|
-
case
|
|
18651
|
+
case 18:
|
|
18644
18652
|
_secondResult = _context9.v;
|
|
18645
18653
|
messageQuery.reverse = false;
|
|
18646
|
-
_context9.n =
|
|
18654
|
+
_context9.n = 19;
|
|
18647
18655
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18648
|
-
case
|
|
18656
|
+
case 19:
|
|
18649
18657
|
thirdResult = _context9.v;
|
|
18650
18658
|
result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
|
|
18651
18659
|
result.hasNext = _secondResult.hasNext;
|
|
18652
18660
|
messageQuery.reverse = true;
|
|
18653
|
-
case 19:
|
|
18654
|
-
log.info('result from server ....... ', result);
|
|
18655
18661
|
_context9.n = 20;
|
|
18656
|
-
return effects.put(
|
|
18662
|
+
return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
|
|
18657
18663
|
case 20:
|
|
18664
|
+
log.info('result from server ....... ', result);
|
|
18658
18665
|
_context9.n = 21;
|
|
18659
18666
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
18660
18667
|
case 21:
|
|
18668
|
+
setMessagesToMap(channel.id, result.messages);
|
|
18661
18669
|
setAllMessages([].concat(result.messages));
|
|
18662
18670
|
setHasPrevCached(false);
|
|
18663
18671
|
setHasNextCached(false);
|
|
18664
18672
|
case 22:
|
|
18665
18673
|
_context9.n = 23;
|
|
18666
|
-
return effects.put(
|
|
18674
|
+
return effects.put(setMessagesHasNextAC(true));
|
|
18667
18675
|
case 23:
|
|
18668
18676
|
_context9.n = 24;
|
|
18669
|
-
return effects.put(
|
|
18677
|
+
return effects.put(setScrollToMessagesAC(messageId, true, behavior));
|
|
18670
18678
|
case 24:
|
|
18671
|
-
_context9.n =
|
|
18672
|
-
|
|
18679
|
+
_context9.n = 25;
|
|
18680
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18673
18681
|
case 25:
|
|
18682
|
+
_context9.n = 46;
|
|
18683
|
+
break;
|
|
18684
|
+
case 26:
|
|
18674
18685
|
if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
|
|
18675
|
-
_context9.n =
|
|
18686
|
+
_context9.n = 39;
|
|
18676
18687
|
break;
|
|
18677
18688
|
}
|
|
18689
|
+
setMessagesToMap(channel.id, []);
|
|
18678
18690
|
setAllMessages([]);
|
|
18679
18691
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
18680
18692
|
if (!Number(channel.lastDisplayedMessageId)) {
|
|
18681
|
-
_context9.n =
|
|
18693
|
+
_context9.n = 32;
|
|
18682
18694
|
break;
|
|
18683
18695
|
}
|
|
18684
|
-
_context9.n =
|
|
18696
|
+
_context9.n = 27;
|
|
18685
18697
|
return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
|
|
18686
|
-
case
|
|
18698
|
+
case 27:
|
|
18687
18699
|
result = _context9.v;
|
|
18688
18700
|
if (!(result.messages.length === 50)) {
|
|
18689
|
-
_context9.n =
|
|
18701
|
+
_context9.n = 31;
|
|
18690
18702
|
break;
|
|
18691
18703
|
}
|
|
18692
18704
|
messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
|
|
18693
|
-
_context9.n =
|
|
18705
|
+
_context9.n = 28;
|
|
18694
18706
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18695
|
-
case
|
|
18707
|
+
case 28:
|
|
18696
18708
|
_secondResult2 = _context9.v;
|
|
18697
18709
|
if (!(channel.newMessageCount > 25)) {
|
|
18698
|
-
_context9.n =
|
|
18710
|
+
_context9.n = 30;
|
|
18699
18711
|
break;
|
|
18700
18712
|
}
|
|
18701
18713
|
messageQuery.reverse = false;
|
|
18702
|
-
_context9.n =
|
|
18714
|
+
_context9.n = 29;
|
|
18703
18715
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
18704
|
-
case
|
|
18716
|
+
case 29:
|
|
18705
18717
|
_thirdResult = _context9.v;
|
|
18706
18718
|
result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
|
|
18707
18719
|
messageQuery.reverse = true;
|
|
18708
|
-
_context9.n =
|
|
18720
|
+
_context9.n = 31;
|
|
18709
18721
|
break;
|
|
18710
|
-
case 29:
|
|
18711
|
-
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18712
18722
|
case 30:
|
|
18713
|
-
|
|
18714
|
-
break;
|
|
18723
|
+
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
18715
18724
|
case 31:
|
|
18716
|
-
_context9.n =
|
|
18717
|
-
|
|
18725
|
+
_context9.n = 35;
|
|
18726
|
+
break;
|
|
18718
18727
|
case 32:
|
|
18728
|
+
_context9.n = 33;
|
|
18729
|
+
return effects.call(messageQuery.loadPrevious);
|
|
18730
|
+
case 33:
|
|
18719
18731
|
result = _context9.v;
|
|
18720
18732
|
if (!(result.messages.length === 50)) {
|
|
18721
|
-
_context9.n =
|
|
18733
|
+
_context9.n = 35;
|
|
18722
18734
|
break;
|
|
18723
18735
|
}
|
|
18724
18736
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18725
|
-
_context9.n =
|
|
18737
|
+
_context9.n = 34;
|
|
18726
18738
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18727
|
-
case
|
|
18739
|
+
case 34:
|
|
18728
18740
|
_secondResult3 = _context9.v;
|
|
18729
18741
|
result.messages = [].concat(_secondResult3.messages, result.messages);
|
|
18730
18742
|
result.hasNext = _secondResult3.hasNext;
|
|
18731
|
-
case 34:
|
|
18732
|
-
setMessagesToMap(channel.id, result.messages);
|
|
18733
|
-
_context9.n = 35;
|
|
18734
|
-
return effects.put(setMessagesHasPrevAC(true));
|
|
18735
18743
|
case 35:
|
|
18736
18744
|
_context9.n = 36;
|
|
18737
|
-
return effects.put(
|
|
18745
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
18738
18746
|
case 36:
|
|
18739
|
-
setAllMessages([].concat(result.messages));
|
|
18740
18747
|
_context9.n = 37;
|
|
18741
|
-
return effects.put(
|
|
18748
|
+
return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
|
|
18742
18749
|
case 37:
|
|
18743
|
-
|
|
18744
|
-
|
|
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))));
|
|
18745
18754
|
case 38:
|
|
18755
|
+
_context9.n = 46;
|
|
18756
|
+
break;
|
|
18757
|
+
case 39:
|
|
18758
|
+
setMessagesToMap(channel.id, []);
|
|
18746
18759
|
setAllMessages([]);
|
|
18747
18760
|
if (!(cachedMessages && cachedMessages.length)) {
|
|
18748
|
-
_context9.n =
|
|
18761
|
+
_context9.n = 40;
|
|
18749
18762
|
break;
|
|
18750
18763
|
}
|
|
18764
|
+
setMessagesToMap(channel.id, []);
|
|
18751
18765
|
setAllMessages([].concat(cachedMessages));
|
|
18752
|
-
_context9.n =
|
|
18766
|
+
_context9.n = 40;
|
|
18753
18767
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
|
|
18754
|
-
case
|
|
18768
|
+
case 40:
|
|
18755
18769
|
log.info('load message from server');
|
|
18756
|
-
_context9.n =
|
|
18770
|
+
_context9.n = 41;
|
|
18757
18771
|
return effects.call(messageQuery.loadPrevious);
|
|
18758
|
-
case
|
|
18772
|
+
case 41:
|
|
18759
18773
|
result = _context9.v;
|
|
18760
18774
|
if (!(result.messages.length === 50)) {
|
|
18761
|
-
_context9.n =
|
|
18775
|
+
_context9.n = 43;
|
|
18762
18776
|
break;
|
|
18763
18777
|
}
|
|
18764
18778
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
18765
|
-
_context9.n =
|
|
18779
|
+
_context9.n = 42;
|
|
18766
18780
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
18767
|
-
case
|
|
18781
|
+
case 42:
|
|
18768
18782
|
_secondResult4 = _context9.v;
|
|
18769
18783
|
result.messages = [].concat(_secondResult4.messages, result.messages);
|
|
18770
18784
|
result.hasNext = _secondResult4.hasNext;
|
|
18771
|
-
case
|
|
18785
|
+
case 43:
|
|
18772
18786
|
updatedMessages = [];
|
|
18773
18787
|
result.messages.forEach(function (msg) {
|
|
18774
18788
|
var updatedMessage = updateMessageOnMap(channel.id, {
|
|
@@ -18780,18 +18794,18 @@ function getMessagesQuery(action) {
|
|
|
18780
18794
|
});
|
|
18781
18795
|
setMessagesToMap(channel.id, updatedMessages);
|
|
18782
18796
|
setAllMessages([].concat(updatedMessages));
|
|
18783
|
-
_context9.n = 43;
|
|
18784
|
-
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18785
|
-
case 43:
|
|
18786
18797
|
_context9.n = 44;
|
|
18787
|
-
return effects.put(
|
|
18798
|
+
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
18788
18799
|
case 44:
|
|
18789
18800
|
_context9.n = 45;
|
|
18790
|
-
return effects.put(
|
|
18801
|
+
return effects.put(setMessagesHasPrevAC(result.hasNext));
|
|
18791
18802
|
case 45:
|
|
18803
|
+
_context9.n = 46;
|
|
18804
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18805
|
+
case 46:
|
|
18792
18806
|
pendingMessages = getPendingMessages(channel.id);
|
|
18793
18807
|
if (!(pendingMessages && pendingMessages.length)) {
|
|
18794
|
-
_context9.n =
|
|
18808
|
+
_context9.n = 47;
|
|
18795
18809
|
break;
|
|
18796
18810
|
}
|
|
18797
18811
|
_messagesMap = {};
|
|
@@ -18801,38 +18815,38 @@ function getMessagesQuery(action) {
|
|
|
18801
18815
|
filteredPendingMessages = pendingMessages.filter(function (msg) {
|
|
18802
18816
|
return !_messagesMap[msg.tid || ''];
|
|
18803
18817
|
});
|
|
18804
|
-
_context9.n =
|
|
18818
|
+
_context9.n = 47;
|
|
18805
18819
|
return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
|
|
18806
|
-
case 46:
|
|
18807
|
-
_context9.n = 48;
|
|
18808
|
-
break;
|
|
18809
18820
|
case 47:
|
|
18821
|
+
_context9.n = 49;
|
|
18822
|
+
break;
|
|
18823
|
+
case 48:
|
|
18810
18824
|
if (!channel.isMockChannel) {
|
|
18811
|
-
_context9.n =
|
|
18825
|
+
_context9.n = 49;
|
|
18812
18826
|
break;
|
|
18813
18827
|
}
|
|
18814
|
-
_context9.n =
|
|
18828
|
+
_context9.n = 49;
|
|
18815
18829
|
return effects.put(setMessagesAC([]));
|
|
18816
|
-
case 48:
|
|
18817
|
-
_context9.n = 50;
|
|
18818
|
-
break;
|
|
18819
18830
|
case 49:
|
|
18820
|
-
_context9.
|
|
18821
|
-
|
|
18822
|
-
log.error('error in message query', _t9);
|
|
18831
|
+
_context9.n = 51;
|
|
18832
|
+
break;
|
|
18823
18833
|
case 50:
|
|
18824
18834
|
_context9.p = 50;
|
|
18825
|
-
|
|
18826
|
-
|
|
18835
|
+
_t9 = _context9.v;
|
|
18836
|
+
log.error('error in message query', _t9);
|
|
18827
18837
|
case 51:
|
|
18828
|
-
|
|
18838
|
+
_context9.p = 51;
|
|
18839
|
+
_context9.n = 52;
|
|
18840
|
+
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
18829
18841
|
case 52:
|
|
18842
|
+
return _context9.f(51);
|
|
18843
|
+
case 53:
|
|
18830
18844
|
return _context9.a(2);
|
|
18831
18845
|
}
|
|
18832
|
-
}, _marked7$1, null, [[0,
|
|
18846
|
+
}, _marked7$1, null, [[0, 50, 51, 53]]);
|
|
18833
18847
|
}
|
|
18834
18848
|
function getMessageQuery(action) {
|
|
18835
|
-
var payload, channelId, messageId, channel, messages, _t0;
|
|
18849
|
+
var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
|
|
18836
18850
|
return _regenerator().w(function (_context0) {
|
|
18837
18851
|
while (1) switch (_context0.p = _context0.n) {
|
|
18838
18852
|
case 0:
|
|
@@ -18840,34 +18854,53 @@ function getMessageQuery(action) {
|
|
|
18840
18854
|
payload = action.payload;
|
|
18841
18855
|
channelId = payload.channelId, messageId = payload.messageId;
|
|
18842
18856
|
_context0.n = 1;
|
|
18843
|
-
return effects.call(
|
|
18857
|
+
return effects.call(getChannelFromAllChannels, channelId);
|
|
18844
18858
|
case 1:
|
|
18845
18859
|
channel = _context0.v;
|
|
18846
|
-
|
|
18847
|
-
|
|
18860
|
+
if (channel) {
|
|
18861
|
+
_context0.n = 2;
|
|
18862
|
+
break;
|
|
18863
|
+
}
|
|
18864
|
+
return _context0.a(2);
|
|
18848
18865
|
case 2:
|
|
18849
|
-
messages = _context0.v;
|
|
18850
18866
|
_context0.n = 3;
|
|
18851
|
-
return effects.
|
|
18867
|
+
return effects.call(channel.getMessagesById, [messageId]);
|
|
18852
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:
|
|
18853
18878
|
updateMessageOnMap(channel.id, {
|
|
18854
18879
|
messageId: messageId,
|
|
18855
|
-
params:
|
|
18880
|
+
params: fetchedMessage
|
|
18856
18881
|
});
|
|
18857
|
-
updateMessageOnAllMessages(messageId,
|
|
18858
|
-
_context0.n =
|
|
18882
|
+
updateMessageOnAllMessages(messageId, fetchedMessage);
|
|
18883
|
+
_context0.n = 5;
|
|
18859
18884
|
return effects.put(setScrollToMessagesAC(messageId, false));
|
|
18860
|
-
case
|
|
18885
|
+
case 5:
|
|
18886
|
+
if (!(channel.lastMessage && channel.lastMessage.id === messageId)) {
|
|
18887
|
+
_context0.n = 6;
|
|
18888
|
+
break;
|
|
18889
|
+
}
|
|
18890
|
+
updateChannelLastMessageOnAllChannels(channel.id, fetchedMessage);
|
|
18861
18891
|
_context0.n = 6;
|
|
18892
|
+
return effects.put(updateChannelLastMessageAC(fetchedMessage, channel));
|
|
18893
|
+
case 6:
|
|
18894
|
+
_context0.n = 8;
|
|
18862
18895
|
break;
|
|
18863
|
-
case
|
|
18864
|
-
_context0.p =
|
|
18896
|
+
case 7:
|
|
18897
|
+
_context0.p = 7;
|
|
18865
18898
|
_t0 = _context0.v;
|
|
18866
18899
|
log.error('error in message query', _t0);
|
|
18867
|
-
case
|
|
18900
|
+
case 8:
|
|
18868
18901
|
return _context0.a(2);
|
|
18869
18902
|
}
|
|
18870
|
-
}, _marked8$1, null, [[0,
|
|
18903
|
+
}, _marked8$1, null, [[0, 7]]);
|
|
18871
18904
|
}
|
|
18872
18905
|
function loadMoreMessages(action) {
|
|
18873
18906
|
var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t1;
|
|
@@ -18956,25 +18989,38 @@ function loadMoreMessages(action) {
|
|
|
18956
18989
|
_context1.n = 11;
|
|
18957
18990
|
return effects.put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
|
|
18958
18991
|
case 11:
|
|
18959
|
-
_context1.n =
|
|
18992
|
+
_context1.n = 16;
|
|
18960
18993
|
break;
|
|
18961
18994
|
case 12:
|
|
18962
18995
|
_context1.n = 13;
|
|
18963
18996
|
return effects.put(addMessagesAC([], direction));
|
|
18964
18997
|
case 13:
|
|
18998
|
+
if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
|
|
18999
|
+
_context1.n = 15;
|
|
19000
|
+
break;
|
|
19001
|
+
}
|
|
18965
19002
|
_context1.n = 14;
|
|
18966
|
-
return effects.put(
|
|
19003
|
+
return effects.put(setMessagesHasNextAC(false));
|
|
18967
19004
|
case 14:
|
|
18968
19005
|
_context1.n = 16;
|
|
18969
19006
|
break;
|
|
18970
19007
|
case 15:
|
|
18971
|
-
_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;
|
|
18972
19018
|
_t1 = _context1.v;
|
|
18973
19019
|
log.error('error in load more messages', _t1);
|
|
18974
|
-
case
|
|
19020
|
+
case 19:
|
|
18975
19021
|
return _context1.a(2);
|
|
18976
19022
|
}
|
|
18977
|
-
}, _marked9$1, null, [[0,
|
|
19023
|
+
}, _marked9$1, null, [[0, 18]]);
|
|
18978
19024
|
}
|
|
18979
19025
|
function addReaction(action) {
|
|
18980
19026
|
var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
|
|
@@ -19398,7 +19444,7 @@ function MessageSaga() {
|
|
|
19398
19444
|
return effects.takeLatest(GET_MESSAGES, getMessagesQuery);
|
|
19399
19445
|
case 7:
|
|
19400
19446
|
_context18.n = 8;
|
|
19401
|
-
return effects.
|
|
19447
|
+
return effects.takeEvery(GET_MESSAGE, getMessageQuery);
|
|
19402
19448
|
case 8:
|
|
19403
19449
|
_context18.n = 9;
|
|
19404
19450
|
return effects.takeLatest(GET_MESSAGES_ATTACHMENTS, getMessageAttachments);
|
|
@@ -21003,6 +21049,50 @@ function SvgAvatar(props) {
|
|
|
21003
21049
|
})));
|
|
21004
21050
|
}
|
|
21005
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
|
+
|
|
21006
21096
|
var _templateObject$3, _templateObject2$3, _templateObject3$2, _templateObject4$2;
|
|
21007
21097
|
var Avatar = function Avatar(_ref) {
|
|
21008
21098
|
var image = _ref.image,
|
|
@@ -21019,6 +21109,9 @@ var Avatar = function Avatar(_ref) {
|
|
|
21019
21109
|
var theme = useSelector(themeSelector);
|
|
21020
21110
|
var _useColor = useColors(),
|
|
21021
21111
|
iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE];
|
|
21112
|
+
var _useState = React.useState(image || null),
|
|
21113
|
+
resolvedImageSrc = _useState[0],
|
|
21114
|
+
setResolvedImageSrc = _useState[1];
|
|
21022
21115
|
var isDeletedUserAvatar = !image && !name;
|
|
21023
21116
|
var avatarText = '';
|
|
21024
21117
|
if (!image && name) {
|
|
@@ -21035,11 +21128,68 @@ var Avatar = function Avatar(_ref) {
|
|
|
21035
21128
|
avatarText = _firstCharOfFirstWord ? String.fromCodePoint(_firstCharOfFirstWord) : '';
|
|
21036
21129
|
}
|
|
21037
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]);
|
|
21038
21188
|
return /*#__PURE__*/React__default.createElement(Container$1, {
|
|
21039
21189
|
border: border,
|
|
21040
21190
|
marginAuto: marginAuto,
|
|
21041
21191
|
size: size,
|
|
21042
|
-
isImage: !!(
|
|
21192
|
+
isImage: !!(resolvedImageSrc || setDefaultAvatar),
|
|
21043
21193
|
avatarName: name,
|
|
21044
21194
|
textSize: textSize,
|
|
21045
21195
|
onClick: handleAvatarClick,
|
|
@@ -21053,7 +21203,7 @@ var Avatar = function Avatar(_ref) {
|
|
|
21053
21203
|
}) : (/*#__PURE__*/React__default.createElement("span", null, avatarText)) : (/*#__PURE__*/React__default.createElement(AvatarImage, {
|
|
21054
21204
|
draggable: false,
|
|
21055
21205
|
showImage: true,
|
|
21056
|
-
src: image,
|
|
21206
|
+
src: resolvedImageSrc || image,
|
|
21057
21207
|
size: size,
|
|
21058
21208
|
alt: ''
|
|
21059
21209
|
})));
|
|
@@ -21144,7 +21294,6 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
|
|
|
21144
21294
|
}), channel.lastReactedMessage && '"')))));
|
|
21145
21295
|
};
|
|
21146
21296
|
var Channel = function Channel(_ref3) {
|
|
21147
|
-
var _channel$metadata;
|
|
21148
21297
|
var channel = _ref3.channel,
|
|
21149
21298
|
theme = _ref3.theme,
|
|
21150
21299
|
_ref3$showAvatar = _ref3.showAvatar,
|
|
@@ -21168,7 +21317,10 @@ var Channel = function Channel(_ref3) {
|
|
|
21168
21317
|
channelLastMessageTimeFontSize = _ref3.channelLastMessageTimeFontSize,
|
|
21169
21318
|
channelLastMessageHeight = _ref3.channelLastMessageHeight,
|
|
21170
21319
|
channelAvatarSize = _ref3.channelAvatarSize,
|
|
21171
|
-
channelAvatarTextSize = _ref3.channelAvatarTextSize
|
|
21320
|
+
channelAvatarTextSize = _ref3.channelAvatarTextSize,
|
|
21321
|
+
setSelectedChannel = _ref3.setSelectedChannel,
|
|
21322
|
+
getCustomLatestMessage = _ref3.getCustomLatestMessage,
|
|
21323
|
+
doNotShowMessageDeliveryTypes = _ref3.doNotShowMessageDeliveryTypes;
|
|
21172
21324
|
var _useColor = useColors(),
|
|
21173
21325
|
accentColor = _useColor[THEME_COLORS.ACCENT],
|
|
21174
21326
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
@@ -21189,7 +21341,7 @@ var Channel = function Channel(_ref3) {
|
|
|
21189
21341
|
var activeChannel = useSelector(activeChannelSelector) || {};
|
|
21190
21342
|
var channelDraftIsRemoved = useSelector(channelMessageDraftIsRemovedSelector);
|
|
21191
21343
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
21192
|
-
var isSelfChannel = isDirectChannel &&
|
|
21344
|
+
var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
|
|
21193
21345
|
var directChannelUser = isDirectChannel && channel.members.find(function (member) {
|
|
21194
21346
|
return member.id !== user.id;
|
|
21195
21347
|
});
|
|
@@ -21206,13 +21358,6 @@ var Channel = function Channel(_ref3) {
|
|
|
21206
21358
|
statusWidth = _useState3[0],
|
|
21207
21359
|
setStatusWidth = _useState3[1];
|
|
21208
21360
|
var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : '');
|
|
21209
|
-
var handleChangeActiveChannel = function handleChangeActiveChannel(chan) {
|
|
21210
|
-
if (activeChannel.id !== chan.id) {
|
|
21211
|
-
dispatch(sendTypingAC(false));
|
|
21212
|
-
dispatch(clearMessagesAC());
|
|
21213
|
-
dispatch(switchChannelActionAC(chan));
|
|
21214
|
-
}
|
|
21215
|
-
};
|
|
21216
21361
|
var messageAuthorRef = React.useRef(null);
|
|
21217
21362
|
var messageTimeAndStatusRef = React.useRef(null);
|
|
21218
21363
|
useUpdatePresence(channel, true);
|
|
@@ -21297,6 +21442,43 @@ var Channel = function Channel(_ref3) {
|
|
|
21297
21442
|
isDirectChannel: isDirectChannel
|
|
21298
21443
|
});
|
|
21299
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]);
|
|
21300
21482
|
return /*#__PURE__*/React__default.createElement(Container$2, {
|
|
21301
21483
|
theme: theme,
|
|
21302
21484
|
selectedChannel: channel.id === activeChannel.id,
|
|
@@ -21307,7 +21489,7 @@ var Channel = function Channel(_ref3) {
|
|
|
21307
21489
|
selectedChannelBorderRadius: selectedChannelBorderRadius,
|
|
21308
21490
|
channelsMargin: channelsMargin,
|
|
21309
21491
|
onClick: function onClick() {
|
|
21310
|
-
return
|
|
21492
|
+
return setSelectedChannel(channel);
|
|
21311
21493
|
},
|
|
21312
21494
|
hoverBackground: channelHoverBackground || backgroundHovered
|
|
21313
21495
|
}, showAvatar && (/*#__PURE__*/React__default.createElement(AvatarWrapper, null, /*#__PURE__*/React__default.createElement(Avatar, {
|
|
@@ -21333,7 +21515,23 @@ var Channel = function Channel(_ref3) {
|
|
|
21333
21515
|
avatarSize: channelAvatarSize
|
|
21334
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, {
|
|
21335
21517
|
color: notificationsIsMutedIconColor || iconInactive
|
|
21336
|
-
}, 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, {
|
|
21337
21535
|
color: textSecondary,
|
|
21338
21536
|
markedAsUnread: !!(channel.unread || channel.newMessageCount && channel.newMessageCount > 0),
|
|
21339
21537
|
unreadMentions: !!(channel.newMentionCount && channel.newMentionCount > 0),
|
|
@@ -21369,7 +21567,7 @@ var Channel = function Channel(_ref3) {
|
|
|
21369
21567
|
}, MessageText)))), /*#__PURE__*/React__default.createElement(ChannelStatus, {
|
|
21370
21568
|
color: iconInactive,
|
|
21371
21569
|
ref: messageTimeAndStatusRef
|
|
21372
|
-
}, 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({
|
|
21373
21571
|
messageStatus: lastMessage.deliveryStatus,
|
|
21374
21572
|
messageStatusDisplayingType: 'ticks',
|
|
21375
21573
|
readIconColor: accentColor,
|
|
@@ -21436,9 +21634,9 @@ var Container$2 = styled__default.div(_templateObject6$1 || (_templateObject6$1
|
|
|
21436
21634
|
return props.channelsMargin || '0 8px';
|
|
21437
21635
|
}, function (props) {
|
|
21438
21636
|
return props.selectedChannelBorderRadius || '12px';
|
|
21439
|
-
}, function (
|
|
21440
|
-
var selectedChannel =
|
|
21441
|
-
hoverBackground =
|
|
21637
|
+
}, function (_ref5) {
|
|
21638
|
+
var selectedChannel = _ref5.selectedChannel,
|
|
21639
|
+
hoverBackground = _ref5.hoverBackground;
|
|
21442
21640
|
return !selectedChannel && "\n background-color: " + hoverBackground + ";\n ";
|
|
21443
21641
|
}, UserStatus, function (props) {
|
|
21444
21642
|
return props.selectedChannel ? props.selectedBackgroundColor : props.hoverBackground;
|
|
@@ -21453,9 +21651,9 @@ var DraftMessageText = styled__default.span(_templateObject8$1 || (_templateObje
|
|
|
21453
21651
|
});
|
|
21454
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) {
|
|
21455
21653
|
return props.color;
|
|
21456
|
-
}, function (
|
|
21457
|
-
var typing =
|
|
21458
|
-
recording =
|
|
21654
|
+
}, function (_ref6) {
|
|
21655
|
+
var typing = _ref6.typing,
|
|
21656
|
+
recording = _ref6.recording;
|
|
21459
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 ";
|
|
21460
21658
|
});
|
|
21461
21659
|
var Points = styled__default.span(_templateObject0$1 || (_templateObject0$1 = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n color: ", ";\n font-style: normal;\n"])), function (props) {
|
|
@@ -21512,7 +21710,7 @@ var MessageTextContainer = styled__default.div(_templateObject20$1 || (_template
|
|
|
21512
21710
|
|
|
21513
21711
|
var _templateObject$5, _templateObject2$5;
|
|
21514
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) {
|
|
21515
|
-
return props.inline && 'calc(100% - 24px)';
|
|
21713
|
+
return props.width || props.inline && 'calc(100% - 24px)';
|
|
21516
21714
|
}, function (props) {
|
|
21517
21715
|
return !props.inline && '0 12px 16px';
|
|
21518
21716
|
}, ClearTypedText, function (props) {
|
|
@@ -21539,14 +21737,16 @@ var ChannelSearch = function ChannelSearch(_ref) {
|
|
|
21539
21737
|
borderRadius = _ref.borderRadius,
|
|
21540
21738
|
searchInputBackgroundColor = _ref.searchInputBackgroundColor,
|
|
21541
21739
|
searchInputTextColor = _ref.searchInputTextColor,
|
|
21542
|
-
fontSize = _ref.fontSize
|
|
21740
|
+
fontSize = _ref.fontSize,
|
|
21741
|
+
width = _ref.width;
|
|
21543
21742
|
var _useColor = useColors(),
|
|
21544
21743
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
21545
21744
|
surface1 = _useColor[THEME_COLORS.SURFACE_1],
|
|
21546
21745
|
iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
|
|
21547
21746
|
footnoteColor = _useColor[THEME_COLORS.TEXT_FOOTNOTE];
|
|
21548
21747
|
return /*#__PURE__*/React__default.createElement(SearchInputContainer, {
|
|
21549
|
-
inline: inline
|
|
21748
|
+
inline: inline,
|
|
21749
|
+
width: width
|
|
21550
21750
|
}, /*#__PURE__*/React__default.createElement(StyledSearchSvg, {
|
|
21551
21751
|
left: !inline ? '22px' : '',
|
|
21552
21752
|
color: iconInactive
|
|
@@ -23327,6 +23527,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23327
23527
|
searchInputTextColor = _ref.searchInputTextColor,
|
|
23328
23528
|
_ref$searchChannelsPo = _ref.searchChannelsPosition,
|
|
23329
23529
|
searchChannelsPosition = _ref$searchChannelsPo === void 0 ? 'bottom' : _ref$searchChannelsPo,
|
|
23530
|
+
channelSearchWidth = _ref.channelSearchWidth,
|
|
23330
23531
|
searchInputBorderRadius = _ref.searchInputBorderRadius,
|
|
23331
23532
|
selectedChannelBorderRadius = _ref.selectedChannelBorderRadius,
|
|
23332
23533
|
selectedChannelPaddings = _ref.selectedChannelPaddings,
|
|
@@ -23373,7 +23574,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23373
23574
|
channelAvatarTextSize = _ref.channelAvatarTextSize,
|
|
23374
23575
|
searchChannelInputFontSize = _ref.searchChannelInputFontSize,
|
|
23375
23576
|
searchedChannelsTitleFontSize = _ref.searchedChannelsTitleFontSize,
|
|
23376
|
-
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;
|
|
23377
23581
|
var _useColor = useColors(),
|
|
23378
23582
|
background = _useColor[THEME_COLORS.BACKGROUND],
|
|
23379
23583
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
@@ -23441,11 +23645,6 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23441
23645
|
handleLoadMoreChannels();
|
|
23442
23646
|
}
|
|
23443
23647
|
};
|
|
23444
|
-
var handleChangeActiveChannel = function handleChangeActiveChannel(chan) {
|
|
23445
|
-
if (activeChannel.id !== chan.id) {
|
|
23446
|
-
dispatch(switchChannelActionAC(chan));
|
|
23447
|
-
}
|
|
23448
|
-
};
|
|
23449
23648
|
var handleCrateChatWithContact = function handleCrateChatWithContact(contact) {
|
|
23450
23649
|
if (contact) {
|
|
23451
23650
|
var channelData = {
|
|
@@ -23601,6 +23800,13 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23601
23800
|
setListWidthIsSet(false);
|
|
23602
23801
|
}
|
|
23603
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
|
+
};
|
|
23604
23810
|
return /*#__PURE__*/React__default.createElement(Container$7, {
|
|
23605
23811
|
className: className,
|
|
23606
23812
|
withCustomList: !!List,
|
|
@@ -23614,6 +23820,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23614
23820
|
padding: searchChannelsPadding
|
|
23615
23821
|
}, Profile, showSearch && searchChannelsPosition === 'inline' ? (/*#__PURE__*/React__default.createElement(ChannelSearch, {
|
|
23616
23822
|
inline: true,
|
|
23823
|
+
width: channelSearchWidth,
|
|
23617
23824
|
borderRadius: searchInputBorderRadius,
|
|
23618
23825
|
searchValue: searchValue,
|
|
23619
23826
|
handleSearchValueChange: handleSearchValueChange,
|
|
@@ -23635,6 +23842,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23635
23842
|
})))), showSearch && searchChannelsPosition === 'bottom' && (/*#__PURE__*/React__default.createElement(ChannelSearch, {
|
|
23636
23843
|
searchValue: searchValue,
|
|
23637
23844
|
theme: theme,
|
|
23845
|
+
width: channelSearchWidth,
|
|
23638
23846
|
borderRadius: searchInputBorderRadius,
|
|
23639
23847
|
handleSearchValueChange: handleSearchValueChange,
|
|
23640
23848
|
getMyChannels: getMyChannels,
|
|
@@ -23645,13 +23853,13 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23645
23853
|
channels: channels,
|
|
23646
23854
|
searchedChannels: searchedChannels,
|
|
23647
23855
|
selectedChannel: activeChannel,
|
|
23648
|
-
setSelectedChannel:
|
|
23856
|
+
setSelectedChannel: setSelectedChannel,
|
|
23649
23857
|
loadMoreChannels: handleLoadMoreChannels,
|
|
23650
23858
|
searchValue: searchValue
|
|
23651
23859
|
}, !searchValue ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, channels.map(function (channel) {
|
|
23652
23860
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23653
23861
|
channel: channel,
|
|
23654
|
-
setSelectedChannel:
|
|
23862
|
+
setSelectedChannel: setSelectedChannel,
|
|
23655
23863
|
key: channel.id
|
|
23656
23864
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23657
23865
|
theme: theme,
|
|
@@ -23677,7 +23885,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23677
23885
|
avatarBorderRadius: avatarBorderRadius,
|
|
23678
23886
|
channel: channel,
|
|
23679
23887
|
key: channel.id,
|
|
23680
|
-
contactsMap: contactsMap
|
|
23888
|
+
contactsMap: contactsMap,
|
|
23889
|
+
setSelectedChannel: setSelectedChannel,
|
|
23890
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23891
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23681
23892
|
}));
|
|
23682
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, {
|
|
23683
23894
|
color: textSecondary,
|
|
@@ -23685,7 +23896,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23685
23896
|
}, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
|
|
23686
23897
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23687
23898
|
channel: channel,
|
|
23688
|
-
setSelectedChannel:
|
|
23899
|
+
setSelectedChannel: setSelectedChannel,
|
|
23689
23900
|
key: channel.id
|
|
23690
23901
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23691
23902
|
theme: theme,
|
|
@@ -23711,7 +23922,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23711
23922
|
avatarBorderRadius: avatarBorderRadius,
|
|
23712
23923
|
channel: channel,
|
|
23713
23924
|
key: channel.id,
|
|
23714
|
-
contactsMap: contactsMap
|
|
23925
|
+
contactsMap: contactsMap,
|
|
23926
|
+
setSelectedChannel: setSelectedChannel,
|
|
23927
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23928
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23715
23929
|
}));
|
|
23716
23930
|
}))), !!(searchedChannels.contacts && searchedChannels.contacts.length) && (/*#__PURE__*/React__default.createElement(GroupChannels, null, /*#__PURE__*/React__default.createElement(SearchedChannelsHeader, {
|
|
23717
23931
|
color: textSecondary,
|
|
@@ -23720,7 +23934,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23720
23934
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23721
23935
|
contact: contact,
|
|
23722
23936
|
createChatWithContact: handleCrateChatWithContact,
|
|
23723
|
-
setSelectedChannel:
|
|
23937
|
+
setSelectedChannel: setSelectedChannel,
|
|
23724
23938
|
key: contact.id
|
|
23725
23939
|
})) : (/*#__PURE__*/React__default.createElement(ContactItem, {
|
|
23726
23940
|
theme: theme,
|
|
@@ -23751,7 +23965,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23751
23965
|
}, "Channels"), searchedChannels.channels.map(function (channel) {
|
|
23752
23966
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23753
23967
|
channel: channel,
|
|
23754
|
-
setSelectedChannel:
|
|
23968
|
+
setSelectedChannel: setSelectedChannel,
|
|
23755
23969
|
key: channel.id
|
|
23756
23970
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23757
23971
|
theme: theme,
|
|
@@ -23777,7 +23991,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23777
23991
|
avatarBorderRadius: avatarBorderRadius,
|
|
23778
23992
|
channel: channel,
|
|
23779
23993
|
key: channel.id,
|
|
23780
|
-
contactsMap: contactsMap
|
|
23994
|
+
contactsMap: contactsMap,
|
|
23995
|
+
setSelectedChannel: setSelectedChannel,
|
|
23996
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
23997
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23781
23998
|
}));
|
|
23782
23999
|
}))))) : (/*#__PURE__*/React__default.createElement(NoData, {
|
|
23783
24000
|
color: textSecondary,
|
|
@@ -23798,7 +24015,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23798
24015
|
}, channels.map(function (channel) {
|
|
23799
24016
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23800
24017
|
channel: channel,
|
|
23801
|
-
setSelectedChannel:
|
|
24018
|
+
setSelectedChannel: setSelectedChannel,
|
|
23802
24019
|
key: channel.id
|
|
23803
24020
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23804
24021
|
theme: theme,
|
|
@@ -23824,7 +24041,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23824
24041
|
avatarBorderRadius: avatarBorderRadius,
|
|
23825
24042
|
channel: channel,
|
|
23826
24043
|
key: channel.id,
|
|
23827
|
-
contactsMap: contactsMap
|
|
24044
|
+
contactsMap: contactsMap,
|
|
24045
|
+
setSelectedChannel: setSelectedChannel,
|
|
24046
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24047
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23828
24048
|
}));
|
|
23829
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, {
|
|
23830
24050
|
color: textSecondary,
|
|
@@ -23835,7 +24055,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23835
24055
|
}, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
|
|
23836
24056
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23837
24057
|
channel: channel,
|
|
23838
|
-
setSelectedChannel:
|
|
24058
|
+
setSelectedChannel: setSelectedChannel,
|
|
23839
24059
|
key: channel.id
|
|
23840
24060
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23841
24061
|
theme: theme,
|
|
@@ -23861,7 +24081,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23861
24081
|
avatarBorderRadius: avatarBorderRadius,
|
|
23862
24082
|
channel: channel,
|
|
23863
24083
|
contactsMap: contactsMap,
|
|
23864
|
-
key: channel.id
|
|
24084
|
+
key: channel.id,
|
|
24085
|
+
setSelectedChannel: setSelectedChannel,
|
|
24086
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24087
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23865
24088
|
}));
|
|
23866
24089
|
}))), !!searchedChannels.channels.length && (/*#__PURE__*/React__default.createElement(GroupChannels, null, /*#__PURE__*/React__default.createElement(SearchedChannelsHeader, {
|
|
23867
24090
|
color: textSecondary,
|
|
@@ -23869,7 +24092,7 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23869
24092
|
}, "Channels"), searchedChannels.channels.map(function (channel) {
|
|
23870
24093
|
return ListItem ? (/*#__PURE__*/React__default.createElement(ListItem, {
|
|
23871
24094
|
channel: channel,
|
|
23872
|
-
setSelectedChannel:
|
|
24095
|
+
setSelectedChannel: setSelectedChannel,
|
|
23873
24096
|
key: channel.id
|
|
23874
24097
|
})) : (/*#__PURE__*/React__default.createElement(Channel, {
|
|
23875
24098
|
theme: theme,
|
|
@@ -23895,7 +24118,10 @@ var ChannelList = function ChannelList(_ref) {
|
|
|
23895
24118
|
avatarBorderRadius: avatarBorderRadius,
|
|
23896
24119
|
channel: channel,
|
|
23897
24120
|
key: channel.id,
|
|
23898
|
-
contactsMap: contactsMap
|
|
24121
|
+
contactsMap: contactsMap,
|
|
24122
|
+
setSelectedChannel: setSelectedChannel,
|
|
24123
|
+
getCustomLatestMessage: getCustomLatestMessage,
|
|
24124
|
+
doNotShowMessageDeliveryTypes: doNotShowMessageDeliveryTypes
|
|
23899
24125
|
}));
|
|
23900
24126
|
}))))) : (/*#__PURE__*/React__default.createElement(LoadingWrapper, null, /*#__PURE__*/React__default.createElement(UploadingIcon, {
|
|
23901
24127
|
color: textFootnote
|
|
@@ -23934,7 +24160,7 @@ var NoData = styled__default.div(_templateObject8$4 || (_templateObject8$4 = _ta
|
|
|
23934
24160
|
return props.color;
|
|
23935
24161
|
});
|
|
23936
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"])));
|
|
23937
|
-
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) {
|
|
23938
24164
|
return props.maxWidth ? props.maxWidth + "px" : 'inherit';
|
|
23939
24165
|
}, function (props) {
|
|
23940
24166
|
return props.padding || '12px';
|
|
@@ -24099,7 +24325,6 @@ function SvgInfo(props) {
|
|
|
24099
24325
|
|
|
24100
24326
|
var _templateObject$i, _templateObject2$g, _templateObject3$c, _templateObject4$a, _templateObject5$8, _templateObject6$6, _templateObject7$5, _templateObject8$5, _templateObject9$5, _templateObject0$4;
|
|
24101
24327
|
function ChatHeader(_ref) {
|
|
24102
|
-
var _activeChannel$metada;
|
|
24103
24328
|
var infoIcon = _ref.infoIcon,
|
|
24104
24329
|
backgroundColor = _ref.backgroundColor,
|
|
24105
24330
|
titleColor = _ref.titleColor,
|
|
@@ -24138,7 +24363,7 @@ function ChatHeader(_ref) {
|
|
|
24138
24363
|
var channelListHidden = useSelector(channelListHiddenSelector);
|
|
24139
24364
|
var channelDetailsIsOpen = useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
|
|
24140
24365
|
var isDirectChannel = activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
24141
|
-
var isSelfChannel = isDirectChannel &&
|
|
24366
|
+
var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
|
|
24142
24367
|
var directChannelUser = isDirectChannel && activeChannel.members.find(function (member) {
|
|
24143
24368
|
return member.id !== user.id;
|
|
24144
24369
|
});
|
|
@@ -24549,50 +24774,6 @@ function SvgDeleteChannel(props) {
|
|
|
24549
24774
|
})));
|
|
24550
24775
|
}
|
|
24551
24776
|
|
|
24552
|
-
var ATTACHMENTS_CACHE = 'attachments-cache';
|
|
24553
|
-
var isBrowser = typeof window !== 'undefined';
|
|
24554
|
-
var cacheAvailable;
|
|
24555
|
-
if (isBrowser) {
|
|
24556
|
-
cacheAvailable = 'caches' in window;
|
|
24557
|
-
} else {
|
|
24558
|
-
cacheAvailable = 'caches' in global;
|
|
24559
|
-
}
|
|
24560
|
-
var setAttachmentToCache = function setAttachmentToCache(attachmentUrl, attachmentResponse) {
|
|
24561
|
-
if (cacheAvailable) {
|
|
24562
|
-
caches.open(ATTACHMENTS_CACHE).then(function (cache) {
|
|
24563
|
-
try {
|
|
24564
|
-
cache.put(attachmentUrl, attachmentResponse).then(function () {
|
|
24565
|
-
log.info('Cache success');
|
|
24566
|
-
})["catch"](function (e) {
|
|
24567
|
-
log.info('Error on cache attachment ... ', e);
|
|
24568
|
-
caches["delete"](attachmentUrl);
|
|
24569
|
-
});
|
|
24570
|
-
return Promise.resolve();
|
|
24571
|
-
} catch (e) {
|
|
24572
|
-
return Promise.reject(e);
|
|
24573
|
-
}
|
|
24574
|
-
});
|
|
24575
|
-
}
|
|
24576
|
-
};
|
|
24577
|
-
var getAttachmentUrlFromCache = function getAttachmentUrlFromCache(attachmentUrl) {
|
|
24578
|
-
try {
|
|
24579
|
-
if (!cacheAvailable) {
|
|
24580
|
-
log.error('Cache is not available');
|
|
24581
|
-
return Promise.reject(new Error('Cache not available'));
|
|
24582
|
-
}
|
|
24583
|
-
return Promise.resolve(caches.match(attachmentUrl)).then(function (response) {
|
|
24584
|
-
if (response) {
|
|
24585
|
-
return Promise.resolve(response.blob()).then(URL.createObjectURL);
|
|
24586
|
-
} else {
|
|
24587
|
-
log.info('The image or video is not cached', attachmentUrl);
|
|
24588
|
-
return false;
|
|
24589
|
-
}
|
|
24590
|
-
});
|
|
24591
|
-
} catch (e) {
|
|
24592
|
-
return Promise.reject(e);
|
|
24593
|
-
}
|
|
24594
|
-
};
|
|
24595
|
-
|
|
24596
24777
|
var _path$A;
|
|
24597
24778
|
function _extends$B() {
|
|
24598
24779
|
return _extends$B = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -25024,10 +25205,9 @@ function ForwardMessagePopup(_ref) {
|
|
|
25024
25205
|
setSearchValue('');
|
|
25025
25206
|
};
|
|
25026
25207
|
var handleChannelSelect = function handleChannelSelect(isSelected, channel) {
|
|
25027
|
-
var _channel$metadata;
|
|
25028
25208
|
var newSelectedChannels = [].concat(selectedChannels);
|
|
25029
25209
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
25030
|
-
var isSelfChannel = isDirectChannel &&
|
|
25210
|
+
var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
|
|
25031
25211
|
var directChannelUser = isDirectChannel && channel.members.find(function (member) {
|
|
25032
25212
|
return member.id !== user.id;
|
|
25033
25213
|
});
|
|
@@ -25140,12 +25320,11 @@ function ForwardMessagePopup(_ref) {
|
|
|
25140
25320
|
color: textSecondary,
|
|
25141
25321
|
margin: '0 0 12px'
|
|
25142
25322
|
}, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
|
|
25143
|
-
var _channel$metadata2;
|
|
25144
25323
|
var isSelected = selectedChannels.findIndex(function (chan) {
|
|
25145
25324
|
return chan.id === channel.id;
|
|
25146
25325
|
}) >= 0;
|
|
25147
25326
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
25148
|
-
var isSelfChannel = isDirectChannel &&
|
|
25327
|
+
var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
|
|
25149
25328
|
var directChannelUser = isDirectChannel && isSelfChannel ? user : channel.members.find(function (member) {
|
|
25150
25329
|
return member.id !== user.id;
|
|
25151
25330
|
});
|
|
@@ -25216,9 +25395,8 @@ function ForwardMessagePopup(_ref) {
|
|
|
25216
25395
|
}))), !searchedChannels.chats_groups.length && !searchedChannels.channels.length && (/*#__PURE__*/React__default.createElement(NoResults, {
|
|
25217
25396
|
color: textSecondary
|
|
25218
25397
|
}, "No channels found")))) : channels.map(function (channel) {
|
|
25219
|
-
var _channel$metadata3;
|
|
25220
25398
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
25221
|
-
var isSelfChannel = isDirectChannel &&
|
|
25399
|
+
var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
|
|
25222
25400
|
var directChannelUser = isDirectChannel && isSelfChannel ? user : channel.members.find(function (member) {
|
|
25223
25401
|
return member.id !== user.id;
|
|
25224
25402
|
});
|
|
@@ -26059,6 +26237,7 @@ var Message = function Message(_ref) {
|
|
|
26059
26237
|
var _useColor = useColors(),
|
|
26060
26238
|
textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
|
|
26061
26239
|
overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
|
|
26240
|
+
var scrollToNewMessage = useSelector(scrollToNewMessageSelector);
|
|
26062
26241
|
var dispatch = useDispatch();
|
|
26063
26242
|
var ChatClient = getClient();
|
|
26064
26243
|
var user = ChatClient.user;
|
|
@@ -26077,7 +26256,19 @@ var Message = function Message(_ref) {
|
|
|
26077
26256
|
};
|
|
26078
26257
|
React.useEffect(function () {
|
|
26079
26258
|
if (isVisible) {
|
|
26259
|
+
var _channel$lastMessage;
|
|
26080
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
|
+
}
|
|
26081
26272
|
}
|
|
26082
26273
|
}, [isVisible]);
|
|
26083
26274
|
useDidUpdate(function () {
|
|
@@ -27146,7 +27337,7 @@ var VideoPreview = /*#__PURE__*/React.memo(function VideoPreview(_ref) {
|
|
|
27146
27337
|
preload: 'auto',
|
|
27147
27338
|
id: 'video',
|
|
27148
27339
|
src: file.attachmentUrl || videoUrl
|
|
27149
|
-
}), videoCurrentTime && (/*#__PURE__*/React__default.createElement(VideoControls, null, !isPreview && !!videoCurrentTime && !isRepliedMessage && !uploading && !isDetailsView && (
|
|
27340
|
+
}), videoCurrentTime && !isRepliedMessage && (/*#__PURE__*/React__default.createElement(VideoControls, null, !isPreview && !!videoCurrentTime && !isRepliedMessage && !uploading && !isDetailsView && (
|
|
27150
27341
|
/*#__PURE__*/
|
|
27151
27342
|
React__default.createElement(VideoPlayButton, null, /*#__PURE__*/React__default.createElement(SvgPlayVideo, null))), /*#__PURE__*/React__default.createElement(VideoTime, {
|
|
27152
27343
|
isDetailsView: isDetailsView,
|
|
@@ -31193,7 +31384,7 @@ var validateUrl = function validateUrl(url) {
|
|
|
31193
31384
|
}
|
|
31194
31385
|
};
|
|
31195
31386
|
var OGMetadata = function OGMetadata(_ref) {
|
|
31196
|
-
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;
|
|
31197
31388
|
var attachments = _ref.attachments,
|
|
31198
31389
|
state = _ref.state;
|
|
31199
31390
|
var _useState = React.useState(null),
|
|
@@ -31202,6 +31393,18 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31202
31393
|
var _useState2 = React.useState(true),
|
|
31203
31394
|
imageLoadError = _useState2[0],
|
|
31204
31395
|
setImageLoadError = _useState2[1];
|
|
31396
|
+
var _useState3 = React.useState(true),
|
|
31397
|
+
faviconLoadError = _useState3[0],
|
|
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];
|
|
31205
31408
|
var attachment = React.useMemo(function () {
|
|
31206
31409
|
return attachments.find(function (attachment) {
|
|
31207
31410
|
return attachment.type === attachmentTypes.link;
|
|
@@ -31216,7 +31419,7 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31216
31419
|
var queryBuilder = new client.MessageLinkOGQueryBuilder(url);
|
|
31217
31420
|
return Promise.resolve(queryBuilder.build()).then(function (query) {
|
|
31218
31421
|
return Promise.resolve(query.loadOGData()).then(function (metadata) {
|
|
31219
|
-
return Promise.resolve(storeMetadata(url
|
|
31422
|
+
return Promise.resolve(storeMetadata(url, metadata)).then(function () {
|
|
31220
31423
|
setMetadata(metadata);
|
|
31221
31424
|
});
|
|
31222
31425
|
});
|
|
@@ -31239,7 +31442,7 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31239
31442
|
if (attachment !== null && attachment !== void 0 && attachment.id && attachment !== null && attachment !== void 0 && attachment.url) {
|
|
31240
31443
|
var url = attachment === null || attachment === void 0 ? void 0 : attachment.url;
|
|
31241
31444
|
if (url) {
|
|
31242
|
-
getMetadata(url
|
|
31445
|
+
getMetadata(url).then(function (cachedMetadata) {
|
|
31243
31446
|
try {
|
|
31244
31447
|
if (cachedMetadata) {
|
|
31245
31448
|
setMetadata(cachedMetadata);
|
|
@@ -31268,6 +31471,29 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31268
31471
|
var _metadata$og, _metadata$og2, _metadata$og2$image, _metadata$og2$image$, _metadata$og3;
|
|
31269
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;
|
|
31270
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]);
|
|
31271
31497
|
return /*#__PURE__*/React__default.createElement(OGMetadataContainer, {
|
|
31272
31498
|
showOGMetadata: !!showOGMetadata
|
|
31273
31499
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -31275,37 +31501,69 @@ var OGMetadata = function OGMetadata(_ref) {
|
|
|
31275
31501
|
window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, '_blank');
|
|
31276
31502
|
}
|
|
31277
31503
|
}, /*#__PURE__*/React__default.createElement(ImageContainer, {
|
|
31278
|
-
showOGMetadata: !!showOGMetadata && !imageLoadError
|
|
31279
|
-
|
|
31280
|
-
|
|
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,
|
|
31281
31509
|
alt: 'OG metadata image',
|
|
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,
|
|
31282
31518
|
onLoad: function onLoad() {
|
|
31283
|
-
return
|
|
31519
|
+
return setFaviconLoadError(false);
|
|
31284
31520
|
},
|
|
31285
31521
|
onError: function onError() {
|
|
31286
|
-
return
|
|
31522
|
+
return setFaviconLoadError(true);
|
|
31287
31523
|
}
|
|
31288
|
-
})) : null
|
|
31289
|
-
|
|
31290
|
-
}
|
|
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));
|
|
31291
31527
|
};
|
|
31292
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) {
|
|
31293
31529
|
var showOGMetadata = _ref2.showOGMetadata;
|
|
31294
31530
|
return showOGMetadata ? '0.8rem' : '0';
|
|
31295
31531
|
});
|
|
31296
|
-
var ImageContainer = styled__default.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n
|
|
31297
|
-
var
|
|
31298
|
-
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 ";
|
|
31299
31535
|
}, function (_ref4) {
|
|
31300
|
-
var
|
|
31301
|
-
|
|
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';
|
|
31302
31545
|
});
|
|
31303
|
-
var OGText = styled__default.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n
|
|
31304
|
-
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"])))
|
|
31305
|
-
var
|
|
31306
|
-
|
|
31307
|
-
|
|
31308
|
-
var
|
|
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 ";
|
|
31565
|
+
});
|
|
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"])));
|
|
31309
31567
|
|
|
31310
31568
|
var _templateObject$B, _templateObject2$w, _templateObject3$q, _templateObject4$m, _templateObject5$i;
|
|
31311
31569
|
var MessageBody = function MessageBody(_ref) {
|
|
@@ -32645,14 +32903,6 @@ var HiddenMessageProperty;
|
|
|
32645
32903
|
})(HiddenMessageProperty || (HiddenMessageProperty = {}));
|
|
32646
32904
|
|
|
32647
32905
|
var _templateObject$D, _templateObject2$y, _templateObject3$s, _templateObject4$o, _templateObject5$k, _templateObject6$h, _templateObject7$f, _templateObject8$e, _templateObject9$c, _templateObject0$b, _templateObject1$8;
|
|
32648
|
-
var loadFromServer = false;
|
|
32649
|
-
var loadDirection = '';
|
|
32650
|
-
var nextDisable = false;
|
|
32651
|
-
var prevDisable = false;
|
|
32652
|
-
var scrollToBottom = false;
|
|
32653
|
-
var shouldLoadMessages;
|
|
32654
|
-
var loading = false;
|
|
32655
|
-
var messagesIndexMap = {};
|
|
32656
32906
|
var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
32657
32907
|
var lastIndex = _ref.lastIndex,
|
|
32658
32908
|
currentMessageDate = _ref.currentMessageDate,
|
|
@@ -32862,6 +33112,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32862
33112
|
var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
|
|
32863
33113
|
var scrollToRepliedMessage = useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
|
|
32864
33114
|
var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
|
|
33115
|
+
var scrollToMessageBehavior = useSelector(scrollToMessageBehaviorSelector, reactRedux.shallowEqual);
|
|
32865
33116
|
var browserTabIsActive = useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
|
|
32866
33117
|
var hasNextMessages = useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
|
|
32867
33118
|
var hasPrevMessages = useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
|
|
@@ -32902,35 +33153,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32902
33153
|
setShouldPreserveScroll = _useState0[1];
|
|
32903
33154
|
var messageForReply = {};
|
|
32904
33155
|
var attachmentsSelected = false;
|
|
32905
|
-
var
|
|
33156
|
+
var _useState1 = React.useState(''),
|
|
33157
|
+
topDateLabel = _useState1[0],
|
|
33158
|
+
setTopDateLabel = _useState1[1];
|
|
32906
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);
|
|
32907
33170
|
var renderTopDate = function renderTopDate() {
|
|
32908
|
-
var
|
|
32909
|
-
|
|
33171
|
+
var container = scrollRef.current;
|
|
33172
|
+
if (!container) return;
|
|
33173
|
+
var dateLabels = container.querySelectorAll('.divider');
|
|
32910
33174
|
var text = '';
|
|
32911
33175
|
for (var i = dateLabels.length - 1; i >= 0; i--) {
|
|
32912
|
-
var _dateLabel$firstChild;
|
|
32913
33176
|
var dateLabel = dateLabels[i];
|
|
32914
|
-
|
|
32915
|
-
|
|
32916
|
-
text = span
|
|
32917
|
-
span.style.display = 'none';
|
|
32918
|
-
} else {
|
|
32919
|
-
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 || '' : '';
|
|
32920
33180
|
}
|
|
32921
33181
|
}
|
|
32922
|
-
|
|
32923
|
-
messageTopDate.innerText = text;
|
|
32924
|
-
messageTopDate.style.display = 'inline';
|
|
32925
|
-
} else {
|
|
32926
|
-
messageTopDate.style.display = 'none';
|
|
32927
|
-
}
|
|
33182
|
+
setTopDateLabel(text);
|
|
32928
33183
|
};
|
|
32929
|
-
var handleMessagesListScroll = React.useCallback(function (
|
|
33184
|
+
var handleMessagesListScroll = React.useCallback(function () {
|
|
32930
33185
|
try {
|
|
33186
|
+
var target = scrollRef.current;
|
|
33187
|
+
if (!target) return Promise.resolve();
|
|
32931
33188
|
if (scrollToMentionedMessage) {
|
|
32932
|
-
|
|
32933
|
-
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) {
|
|
32934
33190
|
dispatch(showScrollToNewMessageButtonAC(true));
|
|
32935
33191
|
} else {
|
|
32936
33192
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
@@ -32943,7 +33199,6 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32943
33199
|
setShowTopDate(false);
|
|
32944
33200
|
}, 1000);
|
|
32945
33201
|
renderTopDate();
|
|
32946
|
-
var target = event.target;
|
|
32947
33202
|
var forceLoadPrevMessages = false;
|
|
32948
33203
|
if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
|
|
32949
33204
|
forceLoadPrevMessages = true;
|
|
@@ -32958,51 +33213,68 @@ var MessageList = function MessageList(_ref2) {
|
|
|
32958
33213
|
}
|
|
32959
33214
|
if (scrollToReply) {
|
|
32960
33215
|
target.scrollTop = scrollToReply;
|
|
32961
|
-
|
|
32962
|
-
|
|
32963
|
-
|
|
32964
|
-
|
|
32965
|
-
|
|
32966
|
-
|
|
32967
|
-
|
|
32968
|
-
|
|
32969
|
-
|
|
32970
|
-
|
|
32971
|
-
|
|
32972
|
-
|
|
32973
|
-
|
|
32974
|
-
|
|
32975
|
-
|
|
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;
|
|
32976
33232
|
}
|
|
33233
|
+
nextDisableRef.current = true;
|
|
32977
33234
|
}
|
|
32978
33235
|
}
|
|
32979
|
-
|
|
32980
|
-
|
|
32981
|
-
|
|
32982
|
-
|
|
32983
|
-
|
|
32984
|
-
|
|
32985
|
-
|
|
32986
|
-
|
|
32987
|
-
loadDirection = 'next';
|
|
32988
|
-
prevDisable = true;
|
|
32989
|
-
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 = '';
|
|
32990
33244
|
}
|
|
33245
|
+
loadDirectionRef.current = 'next';
|
|
33246
|
+
prevDisableRef.current = true;
|
|
33247
|
+
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
32991
33248
|
}
|
|
32992
33249
|
}
|
|
32993
|
-
|
|
32994
|
-
|
|
32995
|
-
|
|
33250
|
+
}
|
|
33251
|
+
if (hasIndex && currentIndex > messages.length - 10) {
|
|
33252
|
+
nextDisableRef.current = false;
|
|
32996
33253
|
}
|
|
32997
33254
|
return Promise.resolve();
|
|
32998
33255
|
} catch (e) {
|
|
32999
33256
|
return Promise.reject(e);
|
|
33000
33257
|
}
|
|
33001
|
-
}, [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
|
+
}, []);
|
|
33002
33274
|
var handleScrollToRepliedMessage = function handleScrollToRepliedMessage(messageId) {
|
|
33003
33275
|
try {
|
|
33004
|
-
|
|
33005
|
-
|
|
33276
|
+
prevDisableRef.current = true;
|
|
33277
|
+
nextDisableRef.current = true;
|
|
33006
33278
|
if (messages.findIndex(function (msg) {
|
|
33007
33279
|
return msg.id === messageId;
|
|
33008
33280
|
}) >= 10) {
|
|
@@ -33016,8 +33288,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33016
33288
|
var positiveValue = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2 < 0 ? repliedMessage.offsetTop - scrollRef.current.offsetHeight * -1 : repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
|
|
33017
33289
|
setTimeout(function () {
|
|
33018
33290
|
repliedMessage.classList.remove('highlight');
|
|
33019
|
-
|
|
33020
|
-
|
|
33291
|
+
prevDisableRef.current = false;
|
|
33292
|
+
nextDisableRef.current = false;
|
|
33021
33293
|
}, 1000 + positiveValue * 0.1);
|
|
33022
33294
|
}
|
|
33023
33295
|
} else {
|
|
@@ -33038,10 +33310,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33038
33310
|
var hasNextCached = getHasNextCached();
|
|
33039
33311
|
if (messagesLoading === LOADING_STATE.LOADED && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33040
33312
|
if (direction === MESSAGE_LOAD_DIRECTION.PREV && firstMessageId && (hasPrevMessages || hasPrevCached)) {
|
|
33041
|
-
|
|
33313
|
+
loadingRef.current = true;
|
|
33042
33314
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, firstMessageId, hasPrevMessages));
|
|
33043
33315
|
} else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && lastMessageId && (hasNextMessages || hasNextCached)) {
|
|
33044
|
-
|
|
33316
|
+
loadingRef.current = true;
|
|
33045
33317
|
dispatch(loadMoreMessagesAC(channel.id, limit, direction, lastMessageId, hasNextMessages));
|
|
33046
33318
|
}
|
|
33047
33319
|
}
|
|
@@ -33072,39 +33344,42 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33072
33344
|
setIsDragging(false);
|
|
33073
33345
|
}
|
|
33074
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
|
+
};
|
|
33075
33377
|
var handleDropFile = function handleDropFile(e) {
|
|
33076
33378
|
e.preventDefault();
|
|
33077
33379
|
e.stopPropagation();
|
|
33078
33380
|
setIsDragging(false);
|
|
33079
33381
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33080
|
-
|
|
33081
|
-
new Promise(function (resolve) {
|
|
33082
|
-
var attachmentsFiles = [];
|
|
33083
|
-
var readFiles = 0;
|
|
33084
|
-
var errorCount = 0;
|
|
33085
|
-
fileList.forEach(function (attachment) {
|
|
33086
|
-
var fileReader = new FileReader();
|
|
33087
|
-
fileReader.onload = function (event) {
|
|
33088
|
-
var file = event.target.result;
|
|
33089
|
-
attachmentsFiles.push({
|
|
33090
|
-
name: attachment.name,
|
|
33091
|
-
data: file,
|
|
33092
|
-
type: attachment.type
|
|
33093
|
-
});
|
|
33094
|
-
readFiles++;
|
|
33095
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33096
|
-
resolve(attachmentsFiles);
|
|
33097
|
-
}
|
|
33098
|
-
};
|
|
33099
|
-
fileReader.onerror = function () {
|
|
33100
|
-
errorCount++;
|
|
33101
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33102
|
-
resolve(attachmentsFiles);
|
|
33103
|
-
}
|
|
33104
|
-
};
|
|
33105
|
-
fileReader.readAsDataURL(attachment);
|
|
33106
|
-
});
|
|
33107
|
-
}).then(function (result) {
|
|
33382
|
+
readDroppedFiles(e).then(function (result) {
|
|
33108
33383
|
dispatch(setDraggedAttachmentsAC(result, 'file'));
|
|
33109
33384
|
})["catch"](function (error) {
|
|
33110
33385
|
console.error('Error in handleDropFile:', error);
|
|
@@ -33117,34 +33392,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33117
33392
|
e.stopPropagation();
|
|
33118
33393
|
setIsDragging(false);
|
|
33119
33394
|
if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {
|
|
33120
|
-
|
|
33121
|
-
new Promise(function (resolve) {
|
|
33122
|
-
var attachmentsFiles = [];
|
|
33123
|
-
var readFiles = 0;
|
|
33124
|
-
var errorCount = 0;
|
|
33125
|
-
fileList.forEach(function (attachment) {
|
|
33126
|
-
var fileReader = new FileReader();
|
|
33127
|
-
fileReader.onload = function (event) {
|
|
33128
|
-
var file = event.target.result;
|
|
33129
|
-
attachmentsFiles.push({
|
|
33130
|
-
name: attachment.name,
|
|
33131
|
-
data: file,
|
|
33132
|
-
type: attachment.type
|
|
33133
|
-
});
|
|
33134
|
-
readFiles++;
|
|
33135
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33136
|
-
resolve(attachmentsFiles);
|
|
33137
|
-
}
|
|
33138
|
-
};
|
|
33139
|
-
fileReader.onerror = function () {
|
|
33140
|
-
errorCount++;
|
|
33141
|
-
if (readFiles + errorCount === fileList.length) {
|
|
33142
|
-
resolve(attachmentsFiles);
|
|
33143
|
-
}
|
|
33144
|
-
};
|
|
33145
|
-
fileReader.readAsDataURL(attachment);
|
|
33146
|
-
});
|
|
33147
|
-
}).then(function (result) {
|
|
33395
|
+
readDroppedFiles(e).then(function (result) {
|
|
33148
33396
|
dispatch(setDraggedAttachmentsAC(result, 'media'));
|
|
33149
33397
|
})["catch"](function (error) {
|
|
33150
33398
|
console.error('Error in handleDropMedia:', error);
|
|
@@ -33156,21 +33404,21 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33156
33404
|
var _messages, _channel$lastMessage2;
|
|
33157
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) {
|
|
33158
33406
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33159
|
-
|
|
33407
|
+
prevDisableRef.current = false;
|
|
33160
33408
|
}
|
|
33161
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]);
|
|
33162
33410
|
React.useEffect(function () {
|
|
33163
33411
|
if (scrollToRepliedMessage) {
|
|
33164
|
-
|
|
33412
|
+
loadingRef.current = false;
|
|
33165
33413
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33166
33414
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33167
33415
|
if (repliedMessage) {
|
|
33168
33416
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
33169
33417
|
scrollRef.current.scrollTo({
|
|
33170
33418
|
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
33171
|
-
behavior:
|
|
33419
|
+
behavior: scrollToMessageBehavior
|
|
33172
33420
|
});
|
|
33173
|
-
scrollRef.current.style.scrollBehavior =
|
|
33421
|
+
scrollRef.current.style.scrollBehavior = scrollToMessageBehavior;
|
|
33174
33422
|
if (!channel.backToLinkedChannel && scrollToMessageHighlight) {
|
|
33175
33423
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
33176
33424
|
}
|
|
@@ -33180,9 +33428,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33180
33428
|
var _repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
33181
33429
|
_repliedMessage && _repliedMessage.classList.remove('highlight');
|
|
33182
33430
|
}
|
|
33183
|
-
|
|
33431
|
+
prevDisableRef.current = false;
|
|
33184
33432
|
setScrollToReply(null);
|
|
33185
|
-
scrollRef.current.style.scrollBehavior = '
|
|
33433
|
+
scrollRef.current.style.scrollBehavior = 'instant';
|
|
33186
33434
|
}, 1000 + positiveValue * 0.1);
|
|
33187
33435
|
}
|
|
33188
33436
|
dispatch(setScrollToMessagesAC(null));
|
|
@@ -33198,15 +33446,15 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33198
33446
|
});
|
|
33199
33447
|
}
|
|
33200
33448
|
} else {
|
|
33201
|
-
|
|
33202
|
-
|
|
33449
|
+
nextDisableRef.current = true;
|
|
33450
|
+
prevDisableRef.current = true;
|
|
33203
33451
|
scrollRef.current.scrollTo({
|
|
33204
33452
|
top: 0,
|
|
33205
33453
|
behavior: 'smooth'
|
|
33206
33454
|
});
|
|
33207
33455
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
33208
33456
|
setTimeout(function () {
|
|
33209
|
-
|
|
33457
|
+
prevDisableRef.current = false;
|
|
33210
33458
|
}, 800);
|
|
33211
33459
|
}
|
|
33212
33460
|
}
|
|
@@ -33224,11 +33472,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33224
33472
|
React.useEffect(function () {
|
|
33225
33473
|
setHasNextCached(false);
|
|
33226
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;
|
|
33227
33482
|
if (channel.backToLinkedChannel) {
|
|
33228
33483
|
var visibleMessages = getVisibleMessagesMap();
|
|
33229
33484
|
var visibleMessagesIds = Object.keys(visibleMessages);
|
|
33230
33485
|
var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
|
|
33231
|
-
dispatch(getMessagesAC(channel, undefined, messageId));
|
|
33486
|
+
dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
|
|
33232
33487
|
setUnreadMessageId(messageId);
|
|
33233
33488
|
} else {
|
|
33234
33489
|
if (!channel.isLinkedChannel) {
|
|
@@ -33251,9 +33506,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33251
33506
|
}
|
|
33252
33507
|
setPreviousScrollTop(0);
|
|
33253
33508
|
setShouldPreserveScroll(false);
|
|
33254
|
-
|
|
33255
|
-
|
|
33256
|
-
|
|
33509
|
+
nextDisableRef.current = false;
|
|
33510
|
+
prevDisableRef.current = false;
|
|
33511
|
+
scrollToBottomRef.current = true;
|
|
33257
33512
|
setAllowEditDeleteIncomingMessage(allowEditDeleteIncomingMessage);
|
|
33258
33513
|
}, [channel.id]);
|
|
33259
33514
|
React.useEffect(function () {
|
|
@@ -33268,7 +33523,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33268
33523
|
setUnreadMessageId('');
|
|
33269
33524
|
}
|
|
33270
33525
|
}
|
|
33271
|
-
}, [messages]);
|
|
33526
|
+
}, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
|
|
33272
33527
|
React.useEffect(function () {
|
|
33273
33528
|
if (scrollRef.current) {
|
|
33274
33529
|
var isAtBottom = scrollRef.current.scrollTop > -50;
|
|
@@ -33277,35 +33532,40 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33277
33532
|
setShouldPreserveScroll(true);
|
|
33278
33533
|
}
|
|
33279
33534
|
}
|
|
33280
|
-
if (
|
|
33281
|
-
if (
|
|
33535
|
+
if (loadingRef.current) {
|
|
33536
|
+
if (loadDirectionRef.current !== 'next') {
|
|
33282
33537
|
var lastVisibleMessage = document.getElementById(lastVisibleMessageId);
|
|
33283
33538
|
if (lastVisibleMessage) {
|
|
33284
33539
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33285
33540
|
scrollRef.current.scrollTop = lastVisibleMessage.offsetTop;
|
|
33286
33541
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33287
33542
|
}
|
|
33288
|
-
if (
|
|
33289
|
-
setTimeout(function () {
|
|
33290
|
-
|
|
33291
|
-
|
|
33292
|
-
|
|
33293
|
-
|
|
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) {
|
|
33294
33550
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33295
33551
|
}
|
|
33296
|
-
if (
|
|
33552
|
+
if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
|
|
33297
33553
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33298
33554
|
}
|
|
33299
33555
|
}, 50);
|
|
33556
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33557
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33558
|
+
}
|
|
33559
|
+
loadingMessagesTimeoutRef.current = timeout;
|
|
33300
33560
|
} else {
|
|
33301
|
-
|
|
33302
|
-
if (
|
|
33561
|
+
loadingRef.current = false;
|
|
33562
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33303
33563
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33304
|
-
|
|
33564
|
+
shouldLoadMessagesRef.current = '';
|
|
33305
33565
|
}
|
|
33306
|
-
if (
|
|
33566
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33307
33567
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33308
|
-
|
|
33568
|
+
shouldLoadMessagesRef.current = '';
|
|
33309
33569
|
}
|
|
33310
33570
|
}
|
|
33311
33571
|
} else {
|
|
@@ -33315,22 +33575,26 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33315
33575
|
scrollRef.current.scrollTop = _lastVisibleMessage.offsetTop - scrollRef.current.offsetHeight + _lastVisibleMessage.offsetHeight;
|
|
33316
33576
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
33317
33577
|
}
|
|
33318
|
-
|
|
33319
|
-
|
|
33320
|
-
if (
|
|
33578
|
+
loadingRef.current = false;
|
|
33579
|
+
prevDisableRef.current = false;
|
|
33580
|
+
if (shouldLoadMessagesRef.current === 'prev') {
|
|
33321
33581
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
|
|
33322
|
-
|
|
33582
|
+
shouldLoadMessagesRef.current = '';
|
|
33323
33583
|
}
|
|
33324
|
-
if (
|
|
33584
|
+
if (shouldLoadMessagesRef.current === 'next') {
|
|
33325
33585
|
handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
|
|
33326
|
-
|
|
33586
|
+
shouldLoadMessagesRef.current = '';
|
|
33327
33587
|
}
|
|
33328
33588
|
}
|
|
33329
33589
|
}
|
|
33330
33590
|
renderTopDate();
|
|
33331
|
-
if (
|
|
33332
|
-
|
|
33333
|
-
|
|
33591
|
+
if (scrollToBottomRef.current) {
|
|
33592
|
+
if (channel.backToLinkedChannel) {
|
|
33593
|
+
dispatch(scrollToNewMessageAC(false));
|
|
33594
|
+
} else {
|
|
33595
|
+
dispatch(scrollToNewMessageAC(true));
|
|
33596
|
+
}
|
|
33597
|
+
scrollToBottomRef.current = false;
|
|
33334
33598
|
}
|
|
33335
33599
|
if (shouldPreserveScroll && scrollRef.current && previousScrollTop > 0) {
|
|
33336
33600
|
requestAnimationFrame(function () {
|
|
@@ -33343,13 +33607,43 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33343
33607
|
setPreviousScrollTop(0);
|
|
33344
33608
|
});
|
|
33345
33609
|
}
|
|
33610
|
+
return function () {
|
|
33611
|
+
if (loadingMessagesTimeoutRef.current) {
|
|
33612
|
+
clearTimeout(loadingMessagesTimeoutRef.current);
|
|
33613
|
+
}
|
|
33614
|
+
};
|
|
33346
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]);
|
|
33347
33641
|
React.useEffect(function () {
|
|
33348
33642
|
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
33349
33643
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
33350
|
-
|
|
33351
|
-
|
|
33352
|
-
|
|
33644
|
+
loadingRef.current = false;
|
|
33645
|
+
prevDisableRef.current = false;
|
|
33646
|
+
nextDisableRef.current = false;
|
|
33353
33647
|
clearMessagesMap();
|
|
33354
33648
|
removeAllMessages();
|
|
33355
33649
|
if (channel.id) {
|
|
@@ -33358,7 +33652,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33358
33652
|
}
|
|
33359
33653
|
}, [connectionStatus]);
|
|
33360
33654
|
React.useEffect(function () {
|
|
33361
|
-
|
|
33655
|
+
var unreadScrollTo = getUnreadScrollTo();
|
|
33656
|
+
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
33362
33657
|
if (scrollRef.current) {
|
|
33363
33658
|
scrollRef.current.style.scrollBehavior = 'inherit';
|
|
33364
33659
|
}
|
|
@@ -33371,7 +33666,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33371
33666
|
setUnreadScrollTo(false);
|
|
33372
33667
|
}
|
|
33373
33668
|
}
|
|
33374
|
-
});
|
|
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
|
+
}, []);
|
|
33375
33677
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isDragging && !(attachmentsPreview !== null && attachmentsPreview !== void 0 && attachmentsPreview.show && mediaFile) && (/*#__PURE__*/React__default.createElement(DragAndDropContainer, {
|
|
33376
33678
|
id: 'draggingContainer',
|
|
33377
33679
|
draggable: true,
|
|
@@ -33414,14 +33716,12 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33414
33716
|
dateDividerBackgroundColor: dateDividerBackgroundColor || overlayBackground,
|
|
33415
33717
|
dateDividerBorderRadius: dateDividerBorderRadius,
|
|
33416
33718
|
topOffset: scrollRef && scrollRef.current && scrollRef.current.offsetTop
|
|
33417
|
-
}, /*#__PURE__*/React__default.createElement("span", {
|
|
33418
|
-
ref: messageTopDateRef
|
|
33419
|
-
}))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33719
|
+
}, /*#__PURE__*/React__default.createElement("span", null, topDateLabel))), /*#__PURE__*/React__default.createElement(Container$h, {
|
|
33420
33720
|
id: 'scrollableDiv',
|
|
33421
33721
|
className: isScrolling ? 'show-scrollbar' : '',
|
|
33422
33722
|
ref: scrollRef,
|
|
33423
33723
|
stopScrolling: stopScrolling,
|
|
33424
|
-
onScroll:
|
|
33724
|
+
onScroll: onScroll,
|
|
33425
33725
|
onMouseEnter: function onMouseEnter() {
|
|
33426
33726
|
return setIsScrolling(true);
|
|
33427
33727
|
},
|
|
@@ -33440,8 +33740,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
33440
33740
|
var prevMessage = messages[index - 1];
|
|
33441
33741
|
var nextMessage = messages[index + 1];
|
|
33442
33742
|
var isUnreadMessage = !!(unreadMessageId && unreadMessageId === message.id && nextMessage) && !channel.backToLinkedChannel;
|
|
33443
|
-
|
|
33444
|
-
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, {
|
|
33445
33747
|
noMargin: !isUnreadMessage && prevMessage && prevMessage.type === 'system' && message.type !== 'system',
|
|
33446
33748
|
theme: theme,
|
|
33447
33749
|
lastIndex: false,
|
|
@@ -36135,8 +36437,12 @@ var AudioRecord = function AudioRecord(_ref) {
|
|
|
36135
36437
|
}
|
|
36136
36438
|
}, [currentRecordedFile]);
|
|
36137
36439
|
React.useEffect(function () {
|
|
36440
|
+
if (!showRecording) {
|
|
36441
|
+
setCurrentTime(0);
|
|
36442
|
+
}
|
|
36138
36443
|
return function () {
|
|
36139
36444
|
handleStopRecording();
|
|
36445
|
+
setCurrentTime(0);
|
|
36140
36446
|
};
|
|
36141
36447
|
}, [showRecording]);
|
|
36142
36448
|
React.useEffect(function () {
|
|
@@ -37376,7 +37682,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
|
|
|
37376
37682
|
if (attachments.length) {
|
|
37377
37683
|
var videoAttachment = false;
|
|
37378
37684
|
attachments.forEach(function (att) {
|
|
37379
|
-
if (att.type === 'video' || att.data.type.split('/')[0] === 'video') {
|
|
37685
|
+
if ((att.type === 'video' || att.data.type.split('/')[0] === 'video') && att.type !== 'file') {
|
|
37380
37686
|
videoAttachment = true;
|
|
37381
37687
|
if (!readyVideoAttachments[att.tid]) {
|
|
37382
37688
|
setSendMessageIsActive(false);
|
|
@@ -38220,7 +38526,6 @@ function SvgUnpin(props) {
|
|
|
38220
38526
|
|
|
38221
38527
|
var _templateObject$K, _templateObject2$F, _templateObject3$y, _templateObject4$t, _templateObject5$p, _templateObject6$l, _templateObject7$j, _templateObject8$h, _templateObject9$e, _templateObject0$d, _templateObject1$a, _templateObject10$6, _templateObject11$6, _templateObject12$5, _templateObject13$4, _templateObject14$3, _templateObject15$3, _templateObject16$3;
|
|
38222
38528
|
var Actions = function Actions(_ref) {
|
|
38223
|
-
var _channel$metadata;
|
|
38224
38529
|
var setActionsHeight = _ref.setActionsHeight,
|
|
38225
38530
|
channel = _ref.channel,
|
|
38226
38531
|
actionMenuOpen = _ref.actionMenuOpen,
|
|
@@ -38338,7 +38643,7 @@ var Actions = function Actions(_ref) {
|
|
|
38338
38643
|
var twoHours = oneHour * 2;
|
|
38339
38644
|
var oneDay = oneHour * 24;
|
|
38340
38645
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
38341
|
-
var isSelfChannel = isDirectChannel &&
|
|
38646
|
+
var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
|
|
38342
38647
|
var directChannelUser = isDirectChannel && channel.members.find(function (member) {
|
|
38343
38648
|
return member.id !== user.id;
|
|
38344
38649
|
});
|
|
@@ -40245,7 +40550,7 @@ var EditChannel = function EditChannel(_ref) {
|
|
|
40245
40550
|
|
|
40246
40551
|
var _templateObject$V, _templateObject2$O, _templateObject3$F, _templateObject4$z, _templateObject5$u, _templateObject6$p, _templateObject7$n, _templateObject8$l, _templateObject9$g, _templateObject0$e, _templateObject1$b, _templateObject10$7;
|
|
40247
40552
|
var Details = function Details(_ref) {
|
|
40248
|
-
var _activeChannel$
|
|
40553
|
+
var _activeChannel$member;
|
|
40249
40554
|
var detailsTitleText = _ref.detailsTitleText,
|
|
40250
40555
|
editDetailsTitleText = _ref.editDetailsTitleText,
|
|
40251
40556
|
detailsTitleFontSize = _ref.detailsTitleFontSize,
|
|
@@ -40400,7 +40705,7 @@ var Details = function Details(_ref) {
|
|
|
40400
40705
|
var detailsHeaderRef = React.useRef(null);
|
|
40401
40706
|
var openTimeOut = React.useRef(null);
|
|
40402
40707
|
var isDirectChannel = activeChannel && activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
40403
|
-
var isSelfChannel = isDirectChannel &&
|
|
40708
|
+
var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
|
|
40404
40709
|
var memberDisplayText = getChannelTypesMemberDisplayTextMap();
|
|
40405
40710
|
var displayMemberText = memberDisplayText && (memberDisplayText[activeChannel.type] ? activeChannel.memberCount > 1 ? memberDisplayText[activeChannel.type] + "s" : memberDisplayText[activeChannel.type] : activeChannel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || activeChannel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? activeChannel.memberCount > 1 ? 'subscribers' : 'subscriber' : activeChannel.memberCount > 1 ? 'members' : 'member');
|
|
40406
40711
|
var directChannelUser = isDirectChannel && (activeChannel.members.find(function (member) {
|
|
@@ -40514,7 +40819,7 @@ var Details = function Details(_ref) {
|
|
|
40514
40819
|
color: textSecondary,
|
|
40515
40820
|
fontSize: channelMembersFontSize,
|
|
40516
40821
|
lineHeight: channelMembersLineHeight
|
|
40517
|
-
}, 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, {
|
|
40518
40823
|
color: textSecondary,
|
|
40519
40824
|
fontSize: channelMembersFontSize,
|
|
40520
40825
|
lineHeight: channelMembersLineHeight
|
|
@@ -40968,10 +41273,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
|
|
|
40968
41273
|
};
|
|
40969
41274
|
var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
|
|
40970
41275
|
try {
|
|
40971
|
-
dispatch(scrollToNewMessageAC(true, false, false));
|
|
40972
41276
|
if (messages.findIndex(function (msg) {
|
|
40973
41277
|
return msg.id === messageId;
|
|
40974
41278
|
}) >= 10) {
|
|
41279
|
+
dispatch(scrollToNewMessageAC(true, false, false));
|
|
40975
41280
|
dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
|
|
40976
41281
|
var repliedMessage = document.getElementById(messageId);
|
|
40977
41282
|
if (repliedMessage) {
|