stream-chat-react
Version:
React components to create chat conversations or livestream style chat
24 lines (23 loc) • 872 B
JavaScript
import { useMemo } from 'react';
export const useLastReadData = (props) => {
const { channel, lastOwnMessage, messages, returnAllReadData } = props;
return useMemo(() => {
if (returnAllReadData) {
return messages.reduce((acc, msg) => {
acc[msg.id] = channel.messageReceiptsTracker.readersForMessage({
msgId: msg.id,
timestampMs: msg.created_at.getTime(),
});
return acc;
}, {});
}
if (!lastOwnMessage)
return {};
return {
[lastOwnMessage.id]: channel.messageReceiptsTracker.readersForMessage({
msgId: lastOwnMessage.id,
timestampMs: lastOwnMessage.created_at.getTime(),
}),
};
}, [channel, lastOwnMessage, messages, returnAllReadData]);
};