{{#if framework == "nextjs"}} "use client"; {{/if}} import InputField from "@/components/global/form-field/input-field"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { useRegisterMutation } from "@/features/auth/queries/auth.mutations"; import { registerZodSchema } from "@/features/auth/validators/register.validator"; import { zodResolver } from "@hookform/resolvers/zod"; {{#if framework == "nextjs"}} import Link from "next/link"; {{else}} import { Link } from "react-router"; {{/if}} import { FormProvider, useForm } from "react-hook-form"; import SocialLoginButtons from "./social-login-buttons"; type RegisterFormValues = { name: string; email: string; password: string; confirmPassword?: string; }; export default function RegisterForm() { const mutation = useRegisterMutation(); const form = useForm({ mode: "onTouched", resolver: zodResolver(registerZodSchema), defaultValues: { name: "", email: "", password: "", confirmPassword: "" }, }); async function onSubmit(values: RegisterFormValues) { try { await mutation.mutateAsync({ name: values.name, email: values.email, password: values.password, }); } catch {} } return ( Create your account Enter your details to create an account
{{#if framework == "nextjs"}} Already have an account? Sign in {{else}} Already have an account? Sign in {{/if}}
); }