mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-23 02:10:12 +01:00
Close popup even if last tx is dismissed from main UI
This commit is contained in:
parent
e5ca83d2bf
commit
4fb49dfb4b
@ -2,19 +2,15 @@ const extension = require('./extension')
|
||||
|
||||
const notifications = {
|
||||
show: showNotification,
|
||||
getPopup,
|
||||
}
|
||||
module.exports = notifications
|
||||
window.METAMASK_NOTIFIER = notifications
|
||||
|
||||
function showNotification() {
|
||||
extension.windows.getAll({}, (windows) => {
|
||||
|
||||
let popupWindow = windows.find((win) => {
|
||||
return win.type === 'popup'
|
||||
})
|
||||
|
||||
if (popupWindow) {
|
||||
return extension.windows.update(popupWindow.id, { focused: true })
|
||||
getPopup((popup) => {
|
||||
if (popup) {
|
||||
return extension.windows.update(popup.id, { focused: true })
|
||||
}
|
||||
|
||||
extension.windows.create({
|
||||
@ -27,3 +23,13 @@ function showNotification() {
|
||||
})
|
||||
}
|
||||
|
||||
function getPopup(cb) {
|
||||
extension.windows.getAll({}, (windows) => {
|
||||
let popup = windows.find((win) => {
|
||||
return win.type === 'popup'
|
||||
})
|
||||
|
||||
cb(popup)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ const extend = require('xtend')
|
||||
const actions = require('../actions')
|
||||
const txHelper = require('../../lib/tx-helper')
|
||||
const extension = require('../../../app/scripts/lib/extension')
|
||||
const notification = require('../../../app/scripts/lib/notifications')
|
||||
|
||||
module.exports = reduceApp
|
||||
|
||||
@ -252,12 +253,7 @@ function reduceApp (state, action) {
|
||||
})
|
||||
} else {
|
||||
|
||||
const isNotification = window.METAMASK_UI_TYPE === 'notification'
|
||||
if (isNotification) {
|
||||
extension.windows.getCurrent({}, (win) => {
|
||||
extension.windows.remove(win.id, console.error)
|
||||
})
|
||||
}
|
||||
closePopupIfOpen()
|
||||
|
||||
return extend(appState, {
|
||||
transForward: false,
|
||||
@ -524,4 +520,9 @@ function indexForPending (state, txId) {
|
||||
return idx
|
||||
}
|
||||
|
||||
|
||||
function closePopupIfOpen() {
|
||||
notification.getPopup((popup) => {
|
||||
if (!popup) return
|
||||
extension.windows.remove(popup.id, console.error)
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user