Skip to content

Commit 2bf40eb

Browse files
authored
Merge pull request #1089 from topcoder-platform/pm-580_1
fix(PM-580): show invite button only for active projects
2 parents 2b9c86e + b99bef7 commit 2bf40eb

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

src/apps/copilots/src/models/CopilotApplication.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ export interface CopilotApplication {
1212
handle?: string,
1313
userId: number,
1414
status: CopilotApplicationStatus,
15+
opportunityStatus: string,
1516
}

src/apps/copilots/src/pages/copilot-opportunity-details/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,10 @@ const CopilotOpportunityDetails: FC<{}> = () => {
223223
)
224224
}
225225
{activeTab === CopilotDetailsTabViews.details && <OpportunityDetails opportunity={opportunity} />}
226-
{activeTab === CopilotDetailsTabViews.applications && isAdminOrPM && (
226+
{activeTab === CopilotDetailsTabViews.applications && isAdminOrPM && opportunity && (
227227
<CopilotApplications
228228
copilotApplications={copilotApplications}
229+
opportunity={opportunity}
229230
members={members}
230231
/>
231232
)}

src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ const CopilotApplicationAction = (
1919
[allCopilotApplications],
2020
)
2121
const onClick = useCallback(async () => {
22-
if (copilotApplication.status !== CopilotApplicationStatus.PENDING || isInvited) {
22+
if (
23+
copilotApplication.status !== CopilotApplicationStatus.PENDING
24+
|| isInvited
25+
|| copilotApplication.opportunityStatus !== 'active'
26+
) {
2327
return
2428
}
2529

@@ -46,7 +50,9 @@ const CopilotApplicationAction = (
4650
}
4751

4852
{
49-
!isInvited && copilotApplication.status === CopilotApplicationStatus.PENDING && (
53+
!isInvited
54+
&& copilotApplication.status === CopilotApplicationStatus.PENDING
55+
&& copilotApplication.opportunityStatus === 'active' && (
5056
<IconSolid.UserAddIcon />
5157
)
5258
}

src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplications.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { FC, useMemo } from 'react'
22

33
import { Table, TableColumn } from '~/libs/ui'
44
import { USER_PROFILE_URL } from '~/config/environments/default.env'
5+
import { CopilotOpportunity } from '~/apps/copilots/src/models/CopilotOpportunity'
56

67
import { CopilotApplication } from '../../../../models/CopilotApplication'
78
import { FormattedMembers } from '../../../../services/members'
@@ -70,6 +71,7 @@ const tableColumns: TableColumn<CopilotApplication>[] = [
7071
const CopilotApplications: FC<{
7172
copilotApplications?: CopilotApplication[]
7273
members?: FormattedMembers[]
74+
opportunity: CopilotOpportunity
7375
}> = props => {
7476
const getData = (): CopilotApplication[] => (props.copilotApplications ? props.copilotApplications.map(item => {
7577
const member = props.members && props.members.find(each => each.userId === item.userId)
@@ -78,6 +80,7 @@ const CopilotApplications: FC<{
7880
activeProjects: member?.activeProjects || 0,
7981
fulfilment: member?.copilotFulfillment || 0,
8082
handle: member?.handle,
83+
opportunityStatus: props.opportunity.status,
8184
}
8285
})
8386
.sort((a, b) => (b.fulfilment || 0) - (a.fulfilment || 0)) : [])

0 commit comments

Comments
 (0)