summaryrefslogtreecommitdiffstats
path: root/client/components/notifications/notifications.js
blob: c0aa6cb5905888be1c15afe4942f901be4b1137c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// this hides the notifications drawer if anyone clicks off of the panel
Template.body.events({
  click(event) {
    if (
      !$(event.target).is('#notifications *') &&
      Session.get('showNotificationsDrawer')
    ) {
      toggleNotificationsDrawer();
    }
  },
});

Template.notifications.helpers({
  unreadNotifications() {
    const notifications = Users.findOne(Meteor.userId()).notifications();
    const unreadNotifications = _.filter(notifications, v => !v.read);
    return unreadNotifications.length;
  },
});

Template.notifications.events({
  'click .notifications-drawer-toggle'() {
    toggleNotificationsDrawer();
  },
});

export function toggleNotificationsDrawer() {
  Session.set(
    'showNotificationsDrawer',
    !Session.get('showNotificationsDrawer'),
  );
}