File tree Expand file tree Collapse file tree 4 files changed +15
-3
lines changed
pages/copilot-opportunity-details
tabs/copilot-applications Expand file tree Collapse file tree 4 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -12,4 +12,5 @@ export interface CopilotApplication {
12
12
handle ?: string ,
13
13
userId : number ,
14
14
status : CopilotApplicationStatus ,
15
+ opportunityStatus : string ,
15
16
}
Original file line number Diff line number Diff line change @@ -223,9 +223,10 @@ const CopilotOpportunityDetails: FC<{}> = () => {
223
223
)
224
224
}
225
225
{ activeTab === CopilotDetailsTabViews . details && < OpportunityDetails opportunity = { opportunity } /> }
226
- { activeTab === CopilotDetailsTabViews . applications && isAdminOrPM && (
226
+ { activeTab === CopilotDetailsTabViews . applications && isAdminOrPM && opportunity && (
227
227
< CopilotApplications
228
228
copilotApplications = { copilotApplications }
229
+ opportunity = { opportunity }
229
230
members = { members }
230
231
/>
231
232
) }
Original file line number Diff line number Diff line change @@ -13,13 +13,18 @@ const CopilotApplicationAction = (
13
13
copilotApplication : CopilotApplication ,
14
14
allCopilotApplications : CopilotApplication [ ] ,
15
15
) : JSX . Element => {
16
+ console . log ( copilotApplication )
16
17
const { opportunityId } : { opportunityId ?: string } = useParams < { opportunityId ?: string } > ( )
17
18
const isInvited = useMemo (
18
19
( ) => allCopilotApplications . findIndex ( item => item . status === CopilotApplicationStatus . INVITED ) > - 1 ,
19
20
[ allCopilotApplications ] ,
20
21
)
21
22
const onClick = useCallback ( async ( ) => {
22
- if ( copilotApplication . status !== CopilotApplicationStatus . PENDING || isInvited ) {
23
+ if (
24
+ copilotApplication . status !== CopilotApplicationStatus . PENDING
25
+ || isInvited
26
+ || copilotApplication . opportunityStatus !== 'active'
27
+ ) {
23
28
return
24
29
}
25
30
@@ -46,7 +51,9 @@ const CopilotApplicationAction = (
46
51
}
47
52
48
53
{
49
- ! isInvited && copilotApplication . status === CopilotApplicationStatus . PENDING && (
54
+ ! isInvited
55
+ && copilotApplication . status === CopilotApplicationStatus . PENDING
56
+ && copilotApplication . opportunityStatus === 'active' && (
50
57
< IconSolid . UserAddIcon />
51
58
)
52
59
}
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import { FC, useMemo } from 'react'
2
2
3
3
import { Table , TableColumn } from '~/libs/ui'
4
4
import { USER_PROFILE_URL } from '~/config/environments/default.env'
5
+ import { CopilotOpportunity } from '~/apps/copilots/src/models/CopilotOpportunity'
5
6
6
7
import { CopilotApplication } from '../../../../models/CopilotApplication'
7
8
import { FormattedMembers } from '../../../../services/members'
@@ -70,6 +71,7 @@ const tableColumns: TableColumn<CopilotApplication>[] = [
70
71
const CopilotApplications : FC < {
71
72
copilotApplications ?: CopilotApplication [ ]
72
73
members ?: FormattedMembers [ ]
74
+ opportunity : CopilotOpportunity
73
75
} > = props => {
74
76
const getData = ( ) : CopilotApplication [ ] => ( props . copilotApplications ? props . copilotApplications . map ( item => {
75
77
const member = props . members && props . members . find ( each => each . userId === item . userId )
@@ -78,6 +80,7 @@ const CopilotApplications: FC<{
78
80
activeProjects : member ?. activeProjects || 0 ,
79
81
fulfilment : member ?. copilotFulfillment || 0 ,
80
82
handle : member ?. handle ,
83
+ oppourtunityStatus : props . opportunity . status ,
81
84
}
82
85
} )
83
86
. sort ( ( a , b ) => ( b . fulfilment || 0 ) - ( a . fulfilment || 0 ) ) : [ ] )
You can’t perform that action at this time.
0 commit comments