mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Don't re-render the export modal when the selected identity changes
This commit is contained in:
parent
a90c152485
commit
1e8e8bdfc8
@ -11,13 +11,21 @@ const ReadOnlyInput = require('../readonly-input')
|
|||||||
const copyToClipboard = require('copy-to-clipboard')
|
const copyToClipboard = require('copy-to-clipboard')
|
||||||
const { checksumAddress } = require('../../util')
|
const { checksumAddress } = require('../../util')
|
||||||
|
|
||||||
function mapStateToProps (state) {
|
function mapStateToPropsFactory () {
|
||||||
return {
|
let selectedIdentity = null
|
||||||
warning: state.appState.warning,
|
return function mapStateToProps (state) {
|
||||||
privateKey: state.appState.accountDetail.privateKey,
|
// We should **not** change the identity displayed here even if it changes from underneath us.
|
||||||
network: state.metamask.network,
|
// If we do, we will be showing the user one private key and a **different** address and name.
|
||||||
selectedIdentity: getSelectedIdentity(state),
|
// Note that the selected identity **will** change from underneath us when we unlock the keyring
|
||||||
previousModalState: state.appState.modal.previousModalState.name,
|
// which is the expected behavior that we are side-stepping.
|
||||||
|
selectedIdentity = selectedIdentity || getSelectedIdentity(state)
|
||||||
|
return {
|
||||||
|
warning: state.appState.warning,
|
||||||
|
privateKey: state.appState.accountDetail.privateKey,
|
||||||
|
network: state.metamask.network,
|
||||||
|
selectedIdentity,
|
||||||
|
previousModalState: state.appState.modal.previousModalState.name,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +51,7 @@ ExportPrivateKeyModal.contextTypes = {
|
|||||||
t: PropTypes.func,
|
t: PropTypes.func,
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = connect(mapStateToProps, mapDispatchToProps)(ExportPrivateKeyModal)
|
module.exports = connect(mapStateToPropsFactory, mapDispatchToProps)(ExportPrivateKeyModal)
|
||||||
|
|
||||||
|
|
||||||
ExportPrivateKeyModal.prototype.exportAccountAndGetPrivateKey = function (password, address) {
|
ExportPrivateKeyModal.prototype.exportAccountAndGetPrivateKey = function (password, address) {
|
||||||
@ -113,6 +121,7 @@ ExportPrivateKeyModal.prototype.render = function () {
|
|||||||
const { privateKey } = this.state
|
const { privateKey } = this.state
|
||||||
|
|
||||||
return h(AccountModalContainer, {
|
return h(AccountModalContainer, {
|
||||||
|
selectedIdentity,
|
||||||
showBackButton: previousModalState === 'ACCOUNT_DETAILS',
|
showBackButton: previousModalState === 'ACCOUNT_DETAILS',
|
||||||
backButtonAction: () => showAccountDetailModal(),
|
backButtonAction: () => showAccountDetailModal(),
|
||||||
}, [
|
}, [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user