From 8df23964f90bcf871f6bab338c31a2889dec2324 Mon Sep 17 00:00:00 2001 From: himaniraghav3 Date: Fri, 25 Apr 2025 23:16:52 +0530 Subject: [PATCH 1/3] PM-1064 Request Copilot button on opportunity feed --- .../src/pages/copilot-opportunity-list/index.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx index 9db5aa8bf..502651295 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx @@ -1,14 +1,16 @@ -import { FC, useMemo } from 'react' +import { FC, useContext, useMemo } from 'react' import { useNavigate } from 'react-router-dom' import classNames from 'classnames' import { + ButtonProps, ContentLayout, LoadingSpinner, PageTitle, Table, TableColumn, } from '~/libs/ui' +import { profileContext, ProfileContextData, UserRole } from '~/libs/core' import { CopilotOpportunity } from '../../models/CopilotOpportunity' import { copilotRoutesMap } from '../../copilots.routes' @@ -88,6 +90,9 @@ const tableColumns: TableColumn[] = [ const CopilotOpportunityList: FC<{}> = () => { const navigate = useNavigate() + const { profile }: ProfileContextData = useContext(profileContext) + const canViewRequestCopilotButton: boolean = useMemo(() => !!profile?.roles?.includes(UserRole.tcaAdmin), [profile]) + const { data: opportunities, isValidating, size, setSize, }: CopilotOpportunitiesResponse = useCopilotOpportunities() @@ -107,9 +112,15 @@ const CopilotOpportunityList: FC<{}> = () => { const opportunitiesLoading = isValidating + const addNewRequestButton: ButtonProps = { + label: 'New Copilot Request', + onClick: () => navigate(copilotRoutesMap.CopilotRequestForm), + } + return ( Copilot Opportunities Date: Fri, 25 Apr 2025 23:20:45 +0530 Subject: [PATCH 2/3] Rename var to simpler term --- .../copilots/src/pages/copilot-opportunity-list/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx index 502651295..b1015c8c9 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx @@ -91,7 +91,7 @@ const CopilotOpportunityList: FC<{}> = () => { const navigate = useNavigate() const { profile }: ProfileContextData = useContext(profileContext) - const canViewRequestCopilotButton: boolean = useMemo(() => !!profile?.roles?.includes(UserRole.tcaAdmin), [profile]) + const isAdmin: boolean = useMemo(() => !!profile?.roles?.includes(UserRole.tcaAdmin), [profile]) const { data: opportunities, isValidating, size, setSize, @@ -120,7 +120,7 @@ const CopilotOpportunityList: FC<{}> = () => { return ( Copilot Opportunities
Date: Mon, 28 Apr 2025 15:43:15 +0530 Subject: [PATCH 3/3] Add PM role --- .../copilots/src/pages/copilot-opportunity-list/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx index b1015c8c9..7b8afefbb 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-list/index.tsx @@ -91,7 +91,10 @@ const CopilotOpportunityList: FC<{}> = () => { const navigate = useNavigate() const { profile }: ProfileContextData = useContext(profileContext) - const isAdmin: boolean = useMemo(() => !!profile?.roles?.includes(UserRole.tcaAdmin), [profile]) + const isAdminOrPM: boolean = useMemo( + () => !!profile?.roles?.some(role => role === UserRole.tcaAdmin || role === UserRole.projectManager), + [profile], + ) const { data: opportunities, isValidating, size, setSize, @@ -120,7 +123,7 @@ const CopilotOpportunityList: FC<{}> = () => { return ( Copilot Opportunities