UNPKG

@cobuildlab/8base-chat

Version:

Chat component that uses 8base

30 lines (22 loc) 735 B
import get from 'lodash/get'; import { ChannelMember } from 'shared/graphql/__generated__'; export default { hasUnreads: (member: ChannelMember) => { const { lastReadTS, channel, user } = member; const msgItems = get(channel, 'messages.items', []); const { createdBy = {}, createdAt = null } = msgItems[msgItems.length - 1] || {}; const userId = user && user.id; if (createdBy.id === userId) { return false; } if (!lastReadTS && createdAt) { return true; } if (createdAt) { const lastReadDate = new Date(lastReadTS); const lastChannelMsgDate = new Date(createdAt); return lastReadDate.getTime() <= lastChannelMsgDate.getTime(); } return false; }, };