diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2017-12-08 01:54:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-08 01:54:37 +0800 |
commit | 41d281a52714ad432b115d94a272156d51cd7bad (patch) | |
tree | 36c1a9ad91600f48496157b45c9fa3019206467d /old-ui/index.js | |
parent | 7dba114feb428f7f2f78fee5611377b04bff5be6 (diff) | |
parent | e0d0e19c925224bddf56a4088fb9c402d995d79f (diff) | |
download | tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.tar.gz tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.tar.zst tangerine-wallet-browser-41d281a52714ad432b115d94a272156d51cd7bad.zip |
Merge branch 'NewUI-flat' into cb-372
Diffstat (limited to 'old-ui/index.js')
-rw-r--r-- | old-ui/index.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/old-ui/index.js b/old-ui/index.js new file mode 100644 index 000000000..ae05cbe67 --- /dev/null +++ b/old-ui/index.js @@ -0,0 +1,58 @@ +const render = require('react-dom').render +const h = require('react-hyperscript') +const Root = require('./app/root') +const actions = require('./app/actions') +const configureStore = require('./app/store') +const txHelper = require('./lib/tx-helper') +global.log = require('loglevel') + +module.exports = launchMetamaskUi + + +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) return cb(err) + const store = startApp(metamaskState, accountManager, opts) + cb(null, store) + }) +} + +function startApp (metamaskState, accountManager, opts) { + // parse opts + const store = configureStore({ + + // metamaskState represents the cross-tab state + metamask: metamaskState, + + // appState represents the current tab's popup state + appState: {}, + + // Which blockchain we are using: + networkVersion: opts.networkVersion, + }) + + // if unconfirmed txs, start on txConf page + const unapprovedTxsAll = txHelper(metamaskState.unapprovedTxs, metamaskState.unapprovedMsgs, metamaskState.unapprovedPersonalMsgs, metamaskState.unapprovedTypedMessages, metamaskState.network) + if (unapprovedTxsAll.length > 0) { + 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) + + return store +} |