|
|
|
@ -225,12 +225,12 @@ const messageSlice = (set, get) => ({
|
|
|
|
|
const { activeConversations, conversationsList, currentConversation } = get();
|
|
|
|
|
const targetMsgs = activeConversations[String(targetId)] || [];
|
|
|
|
|
const targetIndex = conversationsList.findIndex((ele) => String(ele.sn) === String(targetId));
|
|
|
|
|
const updateTime = message.type !== 'system' && message.sender !== 'me' ? message.date : null;
|
|
|
|
|
const lastReceivedTime = message.type !== 'system' && message.sender !== 'me' ? message.date : null;
|
|
|
|
|
const newConversation =
|
|
|
|
|
targetId !== -1
|
|
|
|
|
? {
|
|
|
|
|
...conversationsList[targetIndex],
|
|
|
|
|
last_received_time: updateTime || conversationsList[targetIndex].last_received_time,
|
|
|
|
|
last_received_time: lastReceivedTime || conversationsList[targetIndex].last_received_time,
|
|
|
|
|
unread_msg_count:
|
|
|
|
|
String(targetId) !== String(currentConversation.sn) && message.sender !== 'me'
|
|
|
|
|
? conversationsList[targetIndex].unread_msg_count + 1
|
|
|
|
@ -249,7 +249,7 @@ const messageSlice = (set, get) => ({
|
|
|
|
|
conversationsList: [...conversationsList],
|
|
|
|
|
currentConversation: {
|
|
|
|
|
...currentConversation,
|
|
|
|
|
last_received_time: String(targetId) === String(currentConversation.sn) ? updateTime : currentConversation.last_received_time,
|
|
|
|
|
...(String(targetId) === String(currentConversation.sn) ? { last_received_time: message.date } : {}),
|
|
|
|
|
},
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|