sceyt-chat-react-uikit 1.6.9-beta.1 → 1.6.9-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Messages/MessageList/index.d.ts +0 -1
- package/index.js +349 -205
- package/index.modern.js +349 -205
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -10403,7 +10403,79 @@ var getShowOnlyContactUsers = function getShowOnlyContactUsers() {
|
|
|
10403
10403
|
var contactsMap = {};
|
|
10404
10404
|
var logoSrc = '';
|
|
10405
10405
|
var showNotifications = true;
|
|
10406
|
+
var notificationPermission = 'default';
|
|
10407
|
+
var isNotificationSupported = function isNotificationSupported() {
|
|
10408
|
+
return 'Notification' in window;
|
|
10409
|
+
};
|
|
10410
|
+
var requestNotificationPermission = function requestNotificationPermission() {
|
|
10411
|
+
try {
|
|
10412
|
+
if (!isNotificationSupported()) {
|
|
10413
|
+
console.warn('Notifications are not supported in this browser');
|
|
10414
|
+
return Promise.resolve('denied');
|
|
10415
|
+
}
|
|
10416
|
+
return Promise.resolve(_catch(function () {
|
|
10417
|
+
return Promise.resolve(Notification.requestPermission()).then(function (permission) {
|
|
10418
|
+
notificationPermission = permission;
|
|
10419
|
+
return permission;
|
|
10420
|
+
});
|
|
10421
|
+
}, function (error) {
|
|
10422
|
+
console.error('Error requesting notification permission:', error);
|
|
10423
|
+
notificationPermission = 'denied';
|
|
10424
|
+
return 'denied';
|
|
10425
|
+
}));
|
|
10426
|
+
} catch (e) {
|
|
10427
|
+
return Promise.reject(e);
|
|
10428
|
+
}
|
|
10429
|
+
};
|
|
10430
|
+
var createCustomNotification = function createCustomNotification(title, body) {
|
|
10431
|
+
var notificationElement = document.createElement('div');
|
|
10432
|
+
notificationElement.style.cssText = "\n position: fixed;\n top: 20px;\n right: 20px;\n background: white;\n border: 1px solid #ddd;\n border-radius: 8px;\n padding: 16px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n z-index: 10000;\n max-width: 300px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n animation: slideIn 0.3s ease-out;\n ";
|
|
10433
|
+
var style = document.createElement('style');
|
|
10434
|
+
style.textContent = "\n @keyframes slideIn {\n from { transform: translateX(100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n }\n ";
|
|
10435
|
+
document.head.appendChild(style);
|
|
10436
|
+
var titleElement = document.createElement('div');
|
|
10437
|
+
titleElement.style.cssText = 'font-weight: bold; margin-bottom: 8px; color: #333;';
|
|
10438
|
+
titleElement.textContent = title;
|
|
10439
|
+
var bodyElement = document.createElement('div');
|
|
10440
|
+
bodyElement.style.cssText = 'color: #666; font-size: 14px; line-height: 1.4;';
|
|
10441
|
+
bodyElement.textContent = body;
|
|
10442
|
+
var closeButton = document.createElement('button');
|
|
10443
|
+
closeButton.textContent = '×';
|
|
10444
|
+
closeButton.style.cssText = "\n position: absolute;\n top: 8px;\n right: 8px;\n background: none;\n border: none;\n font-size: 18px;\n cursor: pointer;\n color: #999;\n padding: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n ";
|
|
10445
|
+
notificationElement.appendChild(titleElement);
|
|
10446
|
+
notificationElement.appendChild(bodyElement);
|
|
10447
|
+
notificationElement.appendChild(closeButton);
|
|
10448
|
+
notificationElement.addEventListener('click', function (event) {
|
|
10449
|
+
if (event.target !== closeButton) {
|
|
10450
|
+
window.focus();
|
|
10451
|
+
store.dispatch({
|
|
10452
|
+
type: SWITCH_CHANNEL,
|
|
10453
|
+
payload: {
|
|
10454
|
+
channel: null
|
|
10455
|
+
}
|
|
10456
|
+
});
|
|
10457
|
+
}
|
|
10458
|
+
});
|
|
10459
|
+
var closeNotification = function closeNotification() {
|
|
10460
|
+
notificationElement.style.animation = 'slideOut 0.3s ease-in';
|
|
10461
|
+
setTimeout(function () {
|
|
10462
|
+
if (notificationElement.parentNode) {
|
|
10463
|
+
notificationElement.parentNode.removeChild(notificationElement);
|
|
10464
|
+
}
|
|
10465
|
+
}, 300);
|
|
10466
|
+
};
|
|
10467
|
+
closeButton.addEventListener('click', closeNotification);
|
|
10468
|
+
setTimeout(closeNotification, 5000);
|
|
10469
|
+
document.body.appendChild(notificationElement);
|
|
10470
|
+
return {
|
|
10471
|
+
close: closeNotification,
|
|
10472
|
+
onclick: function onclick(handler) {
|
|
10473
|
+
notificationElement.addEventListener('click', handler);
|
|
10474
|
+
}
|
|
10475
|
+
};
|
|
10476
|
+
};
|
|
10406
10477
|
var setNotification = function setNotification(body, user, channel, reaction, attachment) {
|
|
10478
|
+
if (!showNotifications) return;
|
|
10407
10479
|
var getFromContacts = getShowOnlyContactUsers();
|
|
10408
10480
|
var attachmentType;
|
|
10409
10481
|
if (attachment) {
|
|
@@ -10411,35 +10483,60 @@ var setNotification = function setNotification(body, user, channel, reaction, at
|
|
|
10411
10483
|
attachmentType = attType === attachmentTypes.voice ? 'Voice' : attType === attachmentTypes.image ? 'Photo' : attType === attachmentTypes.video ? 'Video' : 'File';
|
|
10412
10484
|
}
|
|
10413
10485
|
var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
|
|
10486
|
+
var title = (isDirectChannel ? makeUsername(contactsMap[user.id], user, getFromContacts) : channel.subject) || 'New Message';
|
|
10487
|
+
var notificationBody = '';
|
|
10488
|
+
if (reaction) {
|
|
10489
|
+
notificationBody = (channel.type !== DEFAULT_CHANNEL_TYPE.DIRECT ? makeUsername(contactsMap[user.id], user, getFromContacts) + ': ' : '') + " reacted " + reaction + " to \"" + (attachmentType || '') + (attachmentType && body ? ': ' : '') + body + "\"";
|
|
10490
|
+
} else {
|
|
10491
|
+
notificationBody = isDirectChannel ? "" + (attachmentType || '') + (attachmentType && body ? ': ' : '') + body : makeUsername(contactsMap[user.id], user, getFromContacts) + "\n" + (attachmentType || '') + (attachmentType && body ? ': ' : '') + body;
|
|
10492
|
+
}
|
|
10414
10493
|
var notification;
|
|
10415
|
-
if (
|
|
10416
|
-
if (
|
|
10417
|
-
|
|
10418
|
-
|
|
10419
|
-
|
|
10420
|
-
|
|
10494
|
+
if (isNotificationSupported()) {
|
|
10495
|
+
if (notificationPermission === 'granted') {
|
|
10496
|
+
try {
|
|
10497
|
+
notification = new Notification(title, {
|
|
10498
|
+
body: notificationBody,
|
|
10499
|
+
icon: logoSrc || '',
|
|
10500
|
+
tag: 'sceyt-notification',
|
|
10501
|
+
requireInteraction: false
|
|
10502
|
+
});
|
|
10503
|
+
notification.onclick = function (event) {
|
|
10504
|
+
event.preventDefault();
|
|
10505
|
+
window.focus();
|
|
10506
|
+
store.dispatch({
|
|
10507
|
+
type: SWITCH_CHANNEL,
|
|
10508
|
+
payload: {
|
|
10509
|
+
channel: channel
|
|
10510
|
+
}
|
|
10511
|
+
});
|
|
10512
|
+
notification.close();
|
|
10513
|
+
};
|
|
10514
|
+
setTimeout(function () {
|
|
10515
|
+
if (notification) {
|
|
10516
|
+
notification.close();
|
|
10517
|
+
}
|
|
10518
|
+
}, 5000);
|
|
10519
|
+
} catch (error) {
|
|
10520
|
+
console.error('Error creating native notification:', error);
|
|
10521
|
+
notification = createCustomNotification(title, notificationBody);
|
|
10522
|
+
}
|
|
10523
|
+
} else if (notificationPermission === 'default') {
|
|
10524
|
+
requestPermissionOnUserInteraction();
|
|
10525
|
+
notification = createCustomNotification(title, notificationBody);
|
|
10421
10526
|
} else {
|
|
10422
|
-
notification =
|
|
10423
|
-
body: isDirectChannel ? "" + (attachmentType || '') + (attachmentType && body ? ': ' : '') + body : makeUsername(contactsMap[user.id], user, getFromContacts) + "\n" + (attachmentType || '') + (attachmentType && body ? ': ' : '') + body,
|
|
10424
|
-
icon: logoSrc
|
|
10425
|
-
});
|
|
10527
|
+
notification = createCustomNotification(title, notificationBody);
|
|
10426
10528
|
}
|
|
10427
|
-
|
|
10428
|
-
|
|
10429
|
-
|
|
10430
|
-
|
|
10431
|
-
|
|
10432
|
-
payload: {
|
|
10433
|
-
channel: channel
|
|
10434
|
-
}
|
|
10435
|
-
});
|
|
10436
|
-
notification.close();
|
|
10437
|
-
};
|
|
10438
|
-
if (window.sceytTabNotifications) {
|
|
10529
|
+
} else {
|
|
10530
|
+
notification = createCustomNotification(title, notificationBody);
|
|
10531
|
+
}
|
|
10532
|
+
if (window.sceytTabNotifications) {
|
|
10533
|
+
try {
|
|
10439
10534
|
window.sceytTabNotifications.close();
|
|
10535
|
+
} catch (error) {
|
|
10536
|
+
console.warn('Error closing previous notification:', error);
|
|
10440
10537
|
}
|
|
10441
|
-
window.sceytTabNotifications = notification;
|
|
10442
10538
|
}
|
|
10539
|
+
window.sceytTabNotifications = notification;
|
|
10443
10540
|
};
|
|
10444
10541
|
var setNotificationLogoSrc = function setNotificationLogoSrc(src) {
|
|
10445
10542
|
logoSrc = src;
|
|
@@ -10453,6 +10550,31 @@ var setShowNotifications = function setShowNotifications(show) {
|
|
|
10453
10550
|
var getShowNotifications = function getShowNotifications() {
|
|
10454
10551
|
return showNotifications;
|
|
10455
10552
|
};
|
|
10553
|
+
var initializeNotifications = function initializeNotifications() {
|
|
10554
|
+
try {
|
|
10555
|
+
if (isNotificationSupported()) {
|
|
10556
|
+
notificationPermission = Notification.permission;
|
|
10557
|
+
if (notificationPermission === 'default') {
|
|
10558
|
+
console.log('Notification permission not yet requested');
|
|
10559
|
+
}
|
|
10560
|
+
}
|
|
10561
|
+
return Promise.resolve();
|
|
10562
|
+
} catch (e) {
|
|
10563
|
+
return Promise.reject(e);
|
|
10564
|
+
}
|
|
10565
|
+
};
|
|
10566
|
+
var requestPermissionOnUserInteraction = function requestPermissionOnUserInteraction() {
|
|
10567
|
+
try {
|
|
10568
|
+
var _temp = function () {
|
|
10569
|
+
if (notificationPermission === 'default') {
|
|
10570
|
+
return Promise.resolve(requestNotificationPermission()).then(function () {});
|
|
10571
|
+
}
|
|
10572
|
+
}();
|
|
10573
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
|
10574
|
+
} catch (e) {
|
|
10575
|
+
return Promise.reject(e);
|
|
10576
|
+
}
|
|
10577
|
+
};
|
|
10456
10578
|
|
|
10457
10579
|
function getMembersAC(channelId) {
|
|
10458
10580
|
return {
|
|
@@ -17007,14 +17129,14 @@ function editMessage(action) {
|
|
|
17007
17129
|
}, _marked6$1, null, [[0, 21]]);
|
|
17008
17130
|
}
|
|
17009
17131
|
function getMessagesQuery(action) {
|
|
17010
|
-
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, pendingMessages,
|
|
17132
|
+
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, pendingMessages, _messagesMap, filteredPendingMessages, _secondResult2, _thirdResult, _secondResult3, _pendingMessages, _messagesMap2, _filteredPendingMessages, _secondResult4, _pendingMessages2, _messagesMap3, _filteredPendingMessages2;
|
|
17011
17133
|
return _regeneratorRuntime().wrap(function getMessagesQuery$(_context9) {
|
|
17012
17134
|
while (1) switch (_context9.prev = _context9.next) {
|
|
17013
17135
|
case 0:
|
|
17014
17136
|
_context9.prev = 0;
|
|
17015
17137
|
_action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages;
|
|
17016
17138
|
if (!(channel.id && !channel.isMockChannel)) {
|
|
17017
|
-
_context9.next =
|
|
17139
|
+
_context9.next = 178;
|
|
17018
17140
|
break;
|
|
17019
17141
|
}
|
|
17020
17142
|
SceytChatClient = getClient();
|
|
@@ -17035,13 +17157,13 @@ function getMessagesQuery(action) {
|
|
|
17035
17157
|
hasNext: false
|
|
17036
17158
|
};
|
|
17037
17159
|
if (!loadWithLastMessage) {
|
|
17038
|
-
_context9.next =
|
|
17160
|
+
_context9.next = 57;
|
|
17039
17161
|
break;
|
|
17040
17162
|
}
|
|
17041
17163
|
allMessages = getAllMessages();
|
|
17042
17164
|
havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
|
|
17043
17165
|
if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
|
|
17044
|
-
_context9.next =
|
|
17166
|
+
_context9.next = 47;
|
|
17045
17167
|
break;
|
|
17046
17168
|
}
|
|
17047
17169
|
setHasPrevCached(false);
|
|
@@ -17066,37 +17188,44 @@ function getMessagesQuery(action) {
|
|
|
17066
17188
|
if (withDeliveredMessages) {
|
|
17067
17189
|
sentMessages = getFromAllMessagesByMessageId('', '', true);
|
|
17068
17190
|
}
|
|
17069
|
-
|
|
17070
|
-
|
|
17191
|
+
messagesMap = {};
|
|
17192
|
+
result.messages.forEach(function (msg) {
|
|
17193
|
+
messagesMap[msg.tid || ''] = msg;
|
|
17194
|
+
});
|
|
17195
|
+
filteredSentMessages = sentMessages.filter(function (msg) {
|
|
17196
|
+
return !messagesMap[msg.tid || ''];
|
|
17197
|
+
});
|
|
17198
|
+
result.messages = [].concat(result.messages, filteredSentMessages);
|
|
17199
|
+
_context9.next = 39;
|
|
17071
17200
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17072
|
-
case
|
|
17201
|
+
case 39:
|
|
17073
17202
|
setMessagesToMap(channel.id, result.messages);
|
|
17074
17203
|
setAllMessages(result.messages);
|
|
17075
|
-
_context9.next =
|
|
17204
|
+
_context9.next = 43;
|
|
17076
17205
|
return effects.put(setMessagesHasPrevAC(true));
|
|
17077
|
-
case
|
|
17078
|
-
_context9.next =
|
|
17206
|
+
case 43:
|
|
17207
|
+
_context9.next = 45;
|
|
17079
17208
|
return effects.put(markChannelAsReadAC(channel.id));
|
|
17080
|
-
case
|
|
17081
|
-
_context9.next =
|
|
17209
|
+
case 45:
|
|
17210
|
+
_context9.next = 52;
|
|
17082
17211
|
break;
|
|
17083
|
-
case
|
|
17212
|
+
case 47:
|
|
17084
17213
|
result.messages = getFromAllMessagesByMessageId('', '', true);
|
|
17085
|
-
_context9.next =
|
|
17214
|
+
_context9.next = 50;
|
|
17086
17215
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17087
|
-
case
|
|
17088
|
-
_context9.next =
|
|
17216
|
+
case 50:
|
|
17217
|
+
_context9.next = 52;
|
|
17089
17218
|
return effects.put(setMessagesHasPrevAC(true));
|
|
17090
|
-
case
|
|
17091
|
-
_context9.next =
|
|
17219
|
+
case 52:
|
|
17220
|
+
_context9.next = 54;
|
|
17092
17221
|
return effects.put(setMessagesHasNextAC(false));
|
|
17093
|
-
case
|
|
17222
|
+
case 54:
|
|
17094
17223
|
setHasNextCached(false);
|
|
17095
|
-
_context9.next =
|
|
17224
|
+
_context9.next = 167;
|
|
17096
17225
|
break;
|
|
17097
|
-
case
|
|
17226
|
+
case 57:
|
|
17098
17227
|
if (!messageId) {
|
|
17099
|
-
_context9.next =
|
|
17228
|
+
_context9.next = 100;
|
|
17100
17229
|
break;
|
|
17101
17230
|
}
|
|
17102
17231
|
_allMessages = getAllMessages();
|
|
@@ -17105,181 +17234,181 @@ function getMessagesQuery(action) {
|
|
|
17105
17234
|
});
|
|
17106
17235
|
maxLengthPart = MESSAGES_MAX_LENGTH / 2;
|
|
17107
17236
|
if (!(messageIndex >= maxLengthPart)) {
|
|
17108
|
-
_context9.next =
|
|
17237
|
+
_context9.next = 69;
|
|
17109
17238
|
break;
|
|
17110
17239
|
}
|
|
17111
17240
|
result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
|
|
17112
|
-
_context9.next =
|
|
17241
|
+
_context9.next = 65;
|
|
17113
17242
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17114
|
-
case
|
|
17243
|
+
case 65:
|
|
17115
17244
|
setHasPrevCached(messageIndex > maxLengthPart);
|
|
17116
17245
|
setHasNextCached(_allMessages.length > maxLengthPart);
|
|
17117
|
-
_context9.next =
|
|
17246
|
+
_context9.next = 96;
|
|
17118
17247
|
break;
|
|
17119
|
-
case
|
|
17248
|
+
case 69:
|
|
17120
17249
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
17121
17250
|
log.info('load by message id from server ...............', messageId);
|
|
17122
|
-
_context9.next =
|
|
17251
|
+
_context9.next = 73;
|
|
17123
17252
|
return effects.call(messageQuery.loadNearMessageId, messageId);
|
|
17124
|
-
case
|
|
17253
|
+
case 73:
|
|
17125
17254
|
result = _context9.sent;
|
|
17126
17255
|
if (!(result.messages.length === 50)) {
|
|
17127
|
-
_context9.next =
|
|
17256
|
+
_context9.next = 86;
|
|
17128
17257
|
break;
|
|
17129
17258
|
}
|
|
17130
17259
|
messageQuery.limit = (MESSAGES_MAX_LENGTH - 50) / 2;
|
|
17131
|
-
_context9.next =
|
|
17260
|
+
_context9.next = 78;
|
|
17132
17261
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
17133
|
-
case
|
|
17262
|
+
case 78:
|
|
17134
17263
|
_secondResult = _context9.sent;
|
|
17135
17264
|
messageQuery.reverse = false;
|
|
17136
|
-
_context9.next =
|
|
17265
|
+
_context9.next = 82;
|
|
17137
17266
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
17138
|
-
case
|
|
17267
|
+
case 82:
|
|
17139
17268
|
thirdResult = _context9.sent;
|
|
17140
17269
|
result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
|
|
17141
17270
|
result.hasNext = _secondResult.hasNext;
|
|
17142
17271
|
messageQuery.reverse = true;
|
|
17143
|
-
case
|
|
17272
|
+
case 86:
|
|
17144
17273
|
log.info('result from server ....... ', result);
|
|
17145
|
-
_context9.next =
|
|
17274
|
+
_context9.next = 89;
|
|
17146
17275
|
return effects.put(setMessagesHasNextAC(true));
|
|
17147
|
-
case
|
|
17276
|
+
case 89:
|
|
17148
17277
|
pendingMessages = getPendingMessages(channel.id);
|
|
17149
17278
|
if (pendingMessages && pendingMessages.length) {
|
|
17150
|
-
|
|
17279
|
+
_messagesMap = {};
|
|
17151
17280
|
result.messages.forEach(function (msg) {
|
|
17152
|
-
|
|
17281
|
+
_messagesMap[msg.tid || ''] = msg;
|
|
17153
17282
|
});
|
|
17154
17283
|
filteredPendingMessages = pendingMessages.filter(function (msg) {
|
|
17155
|
-
return !
|
|
17284
|
+
return !_messagesMap[msg.tid || ''];
|
|
17156
17285
|
});
|
|
17157
17286
|
setPendingMessages(channel.id, filteredPendingMessages);
|
|
17158
17287
|
result.messages = [].concat(result.messages, filteredPendingMessages);
|
|
17159
17288
|
}
|
|
17160
|
-
_context9.next =
|
|
17289
|
+
_context9.next = 93;
|
|
17161
17290
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17162
|
-
case
|
|
17291
|
+
case 93:
|
|
17163
17292
|
setAllMessages([].concat(result.messages));
|
|
17164
17293
|
setHasPrevCached(false);
|
|
17165
17294
|
setHasNextCached(false);
|
|
17166
|
-
case
|
|
17167
|
-
_context9.next =
|
|
17295
|
+
case 96:
|
|
17296
|
+
_context9.next = 98;
|
|
17168
17297
|
return effects.put(setScrollToMessagesAC(messageId));
|
|
17169
|
-
case
|
|
17170
|
-
_context9.next =
|
|
17298
|
+
case 98:
|
|
17299
|
+
_context9.next = 167;
|
|
17171
17300
|
break;
|
|
17172
|
-
case
|
|
17301
|
+
case 100:
|
|
17173
17302
|
if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
|
|
17174
|
-
_context9.next =
|
|
17303
|
+
_context9.next = 146;
|
|
17175
17304
|
break;
|
|
17176
17305
|
}
|
|
17177
17306
|
setAllMessages([]);
|
|
17178
17307
|
messageQuery.limit = MESSAGES_MAX_LENGTH;
|
|
17179
17308
|
if (!Number(channel.lastDisplayedMessageId)) {
|
|
17180
|
-
_context9.next =
|
|
17309
|
+
_context9.next = 124;
|
|
17181
17310
|
break;
|
|
17182
17311
|
}
|
|
17183
|
-
_context9.next =
|
|
17312
|
+
_context9.next = 106;
|
|
17184
17313
|
return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
|
|
17185
|
-
case
|
|
17314
|
+
case 106:
|
|
17186
17315
|
result = _context9.sent;
|
|
17187
17316
|
if (!(result.messages.length === 50)) {
|
|
17188
|
-
_context9.next =
|
|
17317
|
+
_context9.next = 122;
|
|
17189
17318
|
break;
|
|
17190
17319
|
}
|
|
17191
17320
|
messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
|
|
17192
|
-
_context9.next =
|
|
17321
|
+
_context9.next = 111;
|
|
17193
17322
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
17194
|
-
case
|
|
17323
|
+
case 111:
|
|
17195
17324
|
_secondResult2 = _context9.sent;
|
|
17196
17325
|
if (!(channel.newMessageCount > 25)) {
|
|
17197
|
-
_context9.next =
|
|
17326
|
+
_context9.next = 121;
|
|
17198
17327
|
break;
|
|
17199
17328
|
}
|
|
17200
17329
|
messageQuery.reverse = false;
|
|
17201
|
-
_context9.next =
|
|
17330
|
+
_context9.next = 116;
|
|
17202
17331
|
return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
|
|
17203
|
-
case
|
|
17332
|
+
case 116:
|
|
17204
17333
|
_thirdResult = _context9.sent;
|
|
17205
17334
|
result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
|
|
17206
17335
|
messageQuery.reverse = true;
|
|
17207
|
-
_context9.next =
|
|
17336
|
+
_context9.next = 122;
|
|
17208
17337
|
break;
|
|
17209
|
-
case
|
|
17338
|
+
case 121:
|
|
17210
17339
|
result.messages = [].concat(_secondResult2.messages, result.messages);
|
|
17211
|
-
case
|
|
17212
|
-
_context9.next =
|
|
17340
|
+
case 122:
|
|
17341
|
+
_context9.next = 134;
|
|
17213
17342
|
break;
|
|
17214
|
-
case
|
|
17215
|
-
_context9.next =
|
|
17343
|
+
case 124:
|
|
17344
|
+
_context9.next = 126;
|
|
17216
17345
|
return effects.call(messageQuery.loadPrevious);
|
|
17217
|
-
case
|
|
17346
|
+
case 126:
|
|
17218
17347
|
result = _context9.sent;
|
|
17219
17348
|
if (!(result.messages.length === 50)) {
|
|
17220
|
-
_context9.next =
|
|
17349
|
+
_context9.next = 134;
|
|
17221
17350
|
break;
|
|
17222
17351
|
}
|
|
17223
17352
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
17224
|
-
_context9.next =
|
|
17353
|
+
_context9.next = 131;
|
|
17225
17354
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
17226
|
-
case
|
|
17355
|
+
case 131:
|
|
17227
17356
|
_secondResult3 = _context9.sent;
|
|
17228
17357
|
result.messages = [].concat(_secondResult3.messages, result.messages);
|
|
17229
17358
|
result.hasNext = _secondResult3.hasNext;
|
|
17230
|
-
case
|
|
17359
|
+
case 134:
|
|
17231
17360
|
setMessagesToMap(channel.id, result.messages);
|
|
17232
|
-
_context9.next =
|
|
17361
|
+
_context9.next = 137;
|
|
17233
17362
|
return effects.put(setMessagesHasPrevAC(true));
|
|
17234
|
-
case
|
|
17235
|
-
_context9.next =
|
|
17363
|
+
case 137:
|
|
17364
|
+
_context9.next = 139;
|
|
17236
17365
|
return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
|
|
17237
|
-
case
|
|
17366
|
+
case 139:
|
|
17238
17367
|
_pendingMessages = getPendingMessages(channel.id);
|
|
17239
17368
|
if (_pendingMessages && _pendingMessages.length) {
|
|
17240
|
-
|
|
17369
|
+
_messagesMap2 = {};
|
|
17241
17370
|
result.messages.forEach(function (msg) {
|
|
17242
|
-
|
|
17371
|
+
_messagesMap2[msg.tid || ''] = msg;
|
|
17243
17372
|
});
|
|
17244
17373
|
_filteredPendingMessages = _pendingMessages.filter(function (msg) {
|
|
17245
|
-
return !
|
|
17374
|
+
return !_messagesMap2[msg.tid || ''];
|
|
17246
17375
|
});
|
|
17247
17376
|
setPendingMessages(channel.id, _filteredPendingMessages);
|
|
17248
17377
|
result.messages = [].concat(result.messages, _filteredPendingMessages);
|
|
17249
17378
|
}
|
|
17250
17379
|
setAllMessages([].concat(result.messages));
|
|
17251
|
-
_context9.next =
|
|
17380
|
+
_context9.next = 144;
|
|
17252
17381
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17253
|
-
case
|
|
17254
|
-
_context9.next =
|
|
17382
|
+
case 144:
|
|
17383
|
+
_context9.next = 167;
|
|
17255
17384
|
break;
|
|
17256
|
-
case
|
|
17385
|
+
case 146:
|
|
17257
17386
|
setAllMessages([]);
|
|
17258
17387
|
if (!(cachedMessages && cachedMessages.length)) {
|
|
17259
|
-
_context9.next =
|
|
17388
|
+
_context9.next = 151;
|
|
17260
17389
|
break;
|
|
17261
17390
|
}
|
|
17262
17391
|
setAllMessages([].concat(cachedMessages));
|
|
17263
|
-
_context9.next =
|
|
17392
|
+
_context9.next = 151;
|
|
17264
17393
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
|
|
17265
|
-
case
|
|
17394
|
+
case 151:
|
|
17266
17395
|
log.info('load message from server');
|
|
17267
|
-
_context9.next =
|
|
17396
|
+
_context9.next = 154;
|
|
17268
17397
|
return effects.call(messageQuery.loadPrevious);
|
|
17269
|
-
case
|
|
17398
|
+
case 154:
|
|
17270
17399
|
result = _context9.sent;
|
|
17271
17400
|
if (!(result.messages.length === 50)) {
|
|
17272
|
-
_context9.next =
|
|
17401
|
+
_context9.next = 162;
|
|
17273
17402
|
break;
|
|
17274
17403
|
}
|
|
17275
17404
|
messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
|
|
17276
|
-
_context9.next =
|
|
17405
|
+
_context9.next = 159;
|
|
17277
17406
|
return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
|
|
17278
|
-
case
|
|
17407
|
+
case 159:
|
|
17279
17408
|
_secondResult4 = _context9.sent;
|
|
17280
17409
|
result.messages = [].concat(_secondResult4.messages, result.messages);
|
|
17281
17410
|
result.hasNext = _secondResult4.hasNext;
|
|
17282
|
-
case
|
|
17411
|
+
case 162:
|
|
17283
17412
|
result.messages.forEach(function (msg) {
|
|
17284
17413
|
updateMessageOnMap(channel.id, {
|
|
17285
17414
|
messageId: msg.id,
|
|
@@ -17287,58 +17416,58 @@ function getMessagesQuery(action) {
|
|
|
17287
17416
|
});
|
|
17288
17417
|
updateMessageOnAllMessages(msg.id, msg);
|
|
17289
17418
|
});
|
|
17290
|
-
_context9.next =
|
|
17419
|
+
_context9.next = 165;
|
|
17291
17420
|
return effects.put(setMessagesHasPrevAC(result.hasNext));
|
|
17292
|
-
case
|
|
17293
|
-
_context9.next =
|
|
17421
|
+
case 165:
|
|
17422
|
+
_context9.next = 167;
|
|
17294
17423
|
return effects.put(setMessagesHasNextAC(false));
|
|
17295
|
-
case
|
|
17424
|
+
case 167:
|
|
17296
17425
|
if (cachedMessages && cachedMessages.length) {
|
|
17297
|
-
_context9.next =
|
|
17426
|
+
_context9.next = 174;
|
|
17298
17427
|
break;
|
|
17299
17428
|
}
|
|
17300
17429
|
_pendingMessages2 = getPendingMessages(channel.id);
|
|
17301
17430
|
if (_pendingMessages2 && _pendingMessages2.length) {
|
|
17302
|
-
|
|
17431
|
+
_messagesMap3 = {};
|
|
17303
17432
|
result.messages.forEach(function (msg) {
|
|
17304
|
-
|
|
17433
|
+
_messagesMap3[msg.tid || ''] = msg;
|
|
17305
17434
|
});
|
|
17306
17435
|
_filteredPendingMessages2 = _pendingMessages2.filter(function (msg) {
|
|
17307
|
-
return !
|
|
17436
|
+
return !_messagesMap3[msg.tid || ''];
|
|
17308
17437
|
});
|
|
17309
17438
|
setPendingMessages(channel.id, _filteredPendingMessages2);
|
|
17310
17439
|
result.messages = [].concat(result.messages, _filteredPendingMessages2);
|
|
17311
17440
|
}
|
|
17312
|
-
_context9.next =
|
|
17441
|
+
_context9.next = 172;
|
|
17313
17442
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
|
|
17314
|
-
case
|
|
17443
|
+
case 172:
|
|
17315
17444
|
setMessagesToMap(channel.id, result.messages);
|
|
17316
17445
|
setAllMessages([].concat(result.messages));
|
|
17317
|
-
case
|
|
17318
|
-
_context9.next =
|
|
17446
|
+
case 174:
|
|
17447
|
+
_context9.next = 176;
|
|
17319
17448
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
17320
|
-
case
|
|
17321
|
-
_context9.next =
|
|
17449
|
+
case 176:
|
|
17450
|
+
_context9.next = 181;
|
|
17322
17451
|
break;
|
|
17323
|
-
case
|
|
17452
|
+
case 178:
|
|
17324
17453
|
if (!channel.isMockChannel) {
|
|
17325
|
-
_context9.next =
|
|
17454
|
+
_context9.next = 181;
|
|
17326
17455
|
break;
|
|
17327
17456
|
}
|
|
17328
|
-
_context9.next =
|
|
17457
|
+
_context9.next = 181;
|
|
17329
17458
|
return effects.put(setMessagesAC([]));
|
|
17330
|
-
case
|
|
17331
|
-
_context9.next =
|
|
17459
|
+
case 181:
|
|
17460
|
+
_context9.next = 186;
|
|
17332
17461
|
break;
|
|
17333
|
-
case
|
|
17334
|
-
_context9.prev =
|
|
17462
|
+
case 183:
|
|
17463
|
+
_context9.prev = 183;
|
|
17335
17464
|
_context9.t0 = _context9["catch"](0);
|
|
17336
17465
|
log.error('error in message query', _context9.t0);
|
|
17337
|
-
case
|
|
17466
|
+
case 186:
|
|
17338
17467
|
case "end":
|
|
17339
17468
|
return _context9.stop();
|
|
17340
17469
|
}
|
|
17341
|
-
}, _marked7$1, null, [[0,
|
|
17470
|
+
}, _marked7$1, null, [[0, 183]]);
|
|
17342
17471
|
}
|
|
17343
17472
|
function loadMoreMessages(action) {
|
|
17344
17473
|
var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result;
|
|
@@ -18873,6 +19002,9 @@ var SceytChat = function SceytChat(_ref) {
|
|
|
18873
19002
|
dispatch(setIsDraggingAC(true));
|
|
18874
19003
|
}
|
|
18875
19004
|
};
|
|
19005
|
+
var handleUserInteraction = function handleUserInteraction() {
|
|
19006
|
+
requestPermissionOnUserInteraction();
|
|
19007
|
+
};
|
|
18876
19008
|
var handleVisibilityChange = function handleVisibilityChange() {
|
|
18877
19009
|
if (document[hidden]) {
|
|
18878
19010
|
setTabIsActive(false);
|
|
@@ -18964,15 +19096,7 @@ var SceytChat = function SceytChat(_ref) {
|
|
|
18964
19096
|
setChannelTypesFilter(channelTypeFilter);
|
|
18965
19097
|
}
|
|
18966
19098
|
if (showNotifications) {
|
|
18967
|
-
|
|
18968
|
-
if (window.Notification && Notification.permission === 'default') {
|
|
18969
|
-
Promise.resolve(Notification.requestPermission()).then(function (permission) {
|
|
18970
|
-
log.info('permission:', permission);
|
|
18971
|
-
});
|
|
18972
|
-
}
|
|
18973
|
-
} catch (e) {
|
|
18974
|
-
log.error('safari Notification request permission', e);
|
|
18975
|
-
}
|
|
19099
|
+
initializeNotifications();
|
|
18976
19100
|
window.sceytTabNotifications = null;
|
|
18977
19101
|
window.sceytTabUrl = window.location.href;
|
|
18978
19102
|
window.addEventListener('focus', function () {
|
|
@@ -19048,6 +19172,7 @@ var SceytChat = function SceytChat(_ref) {
|
|
|
19048
19172
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, SceytChatClient ? (/*#__PURE__*/React__default.createElement(ChatContainer, {
|
|
19049
19173
|
onDrop: handleDropFile,
|
|
19050
19174
|
onDragOver: handleDragOver,
|
|
19175
|
+
onClick: handleUserInteraction,
|
|
19051
19176
|
withChannelsList: channelsListWidth && channelsListWidth > 0,
|
|
19052
19177
|
backgroundColor: backgroundColor,
|
|
19053
19178
|
highlightedBackground: highlightedBackground,
|
|
@@ -19502,20 +19627,24 @@ var DeletedAvatarWrapper = styled__default(SvgDeletedUserAvatar)(_templateObject
|
|
|
19502
19627
|
});
|
|
19503
19628
|
|
|
19504
19629
|
var _templateObject$4, _templateObject2$4, _templateObject3$3, _templateObject4$3, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject0$1, _templateObject1$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1;
|
|
19505
|
-
var
|
|
19506
|
-
var
|
|
19507
|
-
|
|
19508
|
-
|
|
19509
|
-
|
|
19510
|
-
|
|
19511
|
-
|
|
19512
|
-
|
|
19513
|
-
|
|
19514
|
-
|
|
19515
|
-
|
|
19516
|
-
|
|
19517
|
-
|
|
19518
|
-
|
|
19630
|
+
var LastMessageAttachments = function LastMessageAttachments(_ref) {
|
|
19631
|
+
var lastMessage = _ref.lastMessage;
|
|
19632
|
+
return !!(lastMessage.attachments && lastMessage.attachments.length) && (lastMessage.attachments[0].type === attachmentTypes.image ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgPicture, null), lastMessage.body ? '' : 'Photo')) : lastMessage.attachments[0].type === attachmentTypes.video ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVideoCall, null), lastMessage.body ? '' : 'Video')) : lastMessage.attachments[0].type === attachmentTypes.file ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgChoseFile, null), lastMessage.body ? '' : 'File')) : lastMessage.attachments[0].type === attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVoiceIcon, null), lastMessage.body ? '' : 'Voice')) : null);
|
|
19633
|
+
};
|
|
19634
|
+
var ChannelMessageText = function ChannelMessageText(_ref2) {
|
|
19635
|
+
var isTypingOrRecording = _ref2.isTypingOrRecording,
|
|
19636
|
+
textPrimary = _ref2.textPrimary,
|
|
19637
|
+
textSecondary = _ref2.textSecondary,
|
|
19638
|
+
draftMessageText = _ref2.draftMessageText,
|
|
19639
|
+
lastMessage = _ref2.lastMessage,
|
|
19640
|
+
user = _ref2.user,
|
|
19641
|
+
contactsMap = _ref2.contactsMap,
|
|
19642
|
+
getFromContacts = _ref2.getFromContacts,
|
|
19643
|
+
lastMessageMetas = _ref2.lastMessageMetas,
|
|
19644
|
+
accentColor = _ref2.accentColor,
|
|
19645
|
+
typingOrRecording = _ref2.typingOrRecording,
|
|
19646
|
+
channel = _ref2.channel,
|
|
19647
|
+
isDirectChannel = _ref2.isDirectChannel;
|
|
19519
19648
|
return /*#__PURE__*/React__default.createElement(MessageTextContainer, null, isTypingOrRecording && (/*#__PURE__*/React__default.createElement(TypingIndicator, null, !isDirectChannel && /*#__PURE__*/React__default.createElement(Points, {
|
|
19520
19649
|
color: textPrimary
|
|
19521
19650
|
}, ":"), typingOrRecording.isTyping ? 'typing' : 'recording', "...")), !isTypingOrRecording && (draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageText, {
|
|
@@ -19524,7 +19653,9 @@ var ChannelMessageText = function ChannelMessageText(_ref) {
|
|
|
19524
19653
|
return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
|
|
19525
19654
|
})) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'RM' ? " removed " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
|
|
19526
19655
|
return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
|
|
19527
|
-
})) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')),
|
|
19656
|
+
})) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(LastMessageDescription, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')), LastMessageAttachments({
|
|
19657
|
+
lastMessage: lastMessage
|
|
19658
|
+
}), !!(lastMessage && lastMessage.id) && MessageTextFormat({
|
|
19528
19659
|
text: lastMessage.body,
|
|
19529
19660
|
message: lastMessage,
|
|
19530
19661
|
contactsMap: contactsMap,
|
|
@@ -19532,34 +19663,34 @@ var ChannelMessageText = function ChannelMessageText(_ref) {
|
|
|
19532
19663
|
isLastMessage: true,
|
|
19533
19664
|
accentColor: accentColor,
|
|
19534
19665
|
textSecondary: textSecondary
|
|
19535
|
-
})
|
|
19666
|
+
}), channel.lastReactedMessage && '"')))));
|
|
19536
19667
|
};
|
|
19537
|
-
var Channel = function Channel(
|
|
19668
|
+
var Channel = function Channel(_ref3) {
|
|
19538
19669
|
var _channel$metadata, _channel$metadata2;
|
|
19539
|
-
var channel =
|
|
19540
|
-
theme =
|
|
19541
|
-
|
|
19542
|
-
showAvatar =
|
|
19543
|
-
avatarBorderRadius =
|
|
19544
|
-
notificationsIsMutedIcon =
|
|
19545
|
-
notificationsIsMutedIconColor =
|
|
19546
|
-
pinedIcon =
|
|
19547
|
-
selectedChannelLeftBorder =
|
|
19548
|
-
selectedChannelBackground =
|
|
19549
|
-
contactsMap =
|
|
19550
|
-
selectedChannelBorderRadius =
|
|
19551
|
-
selectedChannelPaddings =
|
|
19552
|
-
channelsPaddings =
|
|
19553
|
-
channelsMargin =
|
|
19554
|
-
channelHoverBackground =
|
|
19555
|
-
channelSubjectFontSize =
|
|
19556
|
-
channelSubjectLineHeight =
|
|
19557
|
-
channelSubjectColor =
|
|
19558
|
-
channelLastMessageFontSize =
|
|
19559
|
-
channelLastMessageTimeFontSize =
|
|
19560
|
-
channelLastMessageHeight =
|
|
19561
|
-
channelAvatarSize =
|
|
19562
|
-
channelAvatarTextSize =
|
|
19670
|
+
var channel = _ref3.channel,
|
|
19671
|
+
theme = _ref3.theme,
|
|
19672
|
+
_ref3$showAvatar = _ref3.showAvatar,
|
|
19673
|
+
showAvatar = _ref3$showAvatar === void 0 ? true : _ref3$showAvatar,
|
|
19674
|
+
avatarBorderRadius = _ref3.avatarBorderRadius,
|
|
19675
|
+
notificationsIsMutedIcon = _ref3.notificationsIsMutedIcon,
|
|
19676
|
+
notificationsIsMutedIconColor = _ref3.notificationsIsMutedIconColor,
|
|
19677
|
+
pinedIcon = _ref3.pinedIcon,
|
|
19678
|
+
selectedChannelLeftBorder = _ref3.selectedChannelLeftBorder,
|
|
19679
|
+
selectedChannelBackground = _ref3.selectedChannelBackground,
|
|
19680
|
+
contactsMap = _ref3.contactsMap,
|
|
19681
|
+
selectedChannelBorderRadius = _ref3.selectedChannelBorderRadius,
|
|
19682
|
+
selectedChannelPaddings = _ref3.selectedChannelPaddings,
|
|
19683
|
+
channelsPaddings = _ref3.channelsPaddings,
|
|
19684
|
+
channelsMargin = _ref3.channelsMargin,
|
|
19685
|
+
channelHoverBackground = _ref3.channelHoverBackground,
|
|
19686
|
+
channelSubjectFontSize = _ref3.channelSubjectFontSize,
|
|
19687
|
+
channelSubjectLineHeight = _ref3.channelSubjectLineHeight,
|
|
19688
|
+
channelSubjectColor = _ref3.channelSubjectColor,
|
|
19689
|
+
channelLastMessageFontSize = _ref3.channelLastMessageFontSize,
|
|
19690
|
+
channelLastMessageTimeFontSize = _ref3.channelLastMessageTimeFontSize,
|
|
19691
|
+
channelLastMessageHeight = _ref3.channelLastMessageHeight,
|
|
19692
|
+
channelAvatarSize = _ref3.channelAvatarSize,
|
|
19693
|
+
channelAvatarTextSize = _ref3.channelAvatarTextSize;
|
|
19563
19694
|
var _useColor = useColors(),
|
|
19564
19695
|
accentColor = _useColor[THEME_COLORS.ACCENT],
|
|
19565
19696
|
textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
|
|
@@ -19811,9 +19942,9 @@ var Container$2 = styled__default.div(_templateObject6$1 || (_templateObject6$1
|
|
|
19811
19942
|
return props.channelsMargin || '0 8px';
|
|
19812
19943
|
}, function (props) {
|
|
19813
19944
|
return props.selectedChannelBorderRadius || '12px';
|
|
19814
|
-
}, function (
|
|
19815
|
-
var selectedChannel =
|
|
19816
|
-
hoverBackground =
|
|
19945
|
+
}, function (_ref4) {
|
|
19946
|
+
var selectedChannel = _ref4.selectedChannel,
|
|
19947
|
+
hoverBackground = _ref4.hoverBackground;
|
|
19817
19948
|
return !selectedChannel && "\n background-color: " + hoverBackground + ";\n ";
|
|
19818
19949
|
}, UserStatus, function (props) {
|
|
19819
19950
|
return props.selectedChannel ? props.selectedBackgroundColor : props.hoverBackground;
|
|
@@ -19828,9 +19959,9 @@ var DraftMessageText = styled__default.span(_templateObject8$1 || (_templateObje
|
|
|
19828
19959
|
});
|
|
19829
19960
|
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) {
|
|
19830
19961
|
return props.color;
|
|
19831
|
-
}, function (
|
|
19832
|
-
var typing =
|
|
19833
|
-
recording =
|
|
19962
|
+
}, function (_ref5) {
|
|
19963
|
+
var typing = _ref5.typing,
|
|
19964
|
+
recording = _ref5.recording;
|
|
19834
19965
|
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 ";
|
|
19835
19966
|
});
|
|
19836
19967
|
var Points = styled__default.span(_templateObject0$1 || (_templateObject0$1 = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n color: ", ";\n font-style: normal;\n"])), function (props) {
|
|
@@ -19847,7 +19978,7 @@ var LastMessageText = styled__default.span(_templateObject1$1 || (_templateObjec
|
|
|
19847
19978
|
}, function (props) {
|
|
19848
19979
|
return props.color;
|
|
19849
19980
|
});
|
|
19850
|
-
var LastMessageDescription = styled__default.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n"])));
|
|
19981
|
+
var LastMessageDescription = styled__default.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n & > svg {\n width: 18px;\n height: 18px;\n margin: 3px 0 -3px 0;\n margin-right: 4px;\n }\n"])));
|
|
19851
19982
|
var ChannelStatus = styled__default.div(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteralLoose(["\n position: absolute;\n right: 16px;\n top: 15px;\n display: flex;\n flex-wrap: wrap;\n height: 42px;\n margin-left: auto;\n\n & > svg {\n width: 16px;\n height: 16px;\n color: ", ";\n }\n"])), function (props) {
|
|
19852
19983
|
return props.color;
|
|
19853
19984
|
});
|
|
@@ -30789,8 +30920,7 @@ var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
|
|
|
30789
30920
|
};
|
|
30790
30921
|
var MessageList = function MessageList(_ref2) {
|
|
30791
30922
|
var _channel$lastMessage, _channel$lastMessage3, _scrollRef$current;
|
|
30792
|
-
var
|
|
30793
|
-
fontFamily = _ref2.fontFamily,
|
|
30923
|
+
var fontFamily = _ref2.fontFamily,
|
|
30794
30924
|
_ref2$ownMessageOnRig = _ref2.ownMessageOnRightSide,
|
|
30795
30925
|
ownMessageOnRightSide = _ref2$ownMessageOnRig === void 0 ? true : _ref2$ownMessageOnRig,
|
|
30796
30926
|
messageWidthPercent = _ref2.messageWidthPercent,
|
|
@@ -30963,6 +31093,7 @@ var MessageList = function MessageList(_ref2) {
|
|
|
30963
31093
|
var messagesLoading = reactRedux.useSelector(messagesLoadingState);
|
|
30964
31094
|
var draggingSelector = reactRedux.useSelector(isDraggingSelector, reactRedux.shallowEqual);
|
|
30965
31095
|
var showScrollToNewMessageButton = reactRedux.useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
|
|
31096
|
+
var messages = reactRedux.useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
|
|
30966
31097
|
var _useState = React.useState(''),
|
|
30967
31098
|
unreadMessageId = _useState[0],
|
|
30968
31099
|
setUnreadMessageId = _useState[1];
|
|
@@ -31049,14 +31180,14 @@ var MessageList = function MessageList(_ref2) {
|
|
|
31049
31180
|
if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
|
|
31050
31181
|
dispatch(getMessagesAC(channel, true));
|
|
31051
31182
|
}
|
|
31183
|
+
if (target.scrollTop <= -50) {
|
|
31184
|
+
dispatch(showScrollToNewMessageButtonAC(true));
|
|
31185
|
+
} else {
|
|
31186
|
+
dispatch(showScrollToNewMessageButtonAC(false));
|
|
31187
|
+
}
|
|
31052
31188
|
if (scrollToReply) {
|
|
31053
31189
|
target.scrollTop = scrollToReply;
|
|
31054
31190
|
} else {
|
|
31055
|
-
if (target.scrollTop <= -50) {
|
|
31056
|
-
dispatch(showScrollToNewMessageButtonAC(true));
|
|
31057
|
-
} else {
|
|
31058
|
-
dispatch(showScrollToNewMessageButtonAC(false));
|
|
31059
|
-
}
|
|
31060
31191
|
if (messagesIndexMap[lastVisibleMessageId] < 15 || forceLoadPrevMessages) {
|
|
31061
31192
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
|
|
31062
31193
|
if (messagesLoading === LOADING_STATE.LOADING || loading || prevDisable) {
|
|
@@ -31106,7 +31237,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
31106
31237
|
}) >= 10) {
|
|
31107
31238
|
var repliedMessage = document.getElementById(messageId);
|
|
31108
31239
|
if (repliedMessage) {
|
|
31109
|
-
scrollRef.current.
|
|
31240
|
+
scrollRef.current.scrollTo({
|
|
31241
|
+
top: repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2,
|
|
31242
|
+
behavior: 'smooth'
|
|
31243
|
+
});
|
|
31110
31244
|
repliedMessage.classList.add('highlight');
|
|
31111
31245
|
setTimeout(function () {
|
|
31112
31246
|
repliedMessage.classList.remove('highlight');
|
|
@@ -31239,7 +31373,10 @@ var MessageList = function MessageList(_ref2) {
|
|
|
31239
31373
|
var repliedMessage = document.getElementById(scrollToRepliedMessage);
|
|
31240
31374
|
if (repliedMessage) {
|
|
31241
31375
|
setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
|
|
31242
|
-
scrollRef.current.
|
|
31376
|
+
scrollRef.current.scrollTo({
|
|
31377
|
+
top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
|
|
31378
|
+
behavior: 'smooth'
|
|
31379
|
+
});
|
|
31243
31380
|
scrollRef.current.style.scrollBehavior = 'smooth';
|
|
31244
31381
|
if (!channel.backToLinkedChannel) {
|
|
31245
31382
|
repliedMessage && repliedMessage.classList.add('highlight');
|
|
@@ -31261,12 +31398,18 @@ var MessageList = function MessageList(_ref2) {
|
|
|
31261
31398
|
if (scrollToNewMessage.scrollToBottom) {
|
|
31262
31399
|
if (scrollToNewMessage.isIncomingMessage) {
|
|
31263
31400
|
if (scrollRef.current.scrollTop > -100) {
|
|
31264
|
-
scrollRef.current.
|
|
31401
|
+
scrollRef.current.scrollTo({
|
|
31402
|
+
top: 0,
|
|
31403
|
+
behavior: 'smooth'
|
|
31404
|
+
});
|
|
31265
31405
|
}
|
|
31266
31406
|
} else {
|
|
31267
31407
|
nextDisable = true;
|
|
31268
31408
|
prevDisable = true;
|
|
31269
|
-
scrollRef.current.
|
|
31409
|
+
scrollRef.current.scrollTo({
|
|
31410
|
+
top: 0,
|
|
31411
|
+
behavior: 'smooth'
|
|
31412
|
+
});
|
|
31270
31413
|
dispatch(showScrollToNewMessageButtonAC(false));
|
|
31271
31414
|
setTimeout(function () {
|
|
31272
31415
|
prevDisable = false;
|
|
@@ -31913,9 +32056,7 @@ var MessagesContainer = function MessagesContainer(_ref) {
|
|
|
31913
32056
|
_ref$hiddenMessagesPr = _ref.hiddenMessagesProperties,
|
|
31914
32057
|
hiddenMessagesProperties = _ref$hiddenMessagesPr === void 0 ? [] : _ref$hiddenMessagesPr,
|
|
31915
32058
|
shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention;
|
|
31916
|
-
var messages = reactRedux.useSelector(activeChannelMessagesSelector) || [];
|
|
31917
32059
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MessageList, {
|
|
31918
|
-
messages: messages,
|
|
31919
32060
|
fontFamily: fontFamily,
|
|
31920
32061
|
ownMessageOnRightSide: ownMessageOnRightSide,
|
|
31921
32062
|
messageWidthPercent: messageWidthPercent,
|
|
@@ -38868,7 +39009,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
|
|
|
38868
39009
|
if (repliedMessage) {
|
|
38869
39010
|
var scrollRef = document.getElementById('scrollableDiv');
|
|
38870
39011
|
if (scrollRef) {
|
|
38871
|
-
scrollRef.
|
|
39012
|
+
scrollRef.scrollTo({
|
|
39013
|
+
top: repliedMessage.offsetTop - scrollRef.offsetHeight / 2,
|
|
39014
|
+
behavior: 'smooth'
|
|
39015
|
+
});
|
|
38872
39016
|
}
|
|
38873
39017
|
}
|
|
38874
39018
|
} else {
|