import React, { Component } from 'react' import PropTypes from 'prop-types' import {connect} from 'react-redux' import { createNewVaultAndKeychain } from '../../../../ui/app/actions' import LoadingScreen from './loading-screen' import Breadcrumbs from './breadcrumbs' import { DEFAULT_ROUTE, IMPORT_ACCOUNT_ROUTE } from '../../../../ui/app/routes' class CreatePasswordScreen extends Component { static propTypes = { isLoading: PropTypes.bool.isRequired, createAccount: PropTypes.func.isRequired, history: PropTypes.object.isRequired, isInitialized: PropTypes.bool, isUnlocked: PropTypes.bool, } state = { password: '', confirmPassword: '', } componentWillMount () { const { isInitialized, isUnlocked, history } = this.props if (isInitialized || isUnlocked) { history.push(DEFAULT_ROUTE) } } isValid () { const { password, confirmPassword } = this.state if (!password || !confirmPassword) { return false } if (password.length < 8) { return false } return password === confirmPassword } createAccount = () => { if (!this.isValid()) { return } const { password } = this.state const { createAccount, history } = this.props createAccount(password) .then(() => history.push(DEFAULT_ROUTE)) } render () { const { isLoading } = this.props return (
{ isLoading ? : (
Create Password
this.setState({password: e.target.value})} /> this.setState({confirmPassword: e.target.value})} /> { e.preventDefault() history.push(IMPORT_ACCOUNT_ROUTE) }} > Import with seed phrase { /* } { e.preventDefault() goToImportAccount() }} > Import an account { */ }
) }
) } } const mapStateToProps = state => { const { metamask: { isInitialized, isUnlocked }, appState: { isLoading } } = state return { isLoading, isInitialized, isUnlocked, } } export default connect( mapStateToProps, dispatch => ({ createAccount: password => dispatch(createNewVaultAndKeychain(password)), }) )(CreatePasswordScreen)