1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-01 00:28:06 +01:00
metamask-extension/ui/app/pages/create-account/import-account/index.js

93 lines
2.4 KiB
JavaScript
Raw Normal View History

import React, { Component } from 'react'
const inherits = require('util').inherits
const PropTypes = require('prop-types')
import Select from 'react-select'
2016-11-04 23:08:50 +01:00
// Subviews
const JsonImportView = require('./json.js')
const PrivateKeyImportView = require('./private-key.js')
2016-11-04 23:08:50 +01:00
AccountImportSubview.contextTypes = {
t: PropTypes.func,
}
module.exports = AccountImportSubview
inherits(AccountImportSubview, Component)
function AccountImportSubview () {
Component.call(this)
}
AccountImportSubview.prototype.getMenuItemTexts = function () {
2018-03-22 03:18:10 +01:00
return [
this.context.t('privateKey'),
this.context.t('jsonFile'),
]
}
AccountImportSubview.prototype.render = function () {
const state = this.state || {}
const menuItems = this.getMenuItemTexts()
const { type } = state
return (
<div className="new-account-import-form">
<div className="new-account-import-disclaimer">
<span>{this.context.t('importAccountMsg')}</span>
<span
style={{
2018-02-27 21:01:09 +01:00
cursor: 'pointer',
textDecoration: 'underline',
}}
onClick={() => {
2018-02-27 21:01:09 +01:00
global.platform.openWindow({
2018-10-11 18:06:24 +02:00
url: 'https://metamask.zendesk.com/hc/en-us/articles/360015289932',
2018-02-27 21:01:09 +01:00
})
}}
>
{this.context.t('here')}
</span>
</div>
<div className="new-account-import-form__select-section">
<div className="new-account-import-form__select-label">
{this.context.t('selectType')}
</div>
<Select
className="new-account-import-form__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 })
}}
/>
</div>
{this.renderImportView()}
</div>
)
}
2017-04-27 06:05:45 +02:00
AccountImportSubview.prototype.renderImportView = function () {
2016-11-04 23:08:50 +01:00
const state = this.state || {}
const { type } = state
const menuItems = this.getMenuItemTexts()
const current = type || menuItems[0]
2016-11-04 23:08:50 +01:00
switch (current) {
case this.context.t('privateKey'):
return <PrivateKeyImportView />
case this.context.t('jsonFile'):
return <JsonImportView />
2016-11-04 23:08:50 +01:00
default:
return <JsonImportView />
2016-11-04 23:08:50 +01:00
}
}