diff options
Diffstat (limited to 'web/react/components/sidebar.jsx')
-rw-r--r-- | web/react/components/sidebar.jsx | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/web/react/components/sidebar.jsx b/web/react/components/sidebar.jsx index 6033f200f..6d4b56b7b 100644 --- a/web/react/components/sidebar.jsx +++ b/web/react/components/sidebar.jsx @@ -200,13 +200,17 @@ export default class Sidebar extends React.Component { } var channel = ChannelStore.get(msg.channel_id); - var user = UserStore.getCurrentUser(); - if (user.notify_props && ((user.notify_props.desktop === 'mention' && mentions.indexOf(user.id) === -1 && channel.type !== 'D') || user.notify_props.desktop === 'none')) { - return; + const user = UserStore.getCurrentUser(); + const member = ChannelStore.getMember(msg.channel_id); + + var notifyLevel = member.notify_props.desktop; + if (notifyLevel === 'default') { + notifyLevel = user.notify_props.desktop; } - var member = ChannelStore.getMember(msg.channel_id); - if ((member.notify_level === 'mention' && mentions.indexOf(user.id) === -1) || member.notify_level === 'none' || member.notify_level === 'quiet') { + if (notifyLevel === 'none') { + return; + } else if (notifyLevel === 'mention' && mentions.indexOf(user.id) === -1 && channel.type !== 'D') { return; } @@ -330,7 +334,7 @@ export default class Sidebar extends React.Component { var unread = false; if (channelMember) { msgCount = channel.total_msg_count - channelMember.msg_count; - unread = (msgCount > 0 && channelMember.notify_level !== 'quiet') || channelMember.mention_count > 0; + unread = (msgCount > 0 && channelMember.notify_props.mark_unread !== 'mention') || channelMember.mention_count > 0; } var titleClass = ''; |