Implement third state for notification list dropdown

Related to #500.
This commit is contained in:
Franz Liedke
2015-09-29 00:50:28 +02:00
parent 9529ce9ba2
commit 1f7afb3e4a
2 changed files with 16 additions and 4 deletions

View File

@ -27,11 +27,12 @@ export default class NotificationsDropdown extends Dropdown {
}
getButton() {
const unread = this.getUnreadCount();
const newNotifications = this.getNewCount();
const vdom = super.getButton();
vdom.attrs.title = this.props.label;
vdom.attrs.className += (unread ? ' unread' : '');
vdom.attrs.className += (newNotifications ? ' new' : '');
vdom.attrs.onclick = this.onclick.bind(this);
return vdom;
@ -69,6 +70,12 @@ export default class NotificationsDropdown extends Dropdown {
}
getUnreadCount() {
return app.cache.notifications ?
app.cache.notifications.filter(notification => !notification.isRead()).length :
0;
}
getNewCount() {
return app.session.user.unreadNotificationsCount();
}