mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix Import Existing DEN in popup New UI first time flow.
This commit is contained in:
parent
13b12efa03
commit
c26e0d555b
@ -2,7 +2,13 @@ import React, { Component } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import {connect} from 'react-redux'
|
||||
import LoadingScreen from './loading-screen'
|
||||
import {createNewVaultAndRestore, hideWarning, displayWarning} from '../../../../ui/app/actions'
|
||||
import {
|
||||
createNewVaultAndRestore,
|
||||
hideWarning,
|
||||
displayWarning,
|
||||
unMarkPasswordForgotten,
|
||||
clearNotices,
|
||||
} from '../../../../ui/app/actions'
|
||||
|
||||
class ImportSeedPhraseScreen extends Component {
|
||||
static propTypes = {
|
||||
@ -23,7 +29,7 @@ class ImportSeedPhraseScreen extends Component {
|
||||
|
||||
onClick = () => {
|
||||
const { password, seedPhrase, confirmPassword } = this.state
|
||||
const { createNewVaultAndRestore, next, displayWarning } = this.props
|
||||
const { createNewVaultAndRestore, next, displayWarning, leaveImportSeedSreenState } = this.props
|
||||
|
||||
if (seedPhrase.split(' ').length !== 12) {
|
||||
this.warning = 'Seed Phrases are 12 words long'
|
||||
@ -43,6 +49,7 @@ class ImportSeedPhraseScreen extends Component {
|
||||
return
|
||||
}
|
||||
this.warning = null
|
||||
leaveImportSeedSreenState()
|
||||
createNewVaultAndRestore(password, seedPhrase)
|
||||
.then(next)
|
||||
}
|
||||
@ -113,6 +120,9 @@ class ImportSeedPhraseScreen extends Component {
|
||||
export default connect(
|
||||
({ appState: { isLoading, warning } }) => ({ isLoading, warning }),
|
||||
dispatch => ({
|
||||
leaveImportSeedSreenState: () => {
|
||||
dispatch(unMarkPasswordForgotten())
|
||||
},
|
||||
createNewVaultAndRestore: (pw, seed) => dispatch(createNewVaultAndRestore(pw, seed)),
|
||||
displayWarning: (warning) => dispatch(displayWarning(warning)),
|
||||
hideWarning: () => dispatch(hideWarning()),
|
||||
|
@ -7,7 +7,11 @@ import NoticeScreen from './notice-screen'
|
||||
import BackupPhraseScreen from './backup-phrase-screen'
|
||||
import ImportAccountScreen from './import-account-screen'
|
||||
import ImportSeedPhraseScreen from './import-seed-phrase-screen'
|
||||
import {onboardingBuyEthView} from '../../../../ui/app/actions'
|
||||
const Loading = require('../../../../ui/app//components/loading')
|
||||
import {
|
||||
onboardingBuyEthView,
|
||||
unMarkPasswordForgotten,
|
||||
} from '../../../../ui/app/actions'
|
||||
|
||||
class FirstTimeFlow extends Component {
|
||||
|
||||
@ -33,6 +37,7 @@ class FirstTimeFlow extends Component {
|
||||
NOTICE: 'notice',
|
||||
BACK_UP_PHRASE: 'back_up_phrase',
|
||||
CONFIRM_BACK_UP_PHRASE: 'confirm_back_up_phrase',
|
||||
LOADING: 'loading',
|
||||
};
|
||||
|
||||
constructor (props) {
|
||||
@ -51,11 +56,15 @@ class FirstTimeFlow extends Component {
|
||||
isInitialized,
|
||||
seedWords,
|
||||
noActiveNotices,
|
||||
forgottenPassword,
|
||||
} = this.props
|
||||
const {SCREEN_TYPE} = FirstTimeFlow
|
||||
|
||||
// return SCREEN_TYPE.NOTICE
|
||||
|
||||
if (forgottenPassword) {
|
||||
return SCREEN_TYPE.IMPORT_SEED_PHRASE
|
||||
}
|
||||
if (!isInitialized) {
|
||||
return SCREEN_TYPE.CREATE_PASSWORD
|
||||
}
|
||||
@ -71,7 +80,17 @@ class FirstTimeFlow extends Component {
|
||||
|
||||
renderScreen () {
|
||||
const {SCREEN_TYPE} = FirstTimeFlow
|
||||
const {goToBuyEtherView, address} = this.props
|
||||
const {
|
||||
goToBuyEtherView,
|
||||
address,
|
||||
restoreCreatePasswordScreen,
|
||||
forgottenPassword,
|
||||
isLoading,
|
||||
} = this.props
|
||||
|
||||
if (isLoading) {
|
||||
return h(Loading)
|
||||
}
|
||||
|
||||
switch (this.state.screenType) {
|
||||
case SCREEN_TYPE.CREATE_PASSWORD:
|
||||
@ -92,8 +111,14 @@ class FirstTimeFlow extends Component {
|
||||
case SCREEN_TYPE.IMPORT_SEED_PHRASE:
|
||||
return (
|
||||
<ImportSeedPhraseScreen
|
||||
back={() => this.setScreenType(SCREEN_TYPE.CREATE_PASSWORD)}
|
||||
next={() => this.setScreenType(SCREEN_TYPE.NOTICE)}
|
||||
back={() => {
|
||||
leaveImportSeedSreenState()
|
||||
this.setScreenType(SCREEN_TYPE.CREATE_PASSWORD)
|
||||
}}
|
||||
next={() => {
|
||||
const newScreenType = forgottenPassword ? null : SCREEN_TYPE.NOTICE
|
||||
this.setScreenType(newScreenType)
|
||||
}}
|
||||
/>
|
||||
)
|
||||
case SCREEN_TYPE.UNIQUE_IMAGE:
|
||||
@ -130,13 +155,27 @@ class FirstTimeFlow extends Component {
|
||||
}
|
||||
|
||||
export default connect(
|
||||
({ metamask: { isInitialized, seedWords, noActiveNotices, selectedAddress } }) => ({
|
||||
({
|
||||
metamask: {
|
||||
isInitialized,
|
||||
seedWords,
|
||||
noActiveNotices,
|
||||
selectedAddress,
|
||||
forgottenPassword,
|
||||
},
|
||||
appState: {
|
||||
isLoading,
|
||||
}
|
||||
}) => ({
|
||||
isInitialized,
|
||||
seedWords,
|
||||
noActiveNotices,
|
||||
address: selectedAddress,
|
||||
forgottenPassword,
|
||||
isLoading,
|
||||
}),
|
||||
dispatch => ({
|
||||
leaveImportSeedSreenState: () => dispatch(unMarkPasswordForgotten()),
|
||||
goToBuyEtherView: address => dispatch(onboardingBuyEthView(address)),
|
||||
})
|
||||
)(FirstTimeFlow)
|
||||
|
@ -380,7 +380,7 @@ App.prototype.renderPrimary = function () {
|
||||
if (props.isInitialized && props.forgottenPassword) {
|
||||
log.debug('rendering restore vault screen')
|
||||
return h(HDRestoreVaultScreen, {key: 'HDRestoreVaultScreen'})
|
||||
} else if (!props.isInitialized) {
|
||||
} else if (!props.isInitialized && !props.isUnlocked) {
|
||||
log.debug('rendering menu screen')
|
||||
return props.isPopup
|
||||
? h(OldUIInitializeMenuScreen, {key: 'menuScreenInit'})
|
||||
|
@ -7,6 +7,8 @@ const Mascot = require('../components/mascot')
|
||||
const actions = require('../actions')
|
||||
const Tooltip = require('../components/tooltip')
|
||||
const getCaretCoordinates = require('textarea-caret')
|
||||
const environmentType = require('../../../app/scripts/lib/environment-type')
|
||||
const { OLD_UI_NETWORK_TYPE } = require('../../../app/scripts/config').enums
|
||||
|
||||
let isSubmitting = false
|
||||
|
||||
@ -130,6 +132,18 @@ InitializeMenuScreen.prototype.renderMenu = function (state) {
|
||||
}, 'Import Existing DEN'),
|
||||
]),
|
||||
|
||||
h('.flex-row.flex-center.flex-grow', [
|
||||
h('p.pointer', {
|
||||
onClick: this.showOldUI.bind(this),
|
||||
style: {
|
||||
fontSize: '0.8em',
|
||||
color: '#aeaeae',
|
||||
textDecoration: 'underline',
|
||||
marginTop: '32px',
|
||||
},
|
||||
}, 'Use classic interface'),
|
||||
]),
|
||||
|
||||
])
|
||||
)
|
||||
}
|
||||
@ -146,7 +160,15 @@ InitializeMenuScreen.prototype.componentDidMount = function () {
|
||||
}
|
||||
|
||||
InitializeMenuScreen.prototype.showRestoreVault = function () {
|
||||
this.props.dispatch(actions.showRestoreVault())
|
||||
this.props.dispatch(actions.markPasswordForgotten())
|
||||
if (environmentType() === 'popup') {
|
||||
global.platform.openExtensionInBrowser()
|
||||
}
|
||||
}
|
||||
|
||||
InitializeMenuScreen.prototype.showOldUI = function () {
|
||||
this.props.dispatch(actions.setFeatureFlag('betaUI', false, 'OLD_UI_NOTIFICATION_MODAL'))
|
||||
.then(() => this.props.dispatch(actions.setNetworkEndpoints(OLD_UI_NETWORK_TYPE)))
|
||||
}
|
||||
|
||||
InitializeMenuScreen.prototype.createNewVaultAndKeychain = function () {
|
||||
|
Loading…
Reference in New Issue
Block a user