@@ -25,7 +25,10 @@ import { z } from "zod";
25
25
export function OnboardingForm ( {
26
26
partner,
27
27
} : {
28
- partner ?: Pick < Partner , "bio" | "country" | "image" > | null ;
28
+ partner ?: Pick <
29
+ Partner ,
30
+ "name" | "email" | "bio" | "country" | "image"
31
+ > | null ;
29
32
} ) {
30
33
const router = useRouter ( ) ;
31
34
const { data : session } = useSession ( ) ;
@@ -41,18 +44,23 @@ export function OnboardingForm({
41
44
formState : { errors, isSubmitting, isSubmitSuccessful } ,
42
45
} = useForm < z . infer < typeof onboardPartnerSchema > > ( {
43
46
defaultValues : {
47
+ name : partner ?. name ?? undefined ,
48
+ email : partner ?. email ?? undefined ,
44
49
description : partner ?. bio ?? undefined ,
45
50
country : partner ?. country ?? undefined ,
46
51
image : partner ?. image ?? undefined ,
47
52
} ,
48
53
} ) ;
49
54
55
+ const { name, email, image } = watch ( ) ;
56
+
50
57
useEffect ( ( ) => {
51
58
if ( session ?. user ) {
52
- setValue ( "name" , session . user . name ?? "" ) ;
53
- setValue ( "email" , session . user . email ?? "" ) ;
59
+ ! name && setValue ( "name" , session . user . name ?? "" ) ;
60
+ ! email && setValue ( "email" , session . user . email ?? "" ) ;
61
+ ! image && setValue ( "image" , session . user . image ?? "" ) ;
54
62
}
55
- } , [ session ?. user ] ) ;
63
+ } , [ session ?. user , name , email , image ] ) ;
56
64
57
65
const { executeAsync, isPending } = useAction ( onboardPartnerAction , {
58
66
onSuccess : ( ) => {
0 commit comments