aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/app/components/account-info-link.js2
-rw-r--r--ui/app/components/buy-button-subview.js2
-rw-r--r--ui/app/components/shift-list-item.js2
-rw-r--r--ui/app/components/transaction-list-item.js2
-rw-r--r--ui/app/info.js2
-rw-r--r--ui/app/reducers/app.js55
-rw-r--r--ui/index.js23
7 files changed, 43 insertions, 45 deletions
diff --git a/ui/app/components/account-info-link.js b/ui/app/components/account-info-link.js
index 49c42e9ec..74bc7f40e 100644
--- a/ui/app/components/account-info-link.js
+++ b/ui/app/components/account-info-link.js
@@ -3,7 +3,7 @@ const h = require('react-hyperscript')
const inherits = require('util').inherits
const Tooltip = require('./tooltip')
const genAccountLink = require('../../lib/account-link')
-const extension = require('../../../app/scripts/lib/extension')
+const extension = require('extensionizer')
module.exports = AccountInfoLink
diff --git a/ui/app/components/buy-button-subview.js b/ui/app/components/buy-button-subview.js
index 7b993110d..19279d1f6 100644
--- a/ui/app/components/buy-button-subview.js
+++ b/ui/app/components/buy-button-subview.js
@@ -5,7 +5,7 @@ const connect = require('react-redux').connect
const actions = require('../actions')
const CoinbaseForm = require('./coinbase-form')
const ShapeshiftForm = require('./shapeshift-form')
-const extension = require('../../../app/scripts/lib/extension')
+const extension = require('extensionizer')
const Loading = require('./loading')
const TabBar = require('./tab-bar')
diff --git a/ui/app/components/shift-list-item.js b/ui/app/components/shift-list-item.js
index e0243e247..da991f75f 100644
--- a/ui/app/components/shift-list-item.js
+++ b/ui/app/components/shift-list-item.js
@@ -4,7 +4,7 @@ const h = require('react-hyperscript')
const connect = require('react-redux').connect
const vreme = new (require('vreme'))
const explorerLink = require('../../lib/explorer-link')
-const extension = require('../../../app/scripts/lib/extension')
+const extension = require('extensionizer')
const actions = require('../actions')
const addressSummary = require('../util').addressSummary
diff --git a/ui/app/components/transaction-list-item.js b/ui/app/components/transaction-list-item.js
index ee32be7d3..0052d9c70 100644
--- a/ui/app/components/transaction-list-item.js
+++ b/ui/app/components/transaction-list-item.js
@@ -7,7 +7,7 @@ const addressSummary = require('../util').addressSummary
const explorerLink = require('../../lib/explorer-link')
const CopyButton = require('./copyButton')
const vreme = new (require('vreme'))
-const extension = require('../../../app/scripts/lib/extension')
+const extension = require('extensionizer')
const Tooltip = require('./tooltip')
const TransactionIcon = require('./transaction-list-item-icon')
diff --git a/ui/app/info.js b/ui/app/info.js
index e79580be4..fa51ae41c 100644
--- a/ui/app/info.js
+++ b/ui/app/info.js
@@ -3,7 +3,7 @@ const Component = require('react').Component
const h = require('react-hyperscript')
const connect = require('react-redux').connect
const actions = require('./actions')
-const extension = require('../../app/scripts/lib/extension')
+const extension = require('extensionizer')
module.exports = connect(mapStateToProps)(InfoScreen)
diff --git a/ui/app/reducers/app.js b/ui/app/reducers/app.js
index 3a6baca91..7ad1229e5 100644
--- a/ui/app/reducers/app.js
+++ b/ui/app/reducers/app.js
@@ -1,20 +1,20 @@
const extend = require('xtend')
const actions = require('../actions')
const txHelper = require('../../lib/tx-helper')
-const notification = require('../../../app/scripts/lib/notifications')
module.exports = reduceApp
+
function reduceApp (state, action) {
log.debug('App Reducer got ' + action.type)
// clone and defaults
const selectedAddress = state.metamask.selectedAddress
- let pendingTxs = hasPendingTxs(state)
+ const hasUnconfActions = checkUnconfActions(state)
let name = 'accounts'
if (selectedAddress) {
name = 'accountDetail'
}
- if (pendingTxs) {
+ if (hasUnconfActions) {
log.debug('pending txs detected, defaulting to conf-tx view.')
name = 'confTx'
}
@@ -32,7 +32,9 @@ function reduceApp (state, action) {
seedWords,
}
+ // default state
var appState = extend({
+ shouldClose: false,
menuOpen: false,
currentView: seedWords ? seedConfView : defaultView,
accountDetail: {
@@ -302,7 +304,7 @@ function reduceApp (state, action) {
case actions.SHOW_CONF_MSG_PAGE:
return extend(appState, {
currentView: {
- name: pendingTxs ? 'confTx' : 'account-detail',
+ name: hasUnconfActions ? 'confTx' : 'account-detail',
context: 0,
},
transForward: true,
@@ -312,15 +314,11 @@ function reduceApp (state, action) {
case actions.COMPLETED_TX:
log.debug('reducing COMPLETED_TX for tx ' + action.value)
- var { unapprovedTxs, unapprovedMsgs,
- unapprovedPersonalMsgs, network } = state.metamask
-
- var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
+ const otherUnconfActions = getUnconfActionList(state)
.filter(tx => tx.id !== action.value )
+ const hasOtherUnconfActions = otherUnconfActions.length > 0
- pendingTxs = unconfTxList.length > 0
-
- if (pendingTxs) {
+ if (hasOtherUnconfActions) {
log.debug('reducer detected txs - rendering confTx view')
return extend(appState, {
transForward: false,
@@ -332,9 +330,9 @@ function reduceApp (state, action) {
})
} else {
log.debug('attempting to close popup')
- notification.closePopup()
-
return extend(appState, {
+ // indicate notification should close
+ shouldClose: true,
transForward: false,
warning: null,
currentView: {
@@ -580,26 +578,23 @@ function reduceApp (state, action) {
}
}
-function hasPendingTxs (state) {
- var { unapprovedTxs, unapprovedMsgs,
+function checkUnconfActions (state) {
+ const unconfActionList = getUnconfActionList(state)
+ const hasUnconfActions = unconfActionList.length > 0
+ return hasUnconfActions
+}
+
+function getUnconfActionList (state) {
+ const { unapprovedTxs, unapprovedMsgs,
unapprovedPersonalMsgs, network } = state.metamask
- var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
- var has = unconfTxList.length > 0
- return has
+ const unconfActionList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
+ return unconfActionList
}
function indexForPending (state, txId) {
- var unapprovedTxs = state.metamask.unapprovedTxs
- var unapprovedMsgs = state.metamask.unapprovedMsgs
- var unapprovedPersonalMsgs = state.metamask.unapprovedPersonalMsgs
- var network = state.metamask.network
- var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, network)
- let idx
- unconfTxList.forEach((tx, i) => {
- if (tx.id === txId) {
- idx = i
- }
- })
- return idx
+ const unconfTxList = getUnconfActionList(state)
+ const match = unconfTxList.find((tx) => tx.id === txId)
+ const index = unconfTxList.indexOf(match)
+ return index
}
diff --git a/ui/index.js b/ui/index.js
index 1a65f813c..e3648c374 100644
--- a/ui/index.js
+++ b/ui/index.js
@@ -4,27 +4,28 @@ const Root = require('./app/root')
const actions = require('./app/actions')
const configureStore = require('./app/store')
const txHelper = require('./lib/tx-helper')
-module.exports = launchApp
+global.log = require('loglevel')
-let debugMode = window.METAMASK_DEBUG
-const log = require('loglevel')
-window.log = log
-log.setLevel(debugMode ? 'debug' : 'warn')
+module.exports = launchMetamaskUi
-function launchApp (opts) {
+
+log.setLevel(global.METAMASK_DEBUG ? 'debug' : 'warn')
+
+function launchMetamaskUi (opts, cb) {
var accountManager = opts.accountManager
actions._setBackgroundConnection(accountManager)
// check if we are unlocked first
accountManager.getState(function (err, metamaskState) {
- if (err) throw err
- startApp(metamaskState, accountManager, opts)
+ if (err) return cb(err)
+ const store = startApp(metamaskState, accountManager, opts)
+ cb(null, store)
})
}
function startApp (metamaskState, accountManager, opts) {
// parse opts
- var store = configureStore({
+ const store = configureStore({
// metamaskState represents the cross-tab state
metamask: metamaskState,
@@ -37,7 +38,7 @@ function startApp (metamaskState, accountManager, opts) {
})
// if unconfirmed txs, start on txConf page
- var unapprovedTxsAll = txHelper(metamaskState.unapprovedTxs, metamaskState.unapprovedMsgs, metamaskState.unapprovedPersonalMsgs, metamaskState.network)
+ const unapprovedTxsAll = txHelper(metamaskState.unapprovedTxs, metamaskState.unapprovedMsgs, metamaskState.unapprovedPersonalMsgs, metamaskState.network)
if (unapprovedTxsAll.length > 0) {
store.dispatch(actions.showConfTxPage())
}
@@ -53,4 +54,6 @@ function startApp (metamaskState, accountManager, opts) {
store: store,
}
), opts.container)
+
+ return store
}