aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/pages/unlock-page/unlock-page.component.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/components/pages/unlock-page/unlock-page.component.js')
-rw-r--r--ui/app/components/pages/unlock-page/unlock-page.component.js31
1 files changed, 30 insertions, 1 deletions
diff --git a/ui/app/components/pages/unlock-page/unlock-page.component.js b/ui/app/components/pages/unlock-page/unlock-page.component.js
index 58a8b0566..3ba870885 100644
--- a/ui/app/components/pages/unlock-page/unlock-page.component.js
+++ b/ui/app/components/pages/unlock-page/unlock-page.component.js
@@ -9,6 +9,7 @@ import { DEFAULT_ROUTE } from '../../../routes'
export default class UnlockPage extends Component {
static contextTypes = {
+ metricsEvent: PropTypes.func,
t: PropTypes.func,
}
@@ -45,7 +46,7 @@ export default class UnlockPage extends Component {
event.stopPropagation()
const { password } = this.state
- const { onSubmit } = this.props
+ const { onSubmit, forceUpdateMetamaskState, showOptInModal } = this.props
if (password === '' || this.submitting) {
return
@@ -56,7 +57,35 @@ export default class UnlockPage extends Component {
try {
await onSubmit(password)
+ const newState = await forceUpdateMetamaskState()
+ this.context.metricsEvent({
+ eventOpts: {
+ category: 'Navigation',
+ action: 'Unlock',
+ name: 'Success',
+ },
+ isNewVisit: true,
+ })
+
+ if (newState.participateInMetaMetrics === null || newState.participateInMetaMetrics === undefined) {
+ showOptInModal()
+ }
} catch ({ message }) {
+ if (message === 'Incorrect password') {
+ const newState = await forceUpdateMetamaskState()
+ this.context.metricsEvent({
+ eventOpts: {
+ category: 'Navigation',
+ action: 'Unlock',
+ name: 'Incorrect Passowrd',
+ },
+ customVariables: {
+ numberOfTokens: newState.tokens.length,
+ numberOfAccounts: Object.keys(newState.accounts).length,
+ },
+ })
+ }
+
this.setState({ error: message })
this.submitting = false
}