aboutsummaryrefslogtreecommitdiffstats
path: root/old-ui/app/accounts/import/json.js
diff options
context:
space:
mode:
Diffstat (limited to 'old-ui/app/accounts/import/json.js')
-rw-r--r--old-ui/app/accounts/import/json.js124
1 files changed, 0 insertions, 124 deletions
diff --git a/old-ui/app/accounts/import/json.js b/old-ui/app/accounts/import/json.js
deleted file mode 100644
index 8388f17a7..000000000
--- a/old-ui/app/accounts/import/json.js
+++ /dev/null
@@ -1,124 +0,0 @@
-const Component = require('react').Component
-const h = require('react-hyperscript')
-const connect = require('react-redux').connect
-const actions = require('../../../../ui/app/actions')
-const FileInput = require('react-simple-file-input').default
-const PropTypes = require('prop-types')
-
-const HELP_LINK = 'https://github.com/MetaMask/faq/blob/master/README.md#q-i-cant-use-the-import-feature-for-uploading-a-json-file-the-window-keeps-closing-when-i-try-to-select-a-file'
-
-class JsonImportSubview extends Component {
- constructor (props) {
- super(props)
-
- this.state = {
- file: null,
- fileContents: '',
- }
- }
-
- render () {
- const { error } = this.props
-
- return (
- h('div', {
- style: {
- display: 'flex',
- flexDirection: 'column',
- alignItems: 'center',
- padding: '5px 15px 0px 15px',
- },
- }, [
-
- h('p', 'Used by a variety of different clients'),
- h('a.warning', {
- href: HELP_LINK,
- target: '_blank',
- }, 'File import not working? Click here!'),
-
- h(FileInput, {
- readAs: 'text',
- onLoad: this.onLoad.bind(this),
- style: {
- margin: '20px 0px 12px 20px',
- fontSize: '15px',
- },
- }),
-
- h('input.large-input.letter-spacey', {
- type: 'password',
- placeholder: 'Enter password',
- id: 'json-password-box',
- onKeyPress: this.createKeyringOnEnter.bind(this),
- style: {
- width: 260,
- marginTop: 12,
- },
- }),
-
- h('button.primary', {
- onClick: this.createNewKeychain.bind(this),
- style: {
- margin: 12,
- },
- }, 'Import'),
-
- error ? h('span.error', error) : null,
- ])
- )
- }
-
- onLoad (event, file) {
- this.setState({file: file, fileContents: event.target.result})
- }
-
- createKeyringOnEnter (event) {
- if (event.key === 'Enter') {
- event.preventDefault()
- this.createNewKeychain()
- }
- }
-
- createNewKeychain () {
- const { fileContents } = this.state
-
- if (!fileContents) {
- const message = 'You must select a file to import.'
- return this.props.displayWarning(message)
- }
-
- const passwordInput = document.getElementById('json-password-box')
- const password = passwordInput.value
-
- if (!password) {
- const message = 'You must enter a password for the selected file.'
- return this.props.displayWarning(message)
- }
-
- this.props.importNewAccount([ fileContents, password ])
- // JS runtime requires caught rejections but failures are handled by Redux
- .catch()
- }
-}
-
-JsonImportSubview.propTypes = {
- error: PropTypes.string,
- displayWarning: PropTypes.func,
- importNewAccount: PropTypes.func,
-}
-
-const mapStateToProps = state => {
- return {
- error: state.appState.warning,
- }
-}
-
-const mapDispatchToProps = dispatch => {
- return {
- goHome: () => dispatch(actions.goHome()),
- displayWarning: warning => dispatch(actions.displayWarning(warning)),
- importNewAccount: options => dispatch(actions.importNewAccount('JSON File', options)),
- }
-}
-
-module.exports = connect(mapStateToProps, mapDispatchToProps)(JsonImportSubview)