Skip to content

Commit

Permalink
♻️ Refactor recover password (fastapi#1242)
Browse files Browse the repository at this point in the history
  • Loading branch information
alejsdev authored Jun 28, 2024
1 parent 84ed52f commit 594a6c6
Showing 1 changed file with 24 additions and 7 deletions.
31 changes: 24 additions & 7 deletions frontend/src/routes/recover-password.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ import {
Input,
Text,
} from "@chakra-ui/react"
import { useMutation } from "@tanstack/react-query"
import { createFileRoute, redirect } from "@tanstack/react-router"
import { type SubmitHandler, useForm } from "react-hook-form"

import { LoginService } from "../client"
import { type ApiError, LoginService } from "../client"
import { isLoggedIn } from "../hooks/useAuth"
import useCustomToast from "../hooks/useCustomToast"
import { emailPattern } from "../utils"
Expand All @@ -34,19 +35,35 @@ function RecoverPassword() {
const {
register,
handleSubmit,
reset,
formState: { errors, isSubmitting },
} = useForm<FormData>()
const showToast = useCustomToast()

const onSubmit: SubmitHandler<FormData> = async (data) => {
const recoverPassword = async (data: FormData) => {
await LoginService.recoverPassword({
email: data.email,
})
showToast(
"Email sent.",
"We sent an email with a link to get back into your account.",
"success",
)
}

const mutation = useMutation({
mutationFn: recoverPassword,
onSuccess: () => {
showToast(
"Email sent.",
"We sent an email with a link to get back into your account.",
"success",
)
reset()
},
onError: (err: ApiError) => {
const errDetail = (err.body as any)?.detail
showToast("Something went wrong.", `${errDetail}`, "error")
},
})

const onSubmit: SubmitHandler<FormData> = async (data) => {
mutation.mutate(data)
}

return (
Expand Down

0 comments on commit 594a6c6

Please sign in to comment.