diff --git a/ui/app/accounts/add.js b/ui/app/accounts/add.js new file mode 100644 index 000000000..a750531f7 --- /dev/null +++ b/ui/app/accounts/add.js @@ -0,0 +1,82 @@ +const inherits = require('util').inherits +const Component = require('react').Component +const h = require('react-hyperscript') +const connect = require('react-redux').connect +const actions = require('../../actions') + +// Components +const TabBar = require('../components/tab-bar') + +// Subviews +const NewAccountView = require('./new') +const ImportAccountView = require('./import') + +module.exports = connect(mapStateToProps)(AddAccountScreen) + +function mapStateToProps (state) { + return {} +} + +inherits(AddAccountScreen, Component) +function AddAccountScreen () { + Component.call(this) +} + +AddAccountScreen.prototype.render = function () { + const props = this.props + const state = this.state || {} + const subview = state.subview || 'new' + + return ( + h('.flex-column', { + style: { + }, + }, [ + + // title and nav + h('.flex-row.space-between', { + style: { + alignItems: 'center', + padding: '0px 20px', + } + }, [ + h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { + onClick: this.goHome.bind(this), + }), + h('h2.page-subtitle', 'Add Account'), + h('i', { style: { width: '18px' } }), + ]), + + h(TabBar, { + tabs: [ + { content: 'Create New', key: 'new' }, + { content: 'Import', key: 'import' }, + ], + defaultTab: 'new', + tabSelected: (key) => { + this.setState({ subview: key }) + } + }), + + this.renderNewOrImport(), + + ]) + ) +} + +AddAccountScreen.prototype.goHome = function() { + this.props.dispatch(actions.showAccountPage()) +} + +AddAccountScreen.prototype.renderNewOrImport = function() { + const state = this.state || {} + const subview = state.subview || 'new' + + switch (subview) { + case 'new': + return h(NewAccountView) + + case 'import': + return h(ImportAccountView) + } +} diff --git a/ui/app/accounts/import.js b/ui/app/accounts/import.js new file mode 100644 index 000000000..d15b30fd2 --- /dev/null +++ b/ui/app/accounts/import.js @@ -0,0 +1,30 @@ +const inherits = require('util').inherits +const Component = require('react').Component +const h = require('react-hyperscript') +const connect = require('react-redux').connect + +module.exports = connect(mapStateToProps)(COMPONENTNAME) + +function mapStateToProps (state) { + return {} +} + +inherits(COMPONENTNAME, Component) +function COMPONENTNAME () { + Component.call(this) +} + +COMPONENTNAME.prototype.render = function () { + const props = this.props + + return ( + h('div', { + style: { + background: 'blue', + }, + }, [ + `Hello, ${props.sender}`, + ]) + ) +} + diff --git a/ui/app/accounts/new.js b/ui/app/accounts/new.js index 0356bb313..07fc1e672 100644 --- a/ui/app/accounts/new.js +++ b/ui/app/accounts/new.js @@ -2,59 +2,29 @@ const inherits = require('util').inherits const Component = require('react').Component const h = require('react-hyperscript') const connect = require('react-redux').connect -const TabBar = require('../components/tab-bar') -module.exports = connect(mapStateToProps)(NewAccountScreen) +module.exports = connect(mapStateToProps)(COMPONENTNAME) function mapStateToProps (state) { return {} } -inherits(NewAccountScreen, Component) -function NewAccountScreen () { +inherits(COMPONENTNAME, Component) +function COMPONENTNAME () { Component.call(this) } -NewAccountScreen.prototype.render = function () { +COMPONENTNAME.prototype.render = function () { const props = this.props - const state = this.state || {} - const subview = state.subview || 'new' return ( - h('.flex-column', { + h('div', { style: { + background: 'red', }, }, [ - - // title and nav - h('.flex-row.space-between', { - style: { - alignItems: 'center', - padding: '0px 20px', - } - }, [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: this.goHome.bind(this), - }), - h('h2.page-subtitle', 'Add Account'), - h('i', { style: { width: '18px' } }), - ]), - - h(TabBar, { - tabs: [ - { content: 'Create New', key: 'new' }, - { content: 'Import', key: 'import' }, - ], - defaultTab: 'new', - tabSelected: (key) => { - console.log('selected ' + key) - } - }), - + `Hello, ${props.sender}`, ]) ) } -NewAccountScreen.prototype.goHome = function() { - this.props.dispatch(actions.showAccountPage()) -} diff --git a/ui/app/app.js b/ui/app/app.js index 1651442e9..ad56df8db 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -29,7 +29,7 @@ const QrView = require('./components/qr-code') const HDCreateVaultComplete = require('./keychains/hd/create-vault-complete') const HDRestoreVaultScreen = require('./keychains/hd/restore-vault') const RevealSeedConfirmation = require('./keychains/hd/recover-seed/confirmation') -const NewAccountScreen = require('./accounts/new') +const AddAccountScreen = require('./accounts/add') module.exports = connect(mapStateToProps)(App) @@ -402,7 +402,7 @@ App.prototype.renderPrimary = function () { return h(AccountDetailScreen, {key: 'account-detail'}) case 'new-account': - return h(NewAccountScreen, {key: 'new-account'}) + return h(AddAccountScreen, {key: 'new-account'}) case 'sendTransaction': return h(SendTransactionScreen, {key: 'send-transaction'})