diff options
Diffstat (limited to 'old-ui')
-rw-r--r-- | old-ui/app/accounts/import/index.js | 26 | ||||
-rw-r--r-- | old-ui/app/accounts/import/json.js | 168 | ||||
-rw-r--r-- | old-ui/app/components/account-dropdowns.js | 2 | ||||
-rw-r--r-- | old-ui/app/css/lib.css | 2 | ||||
-rw-r--r-- | old-ui/app/info.js | 6 | ||||
-rw-r--r-- | old-ui/app/unlock.js | 2 |
6 files changed, 123 insertions, 83 deletions
diff --git a/old-ui/app/accounts/import/index.js b/old-ui/app/accounts/import/index.js index 3502efe93..a57525ccf 100644 --- a/old-ui/app/accounts/import/index.js +++ b/old-ui/app/accounts/import/index.js @@ -34,10 +34,7 @@ AccountImportSubview.prototype.render = function () { const { type } = state return ( - h('div', { - style: { - }, - }, [ + h('div', [ h('.section-title.flex-row.flex-center', [ h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { onClick: (event) => { @@ -46,6 +43,27 @@ AccountImportSubview.prototype.render = function () { }), h('h2.page-subtitle', 'Import Accounts'), ]), + h('.error', { + style: { + display: 'inline-block', + alignItems: 'center', + padding: '5px 15px 0px 15px', + }, + }, [ + h('span', 'Imported accounts will not be associated with your originally created MetaMask account seedphrase. Learn more about imported accounts '), + h('span', { + style: { + color: 'rgba(247, 134, 28, 1)', + cursor: 'pointer', + textDecoration: 'underline', + }, + onClick: () => { + global.platform.openWindow({ + url: 'https://metamask.helpscoutdocs.com/article/17-what-are-loose-accounts', + }) + }, + }, 'here.'), + ]), h('div', { style: { padding: '10px', diff --git a/old-ui/app/accounts/import/json.js b/old-ui/app/accounts/import/json.js index 8d6bd7f7b..3ee3b95df 100644 --- a/old-ui/app/accounts/import/json.js +++ b/old-ui/app/accounts/import/json.js @@ -1,100 +1,122 @@ -const inherits = require('util').inherits 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' -module.exports = connect(mapStateToProps)(JsonImportSubview) +class JsonImportSubview extends Component { + constructor (props) { + super(props) -function mapStateToProps (state) { - return { - error: state.appState.warning, + this.state = { + file: null, + fileContents: '', + } } -} -inherits(JsonImportSubview, Component) -function JsonImportSubview () { - Component.call(this) -} + render () { + const { error } = this.props -JsonImportSubview.prototype.render = function () { - 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), + return ( + h('div', { style: { - margin: '20px 0px 12px 20px', - fontSize: '15px', + 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, + ]) + ) + } - 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, - }, - }), + onLoad (event, file) { + this.setState({file: file, fileContents: event.target.result}) + } - h('button.primary', { - onClick: this.createNewKeychain.bind(this), - style: { - margin: 12, - }, - }, 'Import'), + createKeyringOnEnter (event) { + if (event.key === 'Enter') { + event.preventDefault() + this.createNewKeychain() + } + } - error ? h('span.error', error) : null, - ]) - ) -} + createNewKeychain () { + const { fileContents } = this.state -JsonImportSubview.prototype.onLoad = function (event, file) { - this.setState({file: file, fileContents: event.target.result}) -} + if (!fileContents) { + const message = 'You must select a file to import.' + return this.props.displayWarning(message) + } -JsonImportSubview.prototype.createKeyringOnEnter = function (event) { - if (event.key === 'Enter') { - event.preventDefault() - this.createNewKeychain() - } -} + const passwordInput = document.getElementById('json-password-box') + const password = passwordInput.value -JsonImportSubview.prototype.createNewKeychain = function () { - const state = this.state - const { fileContents } = state + if (!password) { + const message = 'You must enter a password for the selected file.' + return this.props.displayWarning(message) + } - if (!fileContents) { - const message = 'You must select a file to import.' - return this.props.dispatch(actions.displayWarning(message)) + this.props.importNewAccount([ fileContents, password ]) } +} - const passwordInput = document.getElementById('json-password-box') - const password = passwordInput.value +JsonImportSubview.propTypes = { + error: PropTypes.string, + displayWarning: PropTypes.func, + importNewAccount: PropTypes.func, +} - if (!password) { - const message = 'You must enter a password for the selected file.' - return this.props.dispatch(actions.displayWarning(message)) +const mapStateToProps = state => { + return { + error: state.appState.warning, } +} - this.props.dispatch(actions.importNewAccount('JSON File', [ fileContents, password ])) +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) diff --git a/old-ui/app/components/account-dropdowns.js b/old-ui/app/components/account-dropdowns.js index 7a2357921..53468a1a1 100644 --- a/old-ui/app/components/account-dropdowns.js +++ b/old-ui/app/components/account-dropdowns.js @@ -79,7 +79,7 @@ class AccountDropdowns extends Component { try { // Sometimes keyrings aren't loaded yet: const type = keyring.type const isLoose = type !== 'HD Key Tree' - return isLoose ? h('.keyring-label', 'LOOSE') : null + return isLoose ? h('.keyring-label', 'IMPORTED') : null } catch (e) { return } } diff --git a/old-ui/app/css/lib.css b/old-ui/app/css/lib.css index f3acbee76..fd63b2b2e 100644 --- a/old-ui/app/css/lib.css +++ b/old-ui/app/css/lib.css @@ -217,7 +217,7 @@ hr.horizontal-line { background: rgba(255,0,0,0.8); color: white; bottom: 0px; - left: -8px; + left: -18px; border-radius: 10px; height: 20px; min-width: 20px; diff --git a/old-ui/app/info.js b/old-ui/app/info.js index db9f30f23..d79b8a3d2 100644 --- a/old-ui/app/info.js +++ b/old-ui/app/info.js @@ -63,7 +63,7 @@ InfoScreen.prototype.render = function () { h('a', { href: 'https://metamask.io/privacy.html', target: '_blank', - onClick (event) { this.navigateTo(event.target.href) }, + onClick: (event) => { this.navigateTo(event.target.href) }, }, [ h('div.info', 'Privacy Policy'), ]), @@ -72,7 +72,7 @@ InfoScreen.prototype.render = function () { h('a', { href: 'https://metamask.io/terms.html', target: '_blank', - onClick (event) { this.navigateTo(event.target.href) }, + onClick: (event) => { this.navigateTo(event.target.href) }, }, [ h('div.info', 'Terms of Use'), ]), @@ -81,7 +81,7 @@ InfoScreen.prototype.render = function () { h('a', { href: 'https://metamask.io/attributions.html', target: '_blank', - onClick (event) { this.navigateTo(event.target.href) }, + onClick: (event) => { this.navigateTo(event.target.href) }, }, [ h('div.info', 'Attributions'), ]), diff --git a/old-ui/app/unlock.js b/old-ui/app/unlock.js index a1f791552..7bf4ad29f 100644 --- a/old-ui/app/unlock.js +++ b/old-ui/app/unlock.js @@ -69,7 +69,7 @@ UnlockScreen.prototype.render = function () { style: { margin: 10, }, - }, 'Unlock'), + }, 'Log In'), ]), h('.flex-row.flex-center.flex-grow', [ |