import { useMutation } from "blitz" import { LabeledTextField } from "../../core/components/labeled-text-field" import { Form, FORM_ERROR } from "../../core/components/form" import signup from "../../auth/mutations/signup" import { Signup } from "../validations" type SignupFormProps = { onSuccess?: () => void } export const SignupForm = (props: SignupFormProps) => { const [signupMutation] = useMutation(signup) return (

Create an Account

{ try { await signupMutation(values) props.onSuccess?.() } catch (error) { if (error.code === "P2002" && error.meta?.target?.includes("email")) { // This error comes from Prisma return { email: "This email is already being used" } } else { return { [FORM_ERROR]: error.toString() } } } }} >
) } export default SignupForm