use new verify email dialog in 2fa flow
This commit is contained in:
@@ -2,9 +2,9 @@ import React from 'react'
|
|||||||
import {msg} from '@lingui/macro'
|
import {msg} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
import {useModalControls} from '#/state/modals'
|
|
||||||
import {useAgent, useSession} from '#/state/session'
|
import {useAgent, useSession} from '#/state/session'
|
||||||
import {useDialogControl} from '#/components/Dialog'
|
import {useDialogControl} from '#/components/Dialog'
|
||||||
|
import {VerifyEmailDialog} from '#/components/dialogs/VerifyEmailDialog'
|
||||||
import * as Prompt from '#/components/Prompt'
|
import * as Prompt from '#/components/Prompt'
|
||||||
import {DisableEmail2FADialog} from './DisableEmail2FADialog'
|
import {DisableEmail2FADialog} from './DisableEmail2FADialog'
|
||||||
import * as SettingsList from './SettingsList'
|
import * as SettingsList from './SettingsList'
|
||||||
@@ -12,9 +12,9 @@ import * as SettingsList from './SettingsList'
|
|||||||
export function Email2FAToggle() {
|
export function Email2FAToggle() {
|
||||||
const {_} = useLingui()
|
const {_} = useLingui()
|
||||||
const {currentAccount} = useSession()
|
const {currentAccount} = useSession()
|
||||||
const {openModal} = useModalControls()
|
|
||||||
const disableDialogControl = useDialogControl()
|
const disableDialogControl = useDialogControl()
|
||||||
const enableDialogControl = useDialogControl()
|
const enableDialogControl = useDialogControl()
|
||||||
|
const verifyEmailDialogControl = useDialogControl()
|
||||||
const agent = useAgent()
|
const agent = useAgent()
|
||||||
|
|
||||||
const enableEmailAuthFactor = React.useCallback(async () => {
|
const enableEmailAuthFactor = React.useCallback(async () => {
|
||||||
@@ -35,15 +35,17 @@ export function Email2FAToggle() {
|
|||||||
disableDialogControl.open()
|
disableDialogControl.open()
|
||||||
} else {
|
} else {
|
||||||
if (!currentAccount.emailConfirmed) {
|
if (!currentAccount.emailConfirmed) {
|
||||||
openModal({
|
verifyEmailDialogControl.open()
|
||||||
name: 'verify-email',
|
|
||||||
onSuccess: enableDialogControl.open,
|
|
||||||
})
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
enableDialogControl.open()
|
enableDialogControl.open()
|
||||||
}
|
}
|
||||||
}, [currentAccount, enableDialogControl, openModal, disableDialogControl])
|
}, [
|
||||||
|
currentAccount,
|
||||||
|
enableDialogControl,
|
||||||
|
verifyEmailDialogControl,
|
||||||
|
disableDialogControl,
|
||||||
|
])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -55,6 +57,13 @@ export function Email2FAToggle() {
|
|||||||
onConfirm={enableEmailAuthFactor}
|
onConfirm={enableEmailAuthFactor}
|
||||||
confirmButtonCta={_(msg`Enable`)}
|
confirmButtonCta={_(msg`Enable`)}
|
||||||
/>
|
/>
|
||||||
|
<VerifyEmailDialog
|
||||||
|
control={verifyEmailDialogControl}
|
||||||
|
onCloseAfterVerifying={enableDialogControl.open}
|
||||||
|
reasonText={_(
|
||||||
|
msg`You'll need to verify your email address before enabling email 2FA.`,
|
||||||
|
)}
|
||||||
|
/>
|
||||||
<SettingsList.BadgeButton
|
<SettingsList.BadgeButton
|
||||||
label={
|
label={
|
||||||
currentAccount?.emailAuthFactor ? _(msg`Change`) : _(msg`Enable`)
|
currentAccount?.emailAuthFactor ? _(msg`Change`) : _(msg`Enable`)
|
||||||
|
|||||||
Reference in New Issue
Block a user