aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2016-09-03 05:15:24 +0800
committerKevin Serrano <kevgagser@gmail.com>2016-09-03 05:15:24 +0800
commit068bd7d40ac4f697c64b8e7f4045c42e31c94325 (patch)
tree391bcdef9f18a25198ba9a32d6f8efeb30119073 /app/scripts
parentf9f821e72650046466b9c1f0694a1cdb0c1e637c (diff)
parentbdc7fd7c6f37f2e8a1d8a9f100115962b3fb0e01 (diff)
downloadtangerine-wallet-browser-068bd7d40ac4f697c64b8e7f4045c42e31c94325.tar.gz
tangerine-wallet-browser-068bd7d40ac4f697c64b8e7f4045c42e31c94325.tar.zst
tangerine-wallet-browser-068bd7d40ac4f697c64b8e7f4045c42e31c94325.zip
Merge branch 'master' into livereload
Diffstat (limited to 'app/scripts')
-rw-r--r--app/scripts/lib/notifications.js42
1 files changed, 24 insertions, 18 deletions
diff --git a/app/scripts/lib/notifications.js b/app/scripts/lib/notifications.js
index df4fe73dd..4e3f7558c 100644
--- a/app/scripts/lib/notifications.js
+++ b/app/scripts/lib/notifications.js
@@ -9,20 +9,26 @@ module.exports = notifications
window.METAMASK_NOTIFIER = notifications
function show () {
- getWindows((windows) => {
+ getPopup((err, popup) => {
+ if (err) throw err
- if (windows.length > 0) {
- const win = windows[0]
- return extension.windows.update(win.id, { focused: true })
- }
+ if (popup) {
+
+ // bring focus to existing popup
+ extension.windows.update(popup.id, { focused: true })
+
+ } else {
- extension.windows.create({
- url: 'notification.html',
- type: 'popup',
- focused: true,
- width: 360,
- height: 500,
- })
+ // create new popup
+ extension.windows.create({
+ url: 'notification.html',
+ type: 'popup',
+ focused: true,
+ width: 360,
+ height: 500,
+ })
+
+ }
})
}
@@ -38,19 +44,19 @@ function getWindows(cb) {
}
function getPopup(cb) {
- getWindows((windows) => {
- cb(getPopupIn(windows))
+ getWindows((err, windows) => {
+ if (err) throw err
+ cb(null, getPopupIn(windows))
})
}
function getPopupIn(windows) {
- return windows ? windows.find((win) => {
- return win.type === 'popup'
- }) : null
+ return windows ? windows.find((win) => win.type === 'popup') : null
}
function closePopup() {
- getPopup((popup) => {
+ getPopup((err, popup) => {
+ if (err) throw err
if (!popup) return
extension.windows.remove(popup.id, console.error)
})