diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-06-19 06:11:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-19 06:11:16 +0800 |
commit | 4598554fea7b9435e5cbecc4735c479ffbadf37e (patch) | |
tree | 338aaee17d433383c9a57b385489cbc8df3f82d0 /app/scripts/notice-controller.js | |
parent | 39a7702c8f0aa2c2e7fdf2bcf913e76bb8b827f4 (diff) | |
parent | 0e3ecbbc4f7ab0579a33bf315af4dfafeb43f339 (diff) | |
download | tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.gz tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.bz2 tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.lz tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.xz tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.tar.zst tangerine-wallet-browser-4598554fea7b9435e5cbecc4735c479ffbadf37e.zip |
Merge pull request #4603 from MetaMask/v4.8.0
V4.8.0
Diffstat (limited to 'app/scripts/notice-controller.js')
-rw-r--r-- | app/scripts/notice-controller.js | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/app/scripts/notice-controller.js b/app/scripts/notice-controller.js index 14a63eae7..2def4371e 100644 --- a/app/scripts/notice-controller.js +++ b/app/scripts/notice-controller.js @@ -2,7 +2,7 @@ const EventEmitter = require('events').EventEmitter const semver = require('semver') const extend = require('xtend') const ObservableStore = require('obs-store') -const hardCodedNotices = require('../../notices/notices.json') +const hardCodedNotices = require('../../notices/notices.js') const uniqBy = require('lodash.uniqby') module.exports = class NoticeController extends EventEmitter { @@ -16,8 +16,12 @@ module.exports = class NoticeController extends EventEmitter { noticesList: [], }, opts.initState) this.store = new ObservableStore(initState) + // setup memStore this.memStore = new ObservableStore({}) this.store.subscribe(() => this._updateMemstore()) + this._updateMemstore() + // pull in latest notices + this.updateNoticesList() } getNoticesList () { @@ -29,9 +33,9 @@ module.exports = class NoticeController extends EventEmitter { return notices.filter((notice) => notice.read === false) } - getLatestUnreadNotice () { + getNextUnreadNotice () { const unreadNotices = this.getUnreadNotices() - return unreadNotices[unreadNotices.length - 1] + return unreadNotices[0] } async setNoticesList (noticesList) { @@ -47,7 +51,7 @@ module.exports = class NoticeController extends EventEmitter { notices[index].read = true notices[index].body = '' this.setNoticesList(notices) - const latestNotice = this.getLatestUnreadNotice() + const latestNotice = this.getNextUnreadNotice() cb(null, latestNotice) } catch (err) { cb(err) @@ -64,15 +68,6 @@ module.exports = class NoticeController extends EventEmitter { return result } - startPolling () { - if (this.noticePoller) { - clearInterval(this.noticePoller) - } - this.noticePoller = setInterval(() => { - this.noticeController.updateNoticesList() - }, 300000) - } - _mergeNotices (oldNotices, newNotices) { return uniqBy(oldNotices.concat(newNotices), 'id') } @@ -91,19 +86,15 @@ module.exports = class NoticeController extends EventEmitter { }) } - _mapNoticeIds (notices) { - return notices.map((notice) => notice.id) - } - async _retrieveNoticeData () { - // Placeholder for the API. + // Placeholder for remote notice API. return hardCodedNotices } _updateMemstore () { - const lastUnreadNotice = this.getLatestUnreadNotice() - const noActiveNotices = !lastUnreadNotice - this.memStore.updateState({ lastUnreadNotice, noActiveNotices }) + const nextUnreadNotice = this.getNextUnreadNotice() + const noActiveNotices = !nextUnreadNotice + this.memStore.updateState({ nextUnreadNotice, noActiveNotices }) } } |