diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-04-14 06:28:44 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-04-14 06:28:44 +0800 |
commit | d814a45dffa6a872f6e336cad33ca41ffb102887 (patch) | |
tree | d8cdd0c4b8c6559efaf6846b24f0d6440f3c94f5 /ui/index.js | |
parent | 9f1438b85b3dac8f1dd98f7bd6e101035cfce0a5 (diff) | |
download | tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar.gz tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar.bz2 tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar.lz tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar.xz tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.tar.zst tangerine-wallet-browser-d814a45dffa6a872f6e336cad33ca41ffb102887.zip |
Moved UI into repo with its own dependency stack
Diffstat (limited to 'ui/index.js')
-rw-r--r-- | ui/index.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ui/index.js b/ui/index.js new file mode 100644 index 000000000..05d30d8d3 --- /dev/null +++ b/ui/index.js @@ -0,0 +1,55 @@ +const React = require('react') +const render = require('react-dom').render +const h = require('react-hyperscript') +const extend = require('xtend') +const Root = require('./app/root') +const actions = require('./app/actions') +const configureStore = require('./app/store') + +module.exports = launchApp + +function launchApp(opts) { + + var accountManager = opts.accountManager + actions._setAccountManager(accountManager) + + // check if we are unlocked first + accountManager.getState(function(err, metamaskState){ + if (err) throw err + startApp(metamaskState, accountManager, opts) + }) + +} + +function startApp(metamaskState, accountManager, opts){ + + // parse opts + var store = configureStore({ + + // metamaskState represents the cross-tab state + metamask: metamaskState, + + // appState represents the current tab's popup state + appState: { + currentDomain: opts.currentDomain, + } + }) + + // if unconfirmed txs, start on txConf page + if (Object.keys(metamaskState.unconfTxs || {}).length) { + store.dispatch(actions.showConfTxPage()) + } + + accountManager.on('update', function(metamaskState){ + store.dispatch(actions.updateMetamaskState(metamaskState)) + }) + + // start app + render( + h(Root, { + // inject initial state + store: store, + } + ), opts.container) + +} |