stream-chat-react-native-core 5.39.4 → 5.39.5-beta.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/lib/commonjs/components/MessageList/utils/getDateSeparators.js +3 -2
- package/lib/commonjs/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +34 -31
- package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/MessageList/utils/getDateSeparators.js +3 -2
- package/lib/module/components/MessageList/utils/getDateSeparators.js.map +1 -1
- package/lib/module/components/MessageList/utils/getGroupStyles.js +34 -31
- package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageList/utils/getDateSeparators.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts +1 -0
- package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/MessageList/utils/getDateSeparators.ts +6 -1
- package/src/components/MessageList/utils/getGroupStyles.ts +93 -75
- package/src/version.json +1 -1
|
@@ -12,10 +12,11 @@ var getDateSeparators = function getDateSeparators(params) {
|
|
|
12
12
|
return dateSeparators;
|
|
13
13
|
}
|
|
14
14
|
var messagesWithoutDeleted = messages.filter(function (message) {
|
|
15
|
-
var _message$user;
|
|
15
|
+
var _message$user, _message$user2;
|
|
16
16
|
var isMessageTypeDeleted = message.type === 'deleted';
|
|
17
17
|
var isDeletedMessageVisibleToSender = deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
|
|
18
|
-
|
|
18
|
+
var isDeletedMessageVisibleToReceiver = deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
|
|
19
|
+
return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender || userId !== ((_message$user2 = message.user) == null ? void 0 : _message$user2.id) && isDeletedMessageVisibleToReceiver;
|
|
19
20
|
});
|
|
20
21
|
for (var i = 0; i < messagesWithoutDeleted.length; i++) {
|
|
21
22
|
var previousMessage = messagesWithoutDeleted[i - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA;IAC1D,IAAMC,oBAAoB,
|
|
1
|
+
{"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","_message$user2","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","isDeletedMessageVisibleToReceiver","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAC1D,IAAMC,oBAAoB,GAAGH,OAAO,CAACI,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCZ,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,IAAMa,iCAAiC,GACrCb,6BAA6B,KAAK,UAAU,IAAIA,6BAA6B,KAAK,QAAQ;IAE5F,OACE,CAACU,oBAAoB,IACpBP,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACO,IAAI,qBAAZN,aAAA,CAAcO,EAAE,KAAIH,+BAAgC,IAC/DT,MAAM,OAAAM,cAAA,GAAKF,OAAO,CAACO,IAAI,qBAAZL,cAAA,CAAcM,EAAE,KAAIF,iCAAkC;EAEtE,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,sBAAsB,CAACY,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGb,sBAAsB,CAACW,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMT,OAAO,GAAGF,sBAAsB,CAACW,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGZ,OAAO,CAACa,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ClB,cAAc,CAACG,OAAO,CAACQ,EAAE,CAAC,GAAGR,OAAO,CAACa,UAAU;IACjD;EACF;EAEA,OAAOhB,cAAc;AACvB,CAAC;AAACmB,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -3,6 +3,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
});
|
|
4
4
|
exports.getGroupStyles = void 0;
|
|
5
5
|
var _utils = require("../../../utils/utils");
|
|
6
|
+
var getGroupStyle = function getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages) {
|
|
7
|
+
var _message$user, _previousMessage$user, _nextMessage$user;
|
|
8
|
+
var groupStyles = [];
|
|
9
|
+
var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
|
|
10
|
+
var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
|
|
11
|
+
var userId = (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) || null;
|
|
12
|
+
var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || (0, _utils.isEditedMessage)(previousMessage);
|
|
13
|
+
var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
|
|
14
|
+
if (isTopMessage) {
|
|
15
|
+
groupStyles.push('top');
|
|
16
|
+
}
|
|
17
|
+
var isMessageTypeDeleted = message.type === 'deleted';
|
|
18
|
+
if (isBottomMessage) {
|
|
19
|
+
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
20
|
+
groupStyles.splice(0, groupStyles.length);
|
|
21
|
+
groupStyles.push('single');
|
|
22
|
+
} else {
|
|
23
|
+
groupStyles.push('bottom');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!isTopMessage && !isBottomMessage) {
|
|
27
|
+
if (isMessageTypeDeleted || message.type === 'error') {
|
|
28
|
+
groupStyles.splice(0, groupStyles.length);
|
|
29
|
+
groupStyles.push('single');
|
|
30
|
+
} else {
|
|
31
|
+
groupStyles.splice(0, groupStyles.length);
|
|
32
|
+
groupStyles.push('middle');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return groupStyles;
|
|
36
|
+
};
|
|
6
37
|
var getGroupStyles = function getGroupStyles(params) {
|
|
7
38
|
var dateSeparators = params.dateSeparators,
|
|
8
39
|
hideDateSeparators = params.hideDateSeparators,
|
|
@@ -13,44 +44,16 @@ var getGroupStyles = function getGroupStyles(params) {
|
|
|
13
44
|
if (noGroupByUser) return {};
|
|
14
45
|
var messageGroupStyles = {};
|
|
15
46
|
var messagesFilteredForNonUser = messages.filter(function (message) {
|
|
16
|
-
var _message$
|
|
47
|
+
var _message$user2;
|
|
17
48
|
var isMessageTypeDeleted = message.type === 'deleted';
|
|
18
|
-
return !isMessageTypeDeleted || userId === ((_message$
|
|
49
|
+
return !isMessageTypeDeleted || userId === ((_message$user2 = message.user) == null ? void 0 : _message$user2.id);
|
|
19
50
|
});
|
|
20
51
|
for (var i = 0; i < messagesFilteredForNonUser.length; i++) {
|
|
21
|
-
var _message$user2, _previousMessage$user, _messageGroupStyles$p, _nextMessage$user;
|
|
22
52
|
var previousMessage = messagesFilteredForNonUser[i - 1];
|
|
23
53
|
var message = messagesFilteredForNonUser[i];
|
|
24
54
|
var nextMessage = messagesFilteredForNonUser[i + 1];
|
|
25
|
-
var groupStyles = [];
|
|
26
|
-
var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
|
|
27
|
-
var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
|
|
28
|
-
var _userId = (message == null ? void 0 : (_message$user2 = message.user) == null ? void 0 : _message$user2.id) || null;
|
|
29
|
-
var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || _userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || ((_messageGroupStyles$p = messageGroupStyles[previousMessage.id]) == null ? void 0 : _messageGroupStyles$p.includes('bottom')) || (0, _utils.isEditedMessage)(previousMessage);
|
|
30
|
-
var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || _userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
|
|
31
|
-
if (isTopMessage) {
|
|
32
|
-
groupStyles.push('top');
|
|
33
|
-
}
|
|
34
|
-
var isMessageTypeDeleted = message.type === 'deleted';
|
|
35
|
-
if (isBottomMessage) {
|
|
36
|
-
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
37
|
-
groupStyles.splice(0, groupStyles.length);
|
|
38
|
-
groupStyles.push('single');
|
|
39
|
-
} else {
|
|
40
|
-
groupStyles.push('bottom');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (!isTopMessage && !isBottomMessage) {
|
|
44
|
-
if (isMessageTypeDeleted || message.type === 'error') {
|
|
45
|
-
groupStyles.splice(0, groupStyles.length);
|
|
46
|
-
groupStyles.push('single');
|
|
47
|
-
} else {
|
|
48
|
-
groupStyles.splice(0, groupStyles.length);
|
|
49
|
-
groupStyles.push('middle');
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
55
|
if (message.id) {
|
|
53
|
-
messageGroupStyles[message.id] =
|
|
56
|
+
messageGroupStyles[message.id] = getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
return messageGroupStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","
|
|
1
|
+
{"version":3,"names":["_utils","require","getGroupStyle","dateSeparators","message","previousMessage","nextMessage","hideDateSeparators","maxTimeBetweenGroupedMessages","_message$user","_previousMessage$user","_nextMessage$user","groupStyles","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","userId","user","id","isTopMessage","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","isMessageTypeDeleted","splice","length","getGroupStyles","params","messages","noGroupByUser","messageGroupStyles","messagesFilteredForNonUser","filter","_message$user2","i","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,10 +12,11 @@ var getDateSeparators = function getDateSeparators(params) {
|
|
|
12
12
|
return dateSeparators;
|
|
13
13
|
}
|
|
14
14
|
var messagesWithoutDeleted = messages.filter(function (message) {
|
|
15
|
-
var _message$user;
|
|
15
|
+
var _message$user, _message$user2;
|
|
16
16
|
var isMessageTypeDeleted = message.type === 'deleted';
|
|
17
17
|
var isDeletedMessageVisibleToSender = deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
|
|
18
|
-
|
|
18
|
+
var isDeletedMessageVisibleToReceiver = deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
|
|
19
|
+
return !isMessageTypeDeleted || userId === ((_message$user = message.user) == null ? void 0 : _message$user.id) && isDeletedMessageVisibleToSender || userId !== ((_message$user2 = message.user) == null ? void 0 : _message$user2.id) && isDeletedMessageVisibleToReceiver;
|
|
19
20
|
});
|
|
20
21
|
for (var i = 0; i < messagesWithoutDeleted.length; i++) {
|
|
21
22
|
var previousMessage = messagesWithoutDeleted[i - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA;IAC1D,IAAMC,oBAAoB,
|
|
1
|
+
{"version":3,"names":["getDateSeparators","params","deletedMessagesVisibilityType","hideDateSeparators","messages","userId","dateSeparators","messagesWithoutDeleted","filter","message","_message$user","_message$user2","isMessageTypeDeleted","type","isDeletedMessageVisibleToSender","isDeletedMessageVisibleToReceiver","user","id","i","length","previousMessage","messageDate","created_at","toDateString","prevMessageDate","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getDateSeparators.ts"],"mappings":";;;;AAoBO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAG5BC,MAAmD,EAChD;EACH,IAAQC,6BAA6B,GAA2CD,MAAM,CAA9EC,6BAA6B;IAAEC,kBAAkB,GAAuBF,MAAM,CAA/CE,kBAAkB;IAAEC,QAAQ,GAAaH,MAAM,CAA3BG,QAAQ;IAAEC,MAAM,GAAKJ,MAAM,CAAjBI,MAAM;EAC3E,IAAMC,cAA8B,GAAG,CAAC,CAAC;EAEzC,IAAIH,kBAAkB,EAAE;IACtB,OAAOG,cAAc;EACvB;EAEA,IAAMC,sBAAsB,GAAGH,QAAQ,CAACI,MAAM,CAAC,UAACC,OAAO,EAAK;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAC1D,IAAMC,oBAAoB,GAAGH,OAAO,CAACI,IAAI,KAAK,SAAS;IAEvD,IAAMC,+BAA+B,GACnCZ,6BAA6B,KAAK,QAAQ,IAAIA,6BAA6B,KAAK,QAAQ;IAE1F,IAAMa,iCAAiC,GACrCb,6BAA6B,KAAK,UAAU,IAAIA,6BAA6B,KAAK,QAAQ;IAE5F,OACE,CAACU,oBAAoB,IACpBP,MAAM,OAAAK,aAAA,GAAKD,OAAO,CAACO,IAAI,qBAAZN,aAAA,CAAcO,EAAE,KAAIH,+BAAgC,IAC/DT,MAAM,OAAAM,cAAA,GAAKF,OAAO,CAACO,IAAI,qBAAZL,cAAA,CAAcM,EAAE,KAAIF,iCAAkC;EAEtE,CAAC,CAAC;EAEF,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,sBAAsB,CAACY,MAAM,EAAED,CAAC,EAAE,EAAE;IACtD,IAAME,eAAe,GAAGb,sBAAsB,CAACW,CAAC,GAAG,CAAC,CAAC;IACrD,IAAMT,OAAO,GAAGF,sBAAsB,CAACW,CAAC,CAAC;IAEzC,IAAMG,WAAW,GAAGZ,OAAO,CAACa,UAAU,CAACC,YAAY,CAAC,CAAC;IAErD,IAAMC,eAAe,GAAGJ,eAAe,GACnCA,eAAe,CAACE,UAAU,CAACC,YAAY,CAAC,CAAC,GACzCF,WAAW;IAEf,IAAIH,CAAC,KAAK,CAAC,IAAIG,WAAW,KAAKG,eAAe,EAAE;MAC9ClB,cAAc,CAACG,OAAO,CAACQ,EAAE,CAAC,GAAGR,OAAO,CAACa,UAAU;IACjD;EACF;EAEA,OAAOhB,cAAc;AACvB,CAAC;AAACmB,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -3,6 +3,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
});
|
|
4
4
|
exports.getGroupStyles = void 0;
|
|
5
5
|
var _utils = require("../../../utils/utils");
|
|
6
|
+
var getGroupStyle = function getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages) {
|
|
7
|
+
var _message$user, _previousMessage$user, _nextMessage$user;
|
|
8
|
+
var groupStyles = [];
|
|
9
|
+
var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
|
|
10
|
+
var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
|
|
11
|
+
var userId = (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) || null;
|
|
12
|
+
var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || (0, _utils.isEditedMessage)(previousMessage);
|
|
13
|
+
var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
|
|
14
|
+
if (isTopMessage) {
|
|
15
|
+
groupStyles.push('top');
|
|
16
|
+
}
|
|
17
|
+
var isMessageTypeDeleted = message.type === 'deleted';
|
|
18
|
+
if (isBottomMessage) {
|
|
19
|
+
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
20
|
+
groupStyles.splice(0, groupStyles.length);
|
|
21
|
+
groupStyles.push('single');
|
|
22
|
+
} else {
|
|
23
|
+
groupStyles.push('bottom');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!isTopMessage && !isBottomMessage) {
|
|
27
|
+
if (isMessageTypeDeleted || message.type === 'error') {
|
|
28
|
+
groupStyles.splice(0, groupStyles.length);
|
|
29
|
+
groupStyles.push('single');
|
|
30
|
+
} else {
|
|
31
|
+
groupStyles.splice(0, groupStyles.length);
|
|
32
|
+
groupStyles.push('middle');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return groupStyles;
|
|
36
|
+
};
|
|
6
37
|
var getGroupStyles = function getGroupStyles(params) {
|
|
7
38
|
var dateSeparators = params.dateSeparators,
|
|
8
39
|
hideDateSeparators = params.hideDateSeparators,
|
|
@@ -13,44 +44,16 @@ var getGroupStyles = function getGroupStyles(params) {
|
|
|
13
44
|
if (noGroupByUser) return {};
|
|
14
45
|
var messageGroupStyles = {};
|
|
15
46
|
var messagesFilteredForNonUser = messages.filter(function (message) {
|
|
16
|
-
var _message$
|
|
47
|
+
var _message$user2;
|
|
17
48
|
var isMessageTypeDeleted = message.type === 'deleted';
|
|
18
|
-
return !isMessageTypeDeleted || userId === ((_message$
|
|
49
|
+
return !isMessageTypeDeleted || userId === ((_message$user2 = message.user) == null ? void 0 : _message$user2.id);
|
|
19
50
|
});
|
|
20
51
|
for (var i = 0; i < messagesFilteredForNonUser.length; i++) {
|
|
21
|
-
var _message$user2, _previousMessage$user, _messageGroupStyles$p, _nextMessage$user;
|
|
22
52
|
var previousMessage = messagesFilteredForNonUser[i - 1];
|
|
23
53
|
var message = messagesFilteredForNonUser[i];
|
|
24
54
|
var nextMessage = messagesFilteredForNonUser[i + 1];
|
|
25
|
-
var groupStyles = [];
|
|
26
|
-
var isPrevMessageTypeDeleted = (previousMessage == null ? void 0 : previousMessage.type) === 'deleted';
|
|
27
|
-
var isNextMessageTypeDeleted = (nextMessage == null ? void 0 : nextMessage.type) === 'deleted';
|
|
28
|
-
var _userId = (message == null ? void 0 : (_message$user2 = message.user) == null ? void 0 : _message$user2.id) || null;
|
|
29
|
-
var isTopMessage = !previousMessage || previousMessage.type === 'system' || previousMessage.type === 'error' || _userId !== (previousMessage == null ? void 0 : (_previousMessage$user = previousMessage.user) == null ? void 0 : _previousMessage$user.id) || !!isPrevMessageTypeDeleted || !hideDateSeparators && dateSeparators[message.id] || ((_messageGroupStyles$p = messageGroupStyles[previousMessage.id]) == null ? void 0 : _messageGroupStyles$p.includes('bottom')) || (0, _utils.isEditedMessage)(previousMessage);
|
|
30
|
-
var isBottomMessage = !nextMessage || nextMessage.type === 'system' || nextMessage.type === 'error' || _userId !== (nextMessage == null ? void 0 : (_nextMessage$user = nextMessage.user) == null ? void 0 : _nextMessage$user.id) || !!isNextMessageTypeDeleted || !hideDateSeparators && dateSeparators[nextMessage.id] || maxTimeBetweenGroupedMessages !== undefined && nextMessage.created_at.getTime() - message.created_at.getTime() > maxTimeBetweenGroupedMessages || (0, _utils.isEditedMessage)(message);
|
|
31
|
-
if (isTopMessage) {
|
|
32
|
-
groupStyles.push('top');
|
|
33
|
-
}
|
|
34
|
-
var isMessageTypeDeleted = message.type === 'deleted';
|
|
35
|
-
if (isBottomMessage) {
|
|
36
|
-
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
37
|
-
groupStyles.splice(0, groupStyles.length);
|
|
38
|
-
groupStyles.push('single');
|
|
39
|
-
} else {
|
|
40
|
-
groupStyles.push('bottom');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (!isTopMessage && !isBottomMessage) {
|
|
44
|
-
if (isMessageTypeDeleted || message.type === 'error') {
|
|
45
|
-
groupStyles.splice(0, groupStyles.length);
|
|
46
|
-
groupStyles.push('single');
|
|
47
|
-
} else {
|
|
48
|
-
groupStyles.splice(0, groupStyles.length);
|
|
49
|
-
groupStyles.push('middle');
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
55
|
if (message.id) {
|
|
53
|
-
messageGroupStyles[message.id] =
|
|
56
|
+
messageGroupStyles[message.id] = getGroupStyle(dateSeparators, message, previousMessage, nextMessage, hideDateSeparators, maxTimeBetweenGroupedMessages);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
return messageGroupStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","
|
|
1
|
+
{"version":3,"names":["_utils","require","getGroupStyle","dateSeparators","message","previousMessage","nextMessage","hideDateSeparators","maxTimeBetweenGroupedMessages","_message$user","_previousMessage$user","_nextMessage$user","groupStyles","isPrevMessageTypeDeleted","type","isNextMessageTypeDeleted","userId","user","id","isTopMessage","isEditedMessage","isBottomMessage","undefined","created_at","getTime","push","isMessageTypeDeleted","splice","length","getGroupStyles","params","messages","noGroupByUser","messageGroupStyles","messagesFilteredForNonUser","filter","_message$user2","i","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getGroupStyles.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDateSeparators.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getDateSeparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACvG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,uBAAuB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getDateSeparators.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getDateSeparators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACvG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,uBAAuB,CACjC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,2JA4C7B,CAAC"}
|
|
@@ -10,6 +10,7 @@ export type GetGroupStylesParams<StreamChatGenerics extends DefaultStreamChatGen
|
|
|
10
10
|
noGroupByUser?: boolean;
|
|
11
11
|
userId?: string;
|
|
12
12
|
};
|
|
13
|
+
export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
|
|
13
14
|
export declare const getGroupStyles: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(params: GetGroupStylesParams<StreamChatGenerics>) => {
|
|
14
15
|
[key: string]: string[];
|
|
15
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupStyles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getGroupStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,cAAc;;
|
|
1
|
+
{"version":3,"file":"getGroupStyles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getGroupStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,CAC9B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAkFrE,eAAO,MAAM,cAAc;;CAyC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.39.
|
|
4
|
+
"version": "5.39.5-beta.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -36,8 +36,13 @@ export const getDateSeparators = <
|
|
|
36
36
|
const isDeletedMessageVisibleToSender =
|
|
37
37
|
deletedMessagesVisibilityType === 'sender' || deletedMessagesVisibilityType === 'always';
|
|
38
38
|
|
|
39
|
+
const isDeletedMessageVisibleToReceiver =
|
|
40
|
+
deletedMessagesVisibilityType === 'receiver' || deletedMessagesVisibilityType === 'always';
|
|
41
|
+
|
|
39
42
|
return (
|
|
40
|
-
!isMessageTypeDeleted ||
|
|
43
|
+
!isMessageTypeDeleted ||
|
|
44
|
+
(userId === message.user?.id && isDeletedMessageVisibleToSender) ||
|
|
45
|
+
(userId !== message.user?.id && isDeletedMessageVisibleToReceiver)
|
|
41
46
|
);
|
|
42
47
|
});
|
|
43
48
|
|
|
@@ -4,7 +4,7 @@ import type { PaginatedMessageListContextValue } from '../../../contexts/paginat
|
|
|
4
4
|
import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
|
|
5
5
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
6
6
|
import { isEditedMessage } from '../../../utils/utils';
|
|
7
|
-
import type { GroupType } from '../hooks/useMessageList';
|
|
7
|
+
import type { GroupType, MessageType } from '../hooks/useMessageList';
|
|
8
8
|
|
|
9
9
|
export type GetGroupStylesParams<
|
|
10
10
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
@@ -19,6 +19,88 @@ export type GetGroupStylesParams<
|
|
|
19
19
|
userId?: string;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
+
export type GroupStyle = '' | 'middle' | 'top' | 'bottom' | 'single';
|
|
23
|
+
|
|
24
|
+
const getGroupStyle = <
|
|
25
|
+
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
26
|
+
>(
|
|
27
|
+
dateSeparators: DateSeparators,
|
|
28
|
+
message: MessageType<StreamChatGenerics>,
|
|
29
|
+
previousMessage: MessageType<StreamChatGenerics>,
|
|
30
|
+
nextMessage: MessageType<StreamChatGenerics>,
|
|
31
|
+
hideDateSeparators?: boolean,
|
|
32
|
+
maxTimeBetweenGroupedMessages?: number,
|
|
33
|
+
): GroupStyle[] => {
|
|
34
|
+
const groupStyles: GroupStyle[] = [];
|
|
35
|
+
|
|
36
|
+
const isPrevMessageTypeDeleted = previousMessage?.type === 'deleted';
|
|
37
|
+
const isNextMessageTypeDeleted = nextMessage?.type === 'deleted';
|
|
38
|
+
|
|
39
|
+
const userId = message?.user?.id || null;
|
|
40
|
+
|
|
41
|
+
const isTopMessage =
|
|
42
|
+
!previousMessage ||
|
|
43
|
+
previousMessage.type === 'system' ||
|
|
44
|
+
previousMessage.type === 'error' ||
|
|
45
|
+
userId !== previousMessage?.user?.id ||
|
|
46
|
+
!!isPrevMessageTypeDeleted ||
|
|
47
|
+
(!hideDateSeparators && dateSeparators[message.id]) ||
|
|
48
|
+
isEditedMessage(previousMessage);
|
|
49
|
+
|
|
50
|
+
const isBottomMessage =
|
|
51
|
+
!nextMessage ||
|
|
52
|
+
nextMessage.type === 'system' ||
|
|
53
|
+
nextMessage.type === 'error' ||
|
|
54
|
+
userId !== nextMessage?.user?.id ||
|
|
55
|
+
!!isNextMessageTypeDeleted ||
|
|
56
|
+
(!hideDateSeparators && dateSeparators[nextMessage.id]) ||
|
|
57
|
+
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
58
|
+
(nextMessage.created_at as Date).getTime() - (message.created_at as Date).getTime() >
|
|
59
|
+
maxTimeBetweenGroupedMessages) ||
|
|
60
|
+
isEditedMessage(message);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Add group styles key for top message
|
|
64
|
+
*/
|
|
65
|
+
if (isTopMessage) {
|
|
66
|
+
groupStyles.push('top');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Add group styles key for bottom message
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
const isMessageTypeDeleted = message.type === 'deleted';
|
|
74
|
+
if (isBottomMessage) {
|
|
75
|
+
/**
|
|
76
|
+
* If the bottom message is also the top, or deleted, or an error,
|
|
77
|
+
* add the key for single message instead of bottom
|
|
78
|
+
*/
|
|
79
|
+
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
80
|
+
groupStyles.splice(0, groupStyles.length);
|
|
81
|
+
groupStyles.push('single');
|
|
82
|
+
} else {
|
|
83
|
+
groupStyles.push('bottom');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Add the key for all non top or bottom messages, if the message is
|
|
89
|
+
* deleted or an error add the key for single otherwise middle
|
|
90
|
+
*/
|
|
91
|
+
if (!isTopMessage && !isBottomMessage) {
|
|
92
|
+
if (isMessageTypeDeleted || message.type === 'error') {
|
|
93
|
+
groupStyles.splice(0, groupStyles.length);
|
|
94
|
+
groupStyles.push('single');
|
|
95
|
+
} else {
|
|
96
|
+
groupStyles.splice(0, groupStyles.length);
|
|
97
|
+
groupStyles.push('middle');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return groupStyles;
|
|
102
|
+
};
|
|
103
|
+
|
|
22
104
|
export const getGroupStyles = <
|
|
23
105
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
24
106
|
>(
|
|
@@ -43,83 +125,19 @@ export const getGroupStyles = <
|
|
|
43
125
|
});
|
|
44
126
|
|
|
45
127
|
for (let i = 0; i < messagesFilteredForNonUser.length; i++) {
|
|
46
|
-
const previousMessage = messagesFilteredForNonUser[i - 1]
|
|
47
|
-
| (typeof messagesFilteredForNonUser)[0]
|
|
48
|
-
| undefined;
|
|
128
|
+
const previousMessage = messagesFilteredForNonUser[i - 1];
|
|
49
129
|
const message = messagesFilteredForNonUser[i];
|
|
50
|
-
const nextMessage = messagesFilteredForNonUser[i + 1]
|
|
51
|
-
| (typeof messagesFilteredForNonUser)[0]
|
|
52
|
-
| undefined;
|
|
53
|
-
const groupStyles: GroupType[] = [];
|
|
54
|
-
|
|
55
|
-
const isPrevMessageTypeDeleted = previousMessage?.type === 'deleted';
|
|
56
|
-
const isNextMessageTypeDeleted = nextMessage?.type === 'deleted';
|
|
57
|
-
|
|
58
|
-
const userId = message?.user?.id || null;
|
|
59
|
-
|
|
60
|
-
const isTopMessage =
|
|
61
|
-
!previousMessage ||
|
|
62
|
-
previousMessage.type === 'system' ||
|
|
63
|
-
previousMessage.type === 'error' ||
|
|
64
|
-
userId !== previousMessage?.user?.id ||
|
|
65
|
-
!!isPrevMessageTypeDeleted ||
|
|
66
|
-
(!hideDateSeparators && dateSeparators[message.id]) ||
|
|
67
|
-
messageGroupStyles[previousMessage.id]?.includes('bottom') ||
|
|
68
|
-
isEditedMessage(previousMessage);
|
|
69
|
-
|
|
70
|
-
const isBottomMessage =
|
|
71
|
-
!nextMessage ||
|
|
72
|
-
nextMessage.type === 'system' ||
|
|
73
|
-
nextMessage.type === 'error' ||
|
|
74
|
-
userId !== nextMessage?.user?.id ||
|
|
75
|
-
!!isNextMessageTypeDeleted ||
|
|
76
|
-
(!hideDateSeparators && dateSeparators[nextMessage.id]) ||
|
|
77
|
-
(maxTimeBetweenGroupedMessages !== undefined &&
|
|
78
|
-
nextMessage.created_at.getTime() - message.created_at.getTime() >
|
|
79
|
-
maxTimeBetweenGroupedMessages) ||
|
|
80
|
-
isEditedMessage(message);
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Add group styles key for top message
|
|
84
|
-
*/
|
|
85
|
-
if (isTopMessage) {
|
|
86
|
-
groupStyles.push('top');
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Add group styles key for bottom message
|
|
91
|
-
*/
|
|
92
|
-
|
|
93
|
-
const isMessageTypeDeleted = message.type === 'deleted';
|
|
94
|
-
if (isBottomMessage) {
|
|
95
|
-
/**
|
|
96
|
-
* If the bottom message is also the top, or deleted, or an error,
|
|
97
|
-
* add the key for single message instead of bottom
|
|
98
|
-
*/
|
|
99
|
-
if (isTopMessage || isMessageTypeDeleted || message.type === 'error') {
|
|
100
|
-
groupStyles.splice(0, groupStyles.length);
|
|
101
|
-
groupStyles.push('single');
|
|
102
|
-
} else {
|
|
103
|
-
groupStyles.push('bottom');
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Add the key for all non top or bottom messages, if the message is
|
|
109
|
-
* deleted or an error add the key for single otherwise middle
|
|
110
|
-
*/
|
|
111
|
-
if (!isTopMessage && !isBottomMessage) {
|
|
112
|
-
if (isMessageTypeDeleted || message.type === 'error') {
|
|
113
|
-
groupStyles.splice(0, groupStyles.length);
|
|
114
|
-
groupStyles.push('single');
|
|
115
|
-
} else {
|
|
116
|
-
groupStyles.splice(0, groupStyles.length);
|
|
117
|
-
groupStyles.push('middle');
|
|
118
|
-
}
|
|
119
|
-
}
|
|
130
|
+
const nextMessage = messagesFilteredForNonUser[i + 1];
|
|
120
131
|
|
|
121
132
|
if (message.id) {
|
|
122
|
-
messageGroupStyles[message.id] =
|
|
133
|
+
messageGroupStyles[message.id] = getGroupStyle(
|
|
134
|
+
dateSeparators,
|
|
135
|
+
message,
|
|
136
|
+
previousMessage,
|
|
137
|
+
nextMessage,
|
|
138
|
+
hideDateSeparators,
|
|
139
|
+
maxTimeBetweenGroupedMessages,
|
|
140
|
+
);
|
|
123
141
|
}
|
|
124
142
|
}
|
|
125
143
|
|
package/src/version.json
CHANGED