aboutsummaryrefslogtreecommitdiffstats
path: root/ui/index.js
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-04-14 06:28:44 +0800
committerDan Finlay <dan@danfinlay.com>2016-04-14 06:28:44 +0800
commitd814a45dffa6a872f6e336cad33ca41ffb102887 (patch)
treed8cdd0c4b8c6559efaf6846b24f0d6440f3c94f5 /ui/index.js
parent9f1438b85b3dac8f1dd98f7bd6e101035cfce0a5 (diff)
downloadtangerine-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.js55
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)
+
+}