@@ -7,6 +7,7 @@ import { Row, Col, H1, Form } from '../components/Base'
77
88import { ROUTE_NAMES } from '../lib/router'
99import { EthereumWallet } from '../lib/wallet'
10+import UploadButton from '../components/UploadButton'
1011
1112class Keystore extends React.Component {
1213
@@ -45,10 +46,41 @@ class Keystore extends React.Component {
4546 }
4647 }
4748
49+ handleKeystoreUpload = (event) => {
50+ const file = event.files.item(0)
51+ const reader = new FileReader()
52+
53+ reader.readAsText(file)
54+
55+ console.log(reader.readyState)
56+
57+ // const loop = arg =>
58+ // arg.readyState === 2
59+ // ? arg.result
60+ // : loop(arg)
61+
62+ // const keystore = loop(reader)
63+ // this.setState({ keystore })
64+ }
65+
4866 render() {
4967 const { pushRoute, popRoute, wallet } = this.props
5068 const { keystore, password } = this.state
5169
70+ const keystoreInput =
71+ <Input
72+ className='pt-8 mt-8'
73+ prop-size='md'
74+ prop-format='innerLabel'
75+ type='text'
76+ name='keystore'
77+ onChange={ this.handleKeystoreInput }
78+ value={ keystore }
79+ autocomplete='off'
80+ autoFocus>
81+ <InnerLabel>{'Keystore File'}</InnerLabel>
82+ </Input>
83+
5284 return (
5385 <Row>
5486 <Col className={'measure-md'}>
@@ -60,18 +92,12 @@ class Keystore extends React.Component {
6092 that below.` }
6193 </InputCaption>
6294
63− <Input
64− className='pt-8 mt-8'
65− prop-size='md'
66− prop-format='innerLabel'
67− type='text'
68− name='keystore'
69− onChange={ this.handleKeystoreInput }
70− value={ keystore }
71− autocomplete='off'
72− autoFocus>
73− <InnerLabel>{'Keystore File'}</InnerLabel>
74− </Input>
95+ <UploadButton
96+ className={ `btn btn-primary table mt-4` }
97+ onChange={ this.handleKeystoreUpload }
98+ >
99+ { 'Upload Keystore file' }
100+ </UploadButton>
75101
76102 <Input
77103 className='pt-8 mt-8'