diff options
author | Dan Finlay <dan@danfinlay.com> | 2017-07-04 07:09:17 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2017-07-04 07:16:53 +0800 |
commit | e285f2cae958437160f86171f1fccfec66799883 (patch) | |
tree | 49cf0e2d1805d0c36d53ae6920d63f614da1e9ad /ui/responsive/app/accounts/import/index.js | |
parent | 5eb3d5d485b17b98b19443d8def2f03dec9b38ef (diff) | |
download | tangerine-wallet-browser-e285f2cae958437160f86171f1fccfec66799883.tar.gz tangerine-wallet-browser-e285f2cae958437160f86171f1fccfec66799883.tar.zst tangerine-wallet-browser-e285f2cae958437160f86171f1fccfec66799883.zip |
Get duplicate UI template working
Diffstat (limited to 'ui/responsive/app/accounts/import/index.js')
-rw-r--r-- | ui/responsive/app/accounts/import/index.js | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/ui/responsive/app/accounts/import/index.js b/ui/responsive/app/accounts/import/index.js new file mode 100644 index 000000000..97b387229 --- /dev/null +++ b/ui/responsive/app/accounts/import/index.js @@ -0,0 +1,100 @@ +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') +import Select from 'react-select' + +// Subviews +const JsonImportView = require('./json.js') +const PrivateKeyImportView = require('./private-key.js') + +const menuItems = [ + 'Private Key', + 'JSON File', +] + +module.exports = connect(mapStateToProps)(AccountImportSubview) + +function mapStateToProps (state) { + return { + menuItems, + } +} + +inherits(AccountImportSubview, Component) +function AccountImportSubview () { + Component.call(this) +} + +AccountImportSubview.prototype.render = function () { + const props = this.props + const state = this.state || {} + const { menuItems } = props + const { type } = state + + return ( + h('div', { + style: { + }, + }, [ + h('.section-title.flex-row.flex-center', [ + h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { + onClick: (event) => { + props.dispatch(actions.goHome()) + }, + }), + h('h2.page-subtitle', 'Import Accounts'), + ]), + h('div', { + style: { + padding: '10px', + color: 'rgb(174, 174, 174)', + }, + }, [ + + h('h3', { style: { padding: '3px' } }, 'SELECT TYPE'), + + h('style', ` + .has-value.Select--single > .Select-control .Select-value .Select-value-label, .Select-value-label { + color: rgb(174,174,174); + } + `), + + h(Select, { + name: 'import-type-select', + clearable: false, + value: type || menuItems[0], + options: menuItems.map((type) => { + return { + value: type, + label: type, + } + }), + onChange: (opt) => { + this.setState({ type: opt.value }) + }, + }), + ]), + + this.renderImportView(), + ]) + ) +} + +AccountImportSubview.prototype.renderImportView = function () { + const props = this.props + const state = this.state || {} + const { type } = state + const { menuItems } = props + const current = type || menuItems[0] + + switch (current) { + case 'Private Key': + return h(PrivateKeyImportView) + case 'JSON File': + return h(JsonImportView) + default: + return h(JsonImportView) + } +} |