diff options
author | brunobar79 <brunobar79@gmail.com> | 2018-07-04 02:21:17 +0800 |
---|---|---|
committer | brunobar79 <brunobar79@gmail.com> | 2018-07-04 02:21:17 +0800 |
commit | 595447ccac0c6d178d63850d45f0ad5456964e4f (patch) | |
tree | 61b83e1ba63615351da8e4c2dc7b446353411c9d /ui/app/components/pages/create-account/import-account/private-key.js | |
parent | 11736e6318182ab5b43430410a46059e5f46ad52 (diff) | |
parent | 2e9bd7e9d101287b4466475561df9131f0ef56a6 (diff) | |
download | tangerine-wallet-browser-595447ccac0c6d178d63850d45f0ad5456964e4f.tar.gz tangerine-wallet-browser-595447ccac0c6d178d63850d45f0ad5456964e4f.tar.zst tangerine-wallet-browser-595447ccac0c6d178d63850d45f0ad5456964e4f.zip |
Merge remote-tracking branch 'upstream/develop' into HEAD
Diffstat (limited to 'ui/app/components/pages/create-account/import-account/private-key.js')
-rw-r--r-- | ui/app/components/pages/create-account/import-account/private-key.js | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/ui/app/components/pages/create-account/import-account/private-key.js b/ui/app/components/pages/create-account/import-account/private-key.js index e55a47a3c..c38c39206 100644 --- a/ui/app/components/pages/create-account/import-account/private-key.js +++ b/ui/app/components/pages/create-account/import-account/private-key.js @@ -21,6 +21,7 @@ module.exports = compose( function mapStateToProps (state) { return { error: state.appState.warning, + firstAddress: Object.keys(state.metamask.accounts)[0], } } @@ -29,7 +30,8 @@ function mapDispatchToProps (dispatch) { importNewAccount: (strategy, [ privateKey ]) => { return dispatch(actions.importNewAccount(strategy, [ privateKey ])) }, - displayWarning: () => dispatch(actions.displayWarning(null)), + displayWarning: (message) => dispatch(actions.displayWarning(message || null)), + setSelectedAddress: (address) => dispatch(actions.setSelectedAddress(address)), } } @@ -40,7 +42,7 @@ function PrivateKeyImportView () { } PrivateKeyImportView.prototype.render = function () { - const { error } = this.props + const { error, displayWarning } = this.props return ( h('div.new-account-import-form__private-key', [ @@ -60,7 +62,10 @@ PrivateKeyImportView.prototype.render = function () { h('div.new-account-import-form__buttons', {}, [ h('button.btn-default.btn--large.new-account-create-form__button', { - onClick: () => this.props.history.push(DEFAULT_ROUTE), + onClick: () => { + displayWarning(null) + this.props.history.push(DEFAULT_ROUTE) + }, }, [ this.context.t('cancel'), ]), @@ -88,10 +93,16 @@ PrivateKeyImportView.prototype.createKeyringOnEnter = function (event) { PrivateKeyImportView.prototype.createNewKeychain = function () { const input = document.getElementById('private-key-box') const privateKey = input.value - const { importNewAccount, history } = this.props + const { importNewAccount, history, displayWarning, setSelectedAddress, firstAddress } = this.props importNewAccount('Private Key', [ privateKey ]) - // JS runtime requires caught rejections but failures are handled by Redux - .catch() - .then(() => history.push(DEFAULT_ROUTE)) + .then(({ selectedAddress }) => { + if (selectedAddress) { + history.push(DEFAULT_ROUTE) + } else { + displayWarning('Error importing account.') + setSelectedAddress(firstAddress) + } + }) + .catch(err => err && displayWarning(err.message || err)) } |