Skip to content

Commit d684c86

Browse files
authored
Merge pull request #1156 from topcoder-platform/PM-1381_copilot-past-projects
PM-1381 - past projects for copilot applicant
2 parents 571a3e7 + 5deb954 commit d684c86

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ const tableColumns: TableColumn<CopilotApplication>[] = [
3535
propertyName: 'activeProjects',
3636
type: 'text',
3737
},
38+
{
39+
label: 'Past Projects',
40+
propertyName: 'pastProjects',
41+
type: 'text',
42+
},
3843
{
3944
label: 'Status',
4045
propertyName: 'status',
@@ -81,6 +86,7 @@ const CopilotApplications: FC<{
8186
fulfilment: member?.copilotFulfillment || 0,
8287
handle: member?.handle,
8388
opportunityStatus: props.opportunity.status,
89+
pastProjects: member?.pastProjects || 0,
8490
}
8591
})
8692
.sort((a, b) => (b.fulfilment || 0) - (a.fulfilment || 0)) : [])

src/apps/copilots/src/services/members.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ interface Member {
1212
COPILOT: {
1313
activeProjects: number,
1414
fulfillment: number,
15+
projects: number,
1516
}
1617
}[]
1718
}
1819

1920
export interface FormattedMembers extends Member {
2021
copilotFulfillment: number,
2122
activeProjects: number,
23+
pastProjects: number;
2224
}
2325

2426
export type MembersResponse = SWRResponse<FormattedMembers[], FormattedMembers[]>
@@ -40,11 +42,16 @@ export const getMembersByUserIds = async (
4042
)
4143
}
4244

43-
const membersFactory = (members: Member[]): FormattedMembers[] => members.map(member => ({
44-
...member,
45-
activeProjects: member.stats?.find(item => item.COPILOT?.activeProjects)?.COPILOT?.activeProjects || 0,
46-
copilotFulfillment: member.stats?.find(item => item.COPILOT?.fulfillment)?.COPILOT?.fulfillment || 0,
47-
}))
45+
const membersFactory = (members: Member[]): FormattedMembers[] => members.map(member => {
46+
const copilotStats = member.stats?.find(item => item.COPILOT)?.COPILOT ?? {} as Member['stats'][0]['COPILOT']
47+
48+
return {
49+
...member,
50+
activeProjects: copilotStats.activeProjects || 0,
51+
copilotFulfillment: copilotStats.fulfillment || 0,
52+
pastProjects: copilotStats.projects || 0,
53+
}
54+
})
4855

4956
/**
5057
* Custom hook to fetch members by list of user ids

0 commit comments

Comments
 (0)