|
@@ -16,6 +16,13 @@ Template.notificationsDrawer.helpers({
|
|
transformedProfile() {
|
|
transformedProfile() {
|
|
return Users.findOne(Meteor.userId());
|
|
return Users.findOne(Meteor.userId());
|
|
},
|
|
},
|
|
|
|
+ readNotifications() {
|
|
|
|
+ const readNotifications = _.filter(
|
|
|
|
+ Meteor.user().profile.notifications,
|
|
|
|
+ v => !!v.read,
|
|
|
|
+ );
|
|
|
|
+ return readNotifications.length;
|
|
|
|
+ },
|
|
});
|
|
});
|
|
|
|
|
|
Template.notificationsDrawer.events({
|
|
Template.notificationsDrawer.events({
|
|
@@ -35,4 +42,12 @@ Template.notificationsDrawer.events({
|
|
'click .toggle-read'() {
|
|
'click .toggle-read'() {
|
|
Session.set('showReadNotifications', !Session.get('showReadNotifications'));
|
|
Session.set('showReadNotifications', !Session.get('showReadNotifications'));
|
|
},
|
|
},
|
|
|
|
+ 'click .remove-read'() {
|
|
|
|
+ const user = Meteor.user();
|
|
|
|
+ for (const notification of user.profile.notifications) {
|
|
|
|
+ if (notification.read) {
|
|
|
|
+ user.removeNotification(notification.activity);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
});
|
|
});
|