@@ -7,6 +7,7 @@ import { CopilotApplication, CopilotApplicationStatus } from '~/apps/copilots/sr
7
7
import { IconSolid , Tooltip } from '~/libs/ui'
8
8
9
9
import AlreadyMemberModal from './AlreadyMemberModal'
10
+ import ConfirmModal from './ConfirmModal'
10
11
import styles from './styles.module.scss'
11
12
12
13
const CopilotApplicationAction = (
@@ -15,6 +16,7 @@ const CopilotApplicationAction = (
15
16
) : JSX . Element => {
16
17
const { opportunityId } : { opportunityId ?: string } = useParams < { opportunityId ?: string } > ( )
17
18
const [ showAlreadyMemberModal , setShowAlreadyMemberModal ] = useState ( false )
19
+ const [ showConfirmModal , setShowConfirmModal ] = useState ( false )
18
20
const isInvited = useMemo (
19
21
( ) => allCopilotApplications
20
22
&& allCopilotApplications . findIndex ( item => item . status === CopilotApplicationStatus . INVITED ) > - 1 ,
@@ -31,19 +33,8 @@ const CopilotApplicationAction = (
31
33
32
34
if ( copilotApplication . existingMembership ) {
33
35
setShowAlreadyMemberModal ( true )
34
- return
35
- }
36
-
37
- if ( opportunityId ) {
38
- try {
39
- await assignCopilotOpportunity ( opportunityId , copilotApplication . id )
40
- toast . success ( 'Accepted as copilot' )
41
- copilotApplication . onApplied ( )
42
- } catch ( e ) {
43
- const error = e as Error
44
- toast . error ( error . message )
45
- }
46
-
36
+ } else {
37
+ setShowConfirmModal ( true )
47
38
}
48
39
} , [ opportunityId , copilotApplication ] )
49
40
@@ -57,6 +48,7 @@ const CopilotApplicationAction = (
57
48
toast . success ( 'Accepted as copilot' )
58
49
copilotApplication . onApplied ( )
59
50
setShowAlreadyMemberModal ( false )
51
+ setShowConfirmModal ( false )
60
52
} catch ( e ) {
61
53
const error = e as Error
62
54
toast . error ( error . message )
@@ -67,6 +59,7 @@ const CopilotApplicationAction = (
67
59
e . preventDefault ( )
68
60
e . stopPropagation ( )
69
61
setShowAlreadyMemberModal ( false )
62
+ setShowConfirmModal ( false )
70
63
} , [ showAlreadyMemberModal ] )
71
64
72
65
return (
@@ -83,7 +76,7 @@ const CopilotApplicationAction = (
83
76
! isInvited
84
77
&& copilotApplication . status === CopilotApplicationStatus . PENDING
85
78
&& copilotApplication . opportunityStatus === 'active' && (
86
- < Tooltip content = 'Accept Application ' >
79
+ < Tooltip content = 'Accept' >
87
80
< IconSolid . UserAddIcon />
88
81
</ Tooltip >
89
82
)
@@ -106,6 +99,13 @@ const CopilotApplicationAction = (
106
99
copilotApplication = { copilotApplication }
107
100
/>
108
101
) }
102
+
103
+ { showConfirmModal && (
104
+ < ConfirmModal
105
+ onClose = { onCloseModal }
106
+ onApply = { onApply }
107
+ />
108
+ ) }
109
109
</ div >
110
110
)
111
111
}
0 commit comments