1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-26 05:13:37 +02:00
metamask-extension/ui/app/components/pages/unlock-page/unlock-page.container.js

61 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-05-11 01:51:26 +02:00
import { connect } from 'react-redux'
import { withRouter } from 'react-router-dom'
import { compose } from 'recompose'
import { getEnvironmentType } from '../../../../../app/scripts/lib/util'
import { ENVIRONMENT_TYPE_POPUP } from '../../../../../app/scripts/lib/enums'
import { DEFAULT_ROUTE, RESTORE_VAULT_ROUTE } from '../../../routes'
import {
2018-05-11 01:51:26 +02:00
tryUnlockMetamask,
forgotPassword,
markPasswordForgotten,
} from '../../../actions'
2018-05-11 01:51:26 +02:00
import UnlockPage from './unlock-page.component'
const mapStateToProps = state => {
const { metamask: { isUnlocked } } = state
return {
isUnlocked,
}
}
const mapDispatchToProps = dispatch => {
return {
forgotPassword: () => dispatch(forgotPassword()),
tryUnlockMetamask: password => dispatch(tryUnlockMetamask(password)),
markPasswordForgotten: () => dispatch(markPasswordForgotten()),
}
}
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const { markPasswordForgotten, tryUnlockMetamask, ...restDispatchProps } = dispatchProps
const { history, onSubmit: ownPropsSubmit, ...restOwnProps } = ownProps
const onImport = () => {
markPasswordForgotten()
history.push(RESTORE_VAULT_ROUTE)
if (getEnvironmentType(window.location.href) === ENVIRONMENT_TYPE_POPUP) {
global.platform.openExtensionInBrowser()
}
}
const onSubmit = async password => {
await tryUnlockMetamask(password)
history.push(DEFAULT_ROUTE)
}
return {
...stateProps,
...restDispatchProps,
...restOwnProps,
onImport,
onRestore: onImport,
onSubmit: ownPropsSubmit || onSubmit,
}
}
2018-05-11 01:51:26 +02:00
export default compose(
withRouter,
connect(mapStateToProps, mapDispatchToProps, mergeProps)
2018-05-11 01:51:26 +02:00
)(UnlockPage)