MIF_E31221222/sigap-website/app/(pages)/(auth)/_handlers/use-send-magic-link.ts

31 lines
950 B
TypeScript

"use client"
import type { IUserSchema } from "@/src/entities/models/users/users.model"
import { useSendMagicLinkMutation, useSendPasswordRecoveryMutation } from "@/app/(pages)/(auth)/_queries/mutations"
import { toast } from "sonner"
export const useSendMagicLinkHandler = (user: IUserSchema, onOpenChange: (open: boolean) => void) => {
const { mutateAsync: sendMagicLink, isPending } = useSendMagicLinkMutation()
const handleSendMagicLink = async () => {
if (user.email) {
await sendMagicLink(user.email, {
onSuccess: () => {
toast.success(`Magic link sent to ${user.email}`)
onOpenChange(false)
},
onError: (error) => {
toast.error(error.message)
onOpenChange(false)
},
})
}
}
return {
handleSendMagicLink,
isPending,
}
}