summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/user_callout.js
blob: 9aa565074e4c54959c194fc5cd2cb4f4f06d8989 (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
33
34
35
/* eslint-disable arrow-parens, class-methods-use-this, no-param-reassign */
/* global Cookies */

const userCalloutElementName = '.user-callout';
const closeButton = '.close-user-callout';
const userCalloutBtn = '.user-callout-btn';

const USER_CALLOUT_COOKIE = 'user_callout_dismissed';

class UserCallout {
  constructor() {
    this.isCalloutDismissed = Cookies.get(USER_CALLOUT_COOKIE);
    this.init();
    this.isUserCalloutDismissed();
  }

  init() {
    $(document)
      .on('click', closeButton, () => this.closeAndDismissCallout())
      .on('click', userCalloutBtn, () => this.closeAndDismissCallout());
  }

  closeAndDismissCallout() {
    $(userCalloutElementName).hide();
    Cookies.set(USER_CALLOUT_COOKIE, '1');
  }

  isUserCalloutDismissed() {
    if (!this.isCalloutDismissed) {
      $(userCalloutElementName).show();
    }
  }
}

module.exports = UserCallout;