From d5d3e08539e151a17c5b204390ac7cda4a657971 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Fri, 25 Jul 2025 10:35:43 +0300 Subject: [PATCH 1/2] PM-1499 - make sure canceled & fulfilled requests are not editable --- .../CopilotRequestsPage.module.scss | 5 ++++ .../src/pages/copilot-requests/index.tsx | 30 ++++++++++++++----- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/apps/copilots/src/pages/copilot-requests/CopilotRequestsPage.module.scss b/src/apps/copilots/src/pages/copilot-requests/CopilotRequestsPage.module.scss index bde7159db..8c5108caa 100644 --- a/src/apps/copilots/src/pages/copilot-requests/CopilotRequestsPage.module.scss +++ b/src/apps/copilots/src/pages/copilot-requests/CopilotRequestsPage.module.scss @@ -27,3 +27,8 @@ display: block; white-space: pre-wrap; } + +.disabled { + opacity: 0.5; + pointer-events: none; +} diff --git a/src/apps/copilots/src/pages/copilot-requests/index.tsx b/src/apps/copilots/src/pages/copilot-requests/index.tsx index 648b420fd..faeb80158 100644 --- a/src/apps/copilots/src/pages/copilot-requests/index.tsx +++ b/src/apps/copilots/src/pages/copilot-requests/index.tsx @@ -1,6 +1,7 @@ import { FC, useCallback, useContext, useMemo } from 'react' import { find } from 'lodash' import { NavigateFunction, Params, useNavigate, useParams } from 'react-router-dom' +import classNames from 'classnames' import { Button, @@ -58,9 +59,15 @@ const CopilotTableActions: FC<{request: CopilotRequest}> = props => { navigate(copilotRoutesMap.CopilotRequestDetails.replace(':requestId', `${props.request.id}`)) }, [navigate, props.request.id]) + const isEditable = useMemo(() => !['canceled', 'fulfilled'].includes(props.request.status), [props.request.status]); + const editRequest = useCallback(() => { + if (!isEditable) { + return + } + navigate(copilotRoutesMap.CopilotRequestEditForm.replace(':requestId', `${props.request.id}`)) - }, [navigate, props.request.id]) + }, [navigate, props.request.id, isEditable]) const copilotOpportunityId = props.request.opportunity?.id @@ -82,13 +89,20 @@ const CopilotTableActions: FC<{request: CopilotRequest}> = props => { -
- - - +
+ {isEditable ? ( + + + + ) : ( + + )}
{props.request.status === 'approved' && ( From dbf2f6912dcbce70f6bef617b22c21f7bca34019 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Fri, 25 Jul 2025 10:39:17 +0300 Subject: [PATCH 2/2] lint --- src/apps/copilots/src/pages/copilot-requests/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/copilots/src/pages/copilot-requests/index.tsx b/src/apps/copilots/src/pages/copilot-requests/index.tsx index faeb80158..b61630075 100644 --- a/src/apps/copilots/src/pages/copilot-requests/index.tsx +++ b/src/apps/copilots/src/pages/copilot-requests/index.tsx @@ -59,7 +59,7 @@ const CopilotTableActions: FC<{request: CopilotRequest}> = props => { navigate(copilotRoutesMap.CopilotRequestDetails.replace(':requestId', `${props.request.id}`)) }, [navigate, props.request.id]) - const isEditable = useMemo(() => !['canceled', 'fulfilled'].includes(props.request.status), [props.request.status]); + const isEditable = useMemo(() => !['canceled', 'fulfilled'].includes(props.request.status), [props.request.status]) const editRequest = useCallback(() => { if (!isEditable) {