aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/accounts/add.js
blob: 898f89be229cb7fe702c23bb5e932813ba8d48d2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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 () {

  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.showAccountsPage())
}

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)
  }
}