@@ -16,20 +16,25 @@ import { Input } from "@/components/ui/input";
16
16
import { api } from "@/trpc/react" ;
17
17
import { toast } from "sonner" ;
18
18
19
- import {
20
- type TypeZodInviteMemberMutationSchema ,
21
- ZodInviteMemberMutationSchema ,
22
- } from "@/trpc/routers/member-router/schema" ;
23
-
24
19
import { popModal } from "@/components/modals" ;
25
20
import { zodResolver } from "@hookform/resolvers/zod" ;
26
21
import { useRouter } from "next/navigation" ;
27
22
import { useForm } from "react-hook-form" ;
23
+ import { z } from "zod" ;
24
+
25
+ const ZodTeamMemberSchema = z . object ( {
26
+ name : z . string ( ) ,
27
+ loginEmail : z . string ( ) ,
28
+ workEmail : z . string ( ) ,
29
+ title : z . string ( ) ,
30
+ } ) ;
31
+
32
+ type TypeZodTeamMemberSchema = z . infer < typeof ZodTeamMemberSchema > ;
28
33
29
34
type MemberModalType = {
30
35
title : string ;
31
36
subtitle : string ;
32
- member : TypeZodInviteMemberMutationSchema ;
37
+ member : TypeZodTeamMemberSchema ;
33
38
} & editModeType ;
34
39
35
40
type editModeType =
@@ -42,11 +47,12 @@ export const TeamMemberModal = ({
42
47
member,
43
48
...rest
44
49
} : MemberModalType ) => {
50
+ console . log ( { rest } ) ;
45
51
const router = useRouter ( ) ;
46
52
const inviteMember = api . member . inviteMember . useMutation ( {
47
53
onSuccess : ( ) => {
48
54
popModal ( "TeamMemberModal" ) ;
49
- toast . success ( "You have successfully invited the stakeholder ." ) ;
55
+ toast . success ( "You have successfully invited the member ." ) ;
50
56
router . refresh ( ) ;
51
57
} ,
52
58
onError : ( error ) => {
@@ -57,34 +63,43 @@ export const TeamMemberModal = ({
57
63
const updateMember = api . member . updateMember . useMutation ( {
58
64
onSuccess : ( ) => {
59
65
popModal ( "TeamMemberModal" ) ;
60
- toast . success ( "You have successfully updated the stakeholder ." ) ;
66
+ toast . success ( "You have successfully updated the member ." ) ;
61
67
router . refresh ( ) ;
62
68
} ,
63
69
onError : ( error ) => {
64
70
toast . error ( error . message ) ;
65
71
} ,
66
72
} ) ;
67
73
68
- const form = useForm < TypeZodInviteMemberMutationSchema > ( {
69
- resolver : zodResolver ( ZodInviteMemberMutationSchema ) ,
74
+ const form = useForm < TypeZodTeamMemberSchema > ( {
75
+ resolver : zodResolver ( ZodTeamMemberSchema ) ,
70
76
defaultValues : {
71
77
name : member . name ?? "" ,
72
- email : member . email ?? "" ,
78
+ loginEmail : member . loginEmail ?? "" ,
79
+ workEmail : member . workEmail ?? "" ,
73
80
title : member . title ?? "" ,
74
81
} ,
75
82
} ) ;
76
83
77
84
const isSubmitting = form . formState . isSubmitting ;
78
85
79
- const onSubmit = async ( values : TypeZodInviteMemberMutationSchema ) => {
86
+ const onSubmit = async ( values : TypeZodTeamMemberSchema ) => {
87
+ console . log ( { values } ) ;
88
+ const { name, title, workEmail, loginEmail } = values ;
80
89
try {
81
90
if ( rest . isEditMode ) {
82
91
await updateMember . mutateAsync ( {
83
- ...values ,
92
+ name,
93
+ title,
94
+ workEmail,
84
95
memberId : rest . memberId ,
85
96
} ) ;
86
97
} else {
87
- await inviteMember . mutateAsync ( values ) ;
98
+ await inviteMember . mutateAsync ( {
99
+ name,
100
+ title,
101
+ email : loginEmail ,
102
+ } ) ;
88
103
}
89
104
// biome-ignore lint/suspicious/noEmptyBlockStatements: <explanation>
90
105
} catch ( error ) { }
@@ -113,16 +128,14 @@ export const TeamMemberModal = ({
113
128
114
129
< FormField
115
130
control = { form . control }
116
- name = "email"
131
+ name = { rest . isEditMode ? "workEmail" : "loginEmail" }
117
132
render = { ( { field } ) => (
118
133
< FormItem >
119
- < FormLabel > Work email</ FormLabel >
134
+ < FormLabel >
135
+ { rest . isEditMode ? "Work email" : "Login email" }
136
+ </ FormLabel >
120
137
< FormControl >
121
- < Input
122
- disabled = { isSubmitting || rest . isEditMode === true }
123
- type = "email"
124
- { ...field }
125
- />
138
+ < Input disabled = { isSubmitting } type = "email" { ...field } />
126
139
</ FormControl >
127
140
< FormMessage className = "text-xs font-light" />
128
141
</ FormItem >
0 commit comments