stream-chat-react-native-core 6.1.2-beta.2 → 6.1.2-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/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +13 -13
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useLastReadData.js +21 -0
- package/lib/commonjs/components/MessageList/hooks/useLastReadData.js.map +1 -0
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +6 -2
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/utils/getReadStates.js +6 -7
- package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +13 -13
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useLastReadData.js +21 -0
- package/lib/module/components/MessageList/hooks/useLastReadData.js.map +1 -0
- package/lib/module/components/MessageList/hooks/useMessageList.js +6 -2
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/utils/getReadStates.js +6 -7
- package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts +13 -0
- package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts.map +1 -0
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +2 -2
- package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/MessageStatus.tsx +14 -14
- package/src/components/MessageList/hooks/useLastReadData.ts +37 -0
- package/src/components/MessageList/hooks/useMessageList.ts +7 -2
- package/src/components/MessageList/utils/getReadStates.ts +7 -9
- package/src/version.json +1 -1
|
@@ -15,19 +15,6 @@ var _useMessageList = require("../../MessageList/hooks/useMessageList");
|
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
var _this = this,
|
|
17
17
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
|
|
18
|
-
var styles = _reactNative.StyleSheet.create({
|
|
19
|
-
readByCount: {
|
|
20
|
-
fontSize: 11,
|
|
21
|
-
fontWeight: '700',
|
|
22
|
-
paddingRight: 3
|
|
23
|
-
},
|
|
24
|
-
statusContainer: {
|
|
25
|
-
alignItems: 'flex-end',
|
|
26
|
-
flexDirection: 'row',
|
|
27
|
-
justifyContent: 'center',
|
|
28
|
-
paddingRight: 3
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
18
|
var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
32
19
|
var message = props.message,
|
|
33
20
|
threadList = props.threadList;
|
|
@@ -100,4 +87,17 @@ var MessageStatus = function MessageStatus(props) {
|
|
|
100
87
|
};
|
|
101
88
|
exports.MessageStatus = MessageStatus;
|
|
102
89
|
MessageStatus.displayName = 'MessageStatus{messageSimple{status}}';
|
|
90
|
+
var styles = _reactNative.StyleSheet.create({
|
|
91
|
+
readByCount: {
|
|
92
|
+
fontSize: 11,
|
|
93
|
+
fontWeight: '700',
|
|
94
|
+
paddingRight: 3
|
|
95
|
+
},
|
|
96
|
+
statusContainer: {
|
|
97
|
+
alignItems: 'flex-end',
|
|
98
|
+
flexDirection: 'row',
|
|
99
|
+
justifyContent: 'center',
|
|
100
|
+
paddingRight: 3
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
103
|
//# sourceMappingURL=MessageStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","jsxs","readBy","Text","color","type","CheckAll","pathFill","Check","RECEIVED","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName","StyleSheet","create","fontSize","fontWeight","paddingRight","alignItems","flexDirection","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageStatus.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.useLastReadData = void 0;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _getReadStates = require("../utils/getReadStates");
|
|
7
|
+
var useLastReadData = function useLastReadData(props) {
|
|
8
|
+
var messages = props.messages,
|
|
9
|
+
read = props.read,
|
|
10
|
+
_props$returnAllReadD = props.returnAllReadData,
|
|
11
|
+
returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
|
|
12
|
+
userID = props.userID;
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
|
|
15
|
+
var user = _ref.user;
|
|
16
|
+
return (user == null ? void 0 : user.id) === userID;
|
|
17
|
+
}), read, returnAllReadData);
|
|
18
|
+
}, [messages, read, returnAllReadData, userID]);
|
|
19
|
+
};
|
|
20
|
+
exports.useLastReadData = useLastReadData;
|
|
21
|
+
//# sourceMappingURL=useLastReadData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_getReadStates","useLastReadData","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AAaO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAG1BC,KAAgD,EAC7C;EACH,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC;AAACO,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
exports.useMessageList = exports.isMessageWithStylesReadByAndDateSeparator = void 0;
|
|
6
6
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
|
+
var _useLastReadData = require("./useLastReadData");
|
|
7
8
|
var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
|
|
8
9
|
var _ChatContext = require("../../../contexts/chatContext/ChatContext");
|
|
9
10
|
var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
|
|
@@ -11,7 +12,6 @@ var _PaginatedMessageListContext = require("../../../contexts/paginatedMessageLi
|
|
|
11
12
|
var _ThreadContext = require("../../../contexts/threadContext/ThreadContext");
|
|
12
13
|
var _getDateSeparators = require("../utils/getDateSeparators");
|
|
13
14
|
var _getGroupStyles = require("../utils/getGroupStyles");
|
|
14
|
-
var _getReadStates = require("../utils/getReadStates");
|
|
15
15
|
var isMessageWithStylesReadByAndDateSeparator = function isMessageWithStylesReadByAndDateSeparator(message) {
|
|
16
16
|
return message.readBy !== undefined;
|
|
17
17
|
};
|
|
@@ -49,7 +49,11 @@ var useMessageList = function useMessageList(params) {
|
|
|
49
49
|
noGroupByUser: noGroupByUser,
|
|
50
50
|
userId: client.userID
|
|
51
51
|
});
|
|
52
|
-
var readData = (0,
|
|
52
|
+
var readData = (0, _useLastReadData.useLastReadData)({
|
|
53
|
+
messages: messageList,
|
|
54
|
+
read: readList,
|
|
55
|
+
userID: client.userID
|
|
56
|
+
});
|
|
53
57
|
var messagesWithStylesReadByAndDateSeparator = messageList.filter(function (msg) {
|
|
54
58
|
var isMessageTypeDeleted = msg.type === 'deleted';
|
|
55
59
|
if (deletedMessagesVisibilityType === 'sender') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_useLastReadData","require","_ChannelContext","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","useLastReadData","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
4
|
exports.getReadStates = void 0;
|
|
5
|
-
var getReadStates = function getReadStates(
|
|
5
|
+
var getReadStates = function getReadStates(messages, read, returnAllReadData) {
|
|
6
6
|
var readData = {};
|
|
7
7
|
if (read) {
|
|
8
8
|
Object.values(read).forEach(function (readState) {
|
|
@@ -10,17 +10,16 @@ var getReadStates = function getReadStates(clientUserId, messages, read) {
|
|
|
10
10
|
var userLastReadMsgId;
|
|
11
11
|
messages.forEach(function (msg) {
|
|
12
12
|
if (msg.created_at && msg.created_at < readState.last_read) {
|
|
13
|
-
var _msg$user;
|
|
14
13
|
userLastReadMsgId = msg.id;
|
|
15
|
-
if (
|
|
16
|
-
readData[userLastReadMsgId]
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
if (returnAllReadData) {
|
|
15
|
+
if (!readData[userLastReadMsgId]) {
|
|
16
|
+
readData[userLastReadMsgId] = 0;
|
|
17
|
+
}
|
|
19
18
|
readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
|
-
if (userLastReadMsgId) {
|
|
22
|
+
if (userLastReadMsgId && !returnAllReadData) {
|
|
24
23
|
if (!readData[userLastReadMsgId]) {
|
|
25
24
|
readData[userLastReadMsgId] = 0;
|
|
26
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getReadStates","
|
|
1
|
+
{"version":3,"names":["getReadStates","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAMO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,QAE4D,EAC5DC,IAA+C,EAC/CC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YACAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACU,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -15,19 +15,6 @@ var _useMessageList = require("../../MessageList/hooks/useMessageList");
|
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
var _this = this,
|
|
17
17
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
|
|
18
|
-
var styles = _reactNative.StyleSheet.create({
|
|
19
|
-
readByCount: {
|
|
20
|
-
fontSize: 11,
|
|
21
|
-
fontWeight: '700',
|
|
22
|
-
paddingRight: 3
|
|
23
|
-
},
|
|
24
|
-
statusContainer: {
|
|
25
|
-
alignItems: 'flex-end',
|
|
26
|
-
flexDirection: 'row',
|
|
27
|
-
justifyContent: 'center',
|
|
28
|
-
paddingRight: 3
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
18
|
var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
32
19
|
var message = props.message,
|
|
33
20
|
threadList = props.threadList;
|
|
@@ -100,4 +87,17 @@ var MessageStatus = function MessageStatus(props) {
|
|
|
100
87
|
};
|
|
101
88
|
exports.MessageStatus = MessageStatus;
|
|
102
89
|
MessageStatus.displayName = 'MessageStatus{messageSimple{status}}';
|
|
90
|
+
var styles = _reactNative.StyleSheet.create({
|
|
91
|
+
readByCount: {
|
|
92
|
+
fontSize: 11,
|
|
93
|
+
fontWeight: '700',
|
|
94
|
+
paddingRight: 3
|
|
95
|
+
},
|
|
96
|
+
statusContainer: {
|
|
97
|
+
alignItems: 'flex-end',
|
|
98
|
+
flexDirection: 'row',
|
|
99
|
+
justifyContent: 'center',
|
|
100
|
+
paddingRight: 3
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
103
|
//# sourceMappingURL=MessageStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","jsxs","readBy","Text","color","type","CheckAll","pathFill","Check","RECEIVED","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","_useMessageContext","useMessageContext","exports","displayName","StyleSheet","create","fontSize","fontWeight","paddingRight","alignItems","flexDirection","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageStatus.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.useLastReadData = void 0;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _getReadStates = require("../utils/getReadStates");
|
|
7
|
+
var useLastReadData = function useLastReadData(props) {
|
|
8
|
+
var messages = props.messages,
|
|
9
|
+
read = props.read,
|
|
10
|
+
_props$returnAllReadD = props.returnAllReadData,
|
|
11
|
+
returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
|
|
12
|
+
userID = props.userID;
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
|
|
15
|
+
var user = _ref.user;
|
|
16
|
+
return (user == null ? void 0 : user.id) === userID;
|
|
17
|
+
}), read, returnAllReadData);
|
|
18
|
+
}, [messages, read, returnAllReadData, userID]);
|
|
19
|
+
};
|
|
20
|
+
exports.useLastReadData = useLastReadData;
|
|
21
|
+
//# sourceMappingURL=useLastReadData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_getReadStates","useLastReadData","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AAaO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAG1BC,KAAgD,EAC7C;EACH,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC;AAACO,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
exports.useMessageList = exports.isMessageWithStylesReadByAndDateSeparator = void 0;
|
|
6
6
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
|
+
var _useLastReadData = require("./useLastReadData");
|
|
7
8
|
var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
|
|
8
9
|
var _ChatContext = require("../../../contexts/chatContext/ChatContext");
|
|
9
10
|
var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
|
|
@@ -11,7 +12,6 @@ var _PaginatedMessageListContext = require("../../../contexts/paginatedMessageLi
|
|
|
11
12
|
var _ThreadContext = require("../../../contexts/threadContext/ThreadContext");
|
|
12
13
|
var _getDateSeparators = require("../utils/getDateSeparators");
|
|
13
14
|
var _getGroupStyles = require("../utils/getGroupStyles");
|
|
14
|
-
var _getReadStates = require("../utils/getReadStates");
|
|
15
15
|
var isMessageWithStylesReadByAndDateSeparator = function isMessageWithStylesReadByAndDateSeparator(message) {
|
|
16
16
|
return message.readBy !== undefined;
|
|
17
17
|
};
|
|
@@ -49,7 +49,11 @@ var useMessageList = function useMessageList(params) {
|
|
|
49
49
|
noGroupByUser: noGroupByUser,
|
|
50
50
|
userId: client.userID
|
|
51
51
|
});
|
|
52
|
-
var readData = (0,
|
|
52
|
+
var readData = (0, _useLastReadData.useLastReadData)({
|
|
53
|
+
messages: messageList,
|
|
54
|
+
read: readList,
|
|
55
|
+
userID: client.userID
|
|
56
|
+
});
|
|
53
57
|
var messagesWithStylesReadByAndDateSeparator = messageList.filter(function (msg) {
|
|
54
58
|
var isMessageTypeDeleted = msg.type === 'deleted';
|
|
55
59
|
if (deletedMessagesVisibilityType === 'sender') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_useLastReadData","require","_ChannelContext","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","useLastReadData","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
4
|
exports.getReadStates = void 0;
|
|
5
|
-
var getReadStates = function getReadStates(
|
|
5
|
+
var getReadStates = function getReadStates(messages, read, returnAllReadData) {
|
|
6
6
|
var readData = {};
|
|
7
7
|
if (read) {
|
|
8
8
|
Object.values(read).forEach(function (readState) {
|
|
@@ -10,17 +10,16 @@ var getReadStates = function getReadStates(clientUserId, messages, read) {
|
|
|
10
10
|
var userLastReadMsgId;
|
|
11
11
|
messages.forEach(function (msg) {
|
|
12
12
|
if (msg.created_at && msg.created_at < readState.last_read) {
|
|
13
|
-
var _msg$user;
|
|
14
13
|
userLastReadMsgId = msg.id;
|
|
15
|
-
if (
|
|
16
|
-
readData[userLastReadMsgId]
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
if (returnAllReadData) {
|
|
15
|
+
if (!readData[userLastReadMsgId]) {
|
|
16
|
+
readData[userLastReadMsgId] = 0;
|
|
17
|
+
}
|
|
19
18
|
readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
|
-
if (userLastReadMsgId) {
|
|
22
|
+
if (userLastReadMsgId && !returnAllReadData) {
|
|
24
23
|
if (!readData[userLastReadMsgId]) {
|
|
25
24
|
readData[userLastReadMsgId] = 0;
|
|
26
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getReadStates","
|
|
1
|
+
{"version":3,"names":["getReadStates","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAMO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,QAE4D,EAC5DC,IAA+C,EAC/CC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YACAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACU,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACL,mBAAmB,EAEpB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACL,mBAAmB,EAEpB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,MAAM,6BAA6B,CACvC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;AAsF5E,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa;;;CAQzB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ChannelState } from 'stream-chat';
|
|
2
|
+
import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
|
|
3
|
+
import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
|
|
4
|
+
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
5
|
+
type UseLastReadDataParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
|
|
6
|
+
messages: PaginatedMessageListContextValue<StreamChatGenerics>['messages'] | ThreadContextValue<StreamChatGenerics>['threadMessages'];
|
|
7
|
+
userID: string | undefined;
|
|
8
|
+
read?: ChannelState<StreamChatGenerics>['read'];
|
|
9
|
+
returnAllReadData?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const useLastReadData: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseLastReadDataParams<StreamChatGenerics>) => Record<string, number>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=useLastReadData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLastReadData.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useLastReadData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,KAAK,qBAAqB,CACxB,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,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,gKAgB3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useMessageList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useMessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useMessageList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMjE,OAAO,EACL,6BAA6B,EAE9B,MAAM,mDAAmD,CAAC;AAG3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,GAAG;IACjC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,wCAAwC,CAClD,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,eAAe,CAAC,kBAAkB,CAAC,GAAG;IACxC,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,GAC7D,wCAAwC,CAAC,kBAAkB,CAAC,CAAC;AAGjE,eAAO,MAAM,yCAAyC,yMAK0C,CAAC;AAEjG,eAAO,MAAM,cAAc,6FAGjB,oBAAoB;IA+D1B,4EAA4E;;IAE5E,0CAA0C;;CAG7C,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { ChannelState } from 'stream-chat';
|
|
|
2
2
|
import type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
|
|
3
3
|
import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
|
|
4
4
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
5
|
-
export declare const getReadStates: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(
|
|
5
|
+
export declare const getReadStates: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: import("stream-chat").FormatMessageResponse<StreamChatGenerics>[], read?: {
|
|
6
6
|
[x: string]: {
|
|
7
7
|
last_read: Date;
|
|
8
8
|
unread_messages: number;
|
|
@@ -10,5 +10,5 @@ export declare const getReadStates: <StreamChatGenerics extends DefaultStreamCha
|
|
|
10
10
|
first_unread_message_id?: string | undefined;
|
|
11
11
|
last_read_message_id?: string | undefined;
|
|
12
12
|
};
|
|
13
|
-
} | undefined) => Record<string, number>;
|
|
13
|
+
} | undefined, returnAllReadData?: boolean) => Record<string, number>;
|
|
14
14
|
//# sourceMappingURL=getReadStates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReadStates.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getReadStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,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,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"getReadStates.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getReadStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,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,eAAO,MAAM,aAAa;;;;;;;;mCAOJ,OAAO,2BA4C5B,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": "6.1.2-beta.
|
|
4
|
+
"version": "6.1.2-beta.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -14,20 +14,6 @@ import { MessageStatusTypes } from '../../../utils/utils';
|
|
|
14
14
|
|
|
15
15
|
import { isMessageWithStylesReadByAndDateSeparator } from '../../MessageList/hooks/useMessageList';
|
|
16
16
|
|
|
17
|
-
const styles = StyleSheet.create({
|
|
18
|
-
readByCount: {
|
|
19
|
-
fontSize: 11,
|
|
20
|
-
fontWeight: '700',
|
|
21
|
-
paddingRight: 3,
|
|
22
|
-
},
|
|
23
|
-
statusContainer: {
|
|
24
|
-
alignItems: 'flex-end',
|
|
25
|
-
flexDirection: 'row',
|
|
26
|
-
justifyContent: 'center',
|
|
27
|
-
paddingRight: 3,
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
|
|
31
17
|
export type MessageStatusPropsWithContext<
|
|
32
18
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
33
19
|
> = Pick<MessageContextValue<StreamChatGenerics>, 'message' | 'threadList'>;
|
|
@@ -131,3 +117,17 @@ export const MessageStatus = <
|
|
|
131
117
|
};
|
|
132
118
|
|
|
133
119
|
MessageStatus.displayName = 'MessageStatus{messageSimple{status}}';
|
|
120
|
+
|
|
121
|
+
const styles = StyleSheet.create({
|
|
122
|
+
readByCount: {
|
|
123
|
+
fontSize: 11,
|
|
124
|
+
fontWeight: '700',
|
|
125
|
+
paddingRight: 3,
|
|
126
|
+
},
|
|
127
|
+
statusContainer: {
|
|
128
|
+
alignItems: 'flex-end',
|
|
129
|
+
flexDirection: 'row',
|
|
130
|
+
justifyContent: 'center',
|
|
131
|
+
paddingRight: 3,
|
|
132
|
+
},
|
|
133
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
import type { ChannelState } from 'stream-chat';
|
|
4
|
+
|
|
5
|
+
import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
|
|
6
|
+
import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
|
|
7
|
+
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
8
|
+
import { getReadStates } from '../utils/getReadStates';
|
|
9
|
+
|
|
10
|
+
type UseLastReadDataParams<
|
|
11
|
+
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
12
|
+
> = {
|
|
13
|
+
messages:
|
|
14
|
+
| PaginatedMessageListContextValue<StreamChatGenerics>['messages']
|
|
15
|
+
| ThreadContextValue<StreamChatGenerics>['threadMessages'];
|
|
16
|
+
userID: string | undefined;
|
|
17
|
+
read?: ChannelState<StreamChatGenerics>['read'];
|
|
18
|
+
returnAllReadData?: boolean;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const useLastReadData = <
|
|
22
|
+
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
23
|
+
>(
|
|
24
|
+
props: UseLastReadDataParams<StreamChatGenerics>,
|
|
25
|
+
) => {
|
|
26
|
+
const { messages, read, returnAllReadData = true, userID } = props;
|
|
27
|
+
|
|
28
|
+
return useMemo(
|
|
29
|
+
() =>
|
|
30
|
+
getReadStates(
|
|
31
|
+
messages.filter(({ user }) => user?.id === userID),
|
|
32
|
+
read,
|
|
33
|
+
returnAllReadData,
|
|
34
|
+
),
|
|
35
|
+
[messages, read, returnAllReadData, userID],
|
|
36
|
+
);
|
|
37
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ChannelState, MessageResponse } from 'stream-chat';
|
|
2
2
|
|
|
3
|
+
import { useLastReadData } from './useLastReadData';
|
|
4
|
+
|
|
3
5
|
import { useChannelContext } from '../../../contexts/channelContext/ChannelContext';
|
|
4
6
|
import { useChatContext } from '../../../contexts/chatContext/ChatContext';
|
|
5
7
|
import {
|
|
@@ -11,7 +13,6 @@ import { useThreadContext } from '../../../contexts/threadContext/ThreadContext'
|
|
|
11
13
|
import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
12
14
|
import { getDateSeparators } from '../utils/getDateSeparators';
|
|
13
15
|
import { getGroupStyles } from '../utils/getGroupStyles';
|
|
14
|
-
import { getReadStates } from '../utils/getReadStates';
|
|
15
16
|
|
|
16
17
|
export type UseMessageListParams = {
|
|
17
18
|
deletedMessagesVisibilityType?: DeletedMessagesVisibilityType;
|
|
@@ -78,7 +79,11 @@ export const useMessageList = <
|
|
|
78
79
|
userId: client.userID,
|
|
79
80
|
});
|
|
80
81
|
|
|
81
|
-
const readData =
|
|
82
|
+
const readData = useLastReadData({
|
|
83
|
+
messages: messageList,
|
|
84
|
+
read: readList,
|
|
85
|
+
userID: client.userID,
|
|
86
|
+
});
|
|
82
87
|
|
|
83
88
|
const messagesWithStylesReadByAndDateSeparator = messageList
|
|
84
89
|
.filter((msg) => {
|
|
@@ -7,11 +7,11 @@ import type { DefaultStreamChatGenerics } from '../../../types/types';
|
|
|
7
7
|
export const getReadStates = <
|
|
8
8
|
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
9
9
|
>(
|
|
10
|
-
clientUserId: string | undefined,
|
|
11
10
|
messages:
|
|
12
11
|
| PaginatedMessageListContextValue<StreamChatGenerics>['messages']
|
|
13
12
|
| ThreadContextValue<StreamChatGenerics>['threadMessages'],
|
|
14
13
|
read?: ChannelState<StreamChatGenerics>['read'],
|
|
14
|
+
returnAllReadData?: boolean,
|
|
15
15
|
) => {
|
|
16
16
|
const readData: Record<string, number> = {};
|
|
17
17
|
|
|
@@ -33,20 +33,18 @@ export const getReadStates = <
|
|
|
33
33
|
if (msg.created_at && msg.created_at < readState.last_read) {
|
|
34
34
|
userLastReadMsgId = msg.id;
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
readData[userLastReadMsgId]
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// Only increment read count if the message is not sent by the current user
|
|
42
|
-
if (msg.user?.id !== clientUserId) {
|
|
36
|
+
if (returnAllReadData) {
|
|
37
|
+
// if true, save other user's read data for all messages they've read
|
|
38
|
+
if (!readData[userLastReadMsgId]) {
|
|
39
|
+
readData[userLastReadMsgId] = 0;
|
|
40
|
+
}
|
|
43
41
|
readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
|
|
48
46
|
// if true, only save read data for other user's last read message
|
|
49
|
-
if (userLastReadMsgId) {
|
|
47
|
+
if (userLastReadMsgId && !returnAllReadData) {
|
|
50
48
|
if (!readData[userLastReadMsgId]) {
|
|
51
49
|
readData[userLastReadMsgId] = 0;
|
|
52
50
|
}
|
package/src/version.json
CHANGED