// @flow import React from 'react'; import { Form, FormField } from 'component/common/form'; import { Modal } from 'modal/modal'; import Button from 'component/button'; import { getSavedPassword, setSavedPassword } from 'util/saved-passwords'; type Props = { quit: () => void, closeModal: () => void, unlockWallet: (?string) => void, walletUnlockSucceded: boolean, }; type State = { password: string, rememberPassword: boolean, }; class ModalWalletUnlock extends React.PureComponent { state = { password: '', rememberPassword: false, }; componentDidMount() { getSavedPassword() .then(p => { if (p) { this.setState({ password: p, rememberPassword: true }); } }) .catch(); } componentDidUpdate() { const { props } = this; if (props.walletUnlockSucceded === true) { if (this.state.rememberPassword) { setSavedPassword(this.state.password); } props.closeModal(); } } onChangePassword(event: SyntheticInputEvent<*>) { this.setState({ password: event.target.value }); } onChangeRememberPassword(event: SyntheticInputEvent<>) { this.setState({ rememberPassword: event.target.checked }); } render() { const { quit, unlockWallet, walletUnlockSucceded } = this.props; const { password, rememberPassword } = this.state; return ( unlockWallet(password)} onAborted={quit} >
unlockWallet(password)}>

{__('Your wallet has been encrypted with a local password. Please enter your wallet password to proceed.')}{' '}