'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 PasswordRequirements from "@/components/forms/PasswordRequirements"; import { INVESTMENT_GOALS, PASSWORD_VALIDATION, 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, watch, formState: { errors, isSubmitting }, } = useForm({ defaultValues: { fullName: '', email: '', password: '', country: 'IN', investmentGoals: 'Growth', riskTolerance: 'Medium', preferredIndustry: 'Technology' }, mode: 'onBlur' },); const passwordValue = watch('password'); 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;