aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/accounts/new-account/index.js
blob: 5840169740d6d993489c026469187ff0e42cb03f (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
80
81
const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
const connect = require('../../metamask-connect')
const actions = require('../../actions')
const { getCurrentViewContext } = require('../../selectors')
const classnames = require('classnames')

const NewAccountCreateForm = require('./create-form')
const NewAccountImportForm = require('../import')

function mapStateToProps (state) {
  return {
    displayedForm: getCurrentViewContext(state),
  }
}

function mapDispatchToProps (dispatch) {
  return {
    displayForm: form => dispatch(actions.setNewAccountForm(form)),
    showQrView: (selected, identity) => dispatch(actions.showQrView(selected, identity)),
    showExportPrivateKeyModal: () => {
      dispatch(actions.showModal({ name: 'EXPORT_PRIVATE_KEY' }))
    },
    hideModal: () => dispatch(actions.hideModal()),
    saveAccountLabel: (address, label) => dispatch(actions.saveAccountLabel(address, label)),
  }
}

inherits(AccountDetailsModal, Component)
function AccountDetailsModal (props) {
  Component.call(this)

  this.state = {
    displayedForm: props.displayedForm,
  }
}

module.exports = connect(mapStateToProps, mapDispatchToProps)(AccountDetailsModal)

AccountDetailsModal.prototype.render = function () {
  const { displayedForm, displayForm } = this.props

  return h('div.new-account', {}, [

    h('div.new-account__header', [

      h('div.new-account__title', this.props.t('newAccount')),

      h('div.new-account__tabs', [

        h('div.new-account__tabs__tab', {
          className: classnames('new-account__tabs__tab', {
            'new-account__tabs__selected': displayedForm === 'CREATE',
            'new-account__tabs__unselected cursor-pointer': displayedForm !== 'CREATE',
          }),
          onClick: () => displayForm('CREATE'),
        }, this.props.t('createDen')),

        h('div.new-account__tabs__tab', {
          className: classnames('new-account__tabs__tab', {
            'new-account__tabs__selected': displayedForm === 'IMPORT',
            'new-account__tabs__unselected cursor-pointer': displayedForm !== 'IMPORT',
          }),
          onClick: () => displayForm('IMPORT'),
        }, this.props.t('import')),

      ]),

    ]),

    h('div.new-account__form', [

      displayedForm === 'CREATE'
        ? h(NewAccountCreateForm)
        : h(NewAccountImportForm),

    ]),

  ])
}