'use client'; import {useForm} from "react-hook-form"; import {Button} from "@/components/ui/button"; import InputField from "@/components/forms/InputField"; import SelectField from "@/components/forms/SelectField"; import {INVESTMENT_GOALS, PREFERRED_INDUSTRIES, RISK_TOLERANCE_OPTIONS} from "@/lib/constants"; import {CountrySelectField} from "@/components/forms/CountrySelectField"; import FooterLink from "@/components/forms/FooterLink"; import {signUpWithEmail} from "@/lib/actions/auth.actions"; import {useRouter} from "next/navigation"; import {toast} from "sonner"; import OpenDevSocietyBranding from "@/components/OpenDevSocietyBranding"; import React from "react"; const SignUp = () => { const router = useRouter() const { register, handleSubmit, control, formState: { errors, isSubmitting }, } = useForm({ defaultValues: { fullName: '', email: '', password: '', country: 'IN', investmentGoals: 'Growth', riskTolerance: 'Medium', preferredIndustry: 'Technology' }, mode: 'onBlur' }, ); const onSubmit = async (data: SignUpFormData) => { try { const result = await signUpWithEmail(data); if (result.success) { router.push('/'); return; } toast.error('Sign up failed', { description: result.error ?? 'We could not create your account.', }); } catch (e) { console.error(e); toast.error('Sign up failed', { description: e instanceof Error ? e.message : 'Failed to create an account.' }) } } return ( <>

Sign Up & Personalize

) } export default SignUp;