Fire off confirmation email after change

This commit is contained in:
Eric Bailey
2025-04-25 13:59:58 -05:00
parent d7d297b03b
commit 795bdbeb59
2 changed files with 21 additions and 0 deletions
@@ -0,0 +1,13 @@
import {useMutation} from '@tanstack/react-query'
import {useAgent} from '#/state/session'
export function useRequestEmailVerification() {
const agent = useAgent()
return useMutation({
mutationFn: async () => {
await agent.com.atproto.server.requestEmailConfirmation()
},
})
}
@@ -19,6 +19,7 @@ import {wait} from '#/lib/async/wait'
import {useUpdateEmail} from '#/components/dialogs/EmailDialog/data/useUpdateEmail'
import {useRequestEmailUpdate} from '#/components/dialogs/EmailDialog/data/useRequestEmailUpdate'
import {useRequestEmailVerification} from '#/components/dialogs/EmailDialog/data/useRequestEmailVerification'
import {TokenField} from '#/components/dialogs/EmailDialog/components/TokenField'
export function Update() {
@@ -41,6 +42,8 @@ export function Update() {
>(null)
const {mutateAsync: requestEmailUpdate} = useRequestEmailUpdate()
const {mutateAsync: requestEmailVerification} = useRequestEmailVerification()
const handleResendRequestEmailUpdate = async () => {
setResendStatus('sending')
try {
@@ -86,6 +89,11 @@ export function Update() {
setTokenRequired(true)
} else if (status === 'success') {
setSuccess(true)
try {
// fire off a confirmation email immediately
await requestEmailVerification()
} catch {}
}
} catch (e) {
logger.error('EmailDialog: update email failed', {safeMessage: e})