From 9aab68a38cc03d29fcb5fe78ffde6898befb23c4 Mon Sep 17 00:00:00 2001 From: Hentry Martin Date: Fri, 8 Aug 2025 00:23:49 +0200 Subject: [PATCH 1/2] fix: updated toast message --- .../tabs/copilot-applications/CopilotApplicationAction.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx index a405e2037..a6f2b2391 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx @@ -38,7 +38,7 @@ const CopilotApplicationAction = ( if (opportunityId) { try { await assignCopilotOpportunity(opportunityId, copilotApplication.id) - toast.success('Invited a copilot') + toast.success('Accepted as copilot') mutate(`${copilotBaseUrl}/copilots/opportunity/${opportunityId}/applications`) } catch (e) { const error = e as Error @@ -84,7 +84,7 @@ const CopilotApplicationAction = ( !isInvited && copilotApplication.status === CopilotApplicationStatus.PENDING && copilotApplication.opportunityStatus === 'active' && ( - + ) From cfccb97619ff2dc30e9879676b41767a80da0a70 Mon Sep 17 00:00:00 2001 From: Hentry Martin Date: Fri, 8 Aug 2025 01:12:42 +0200 Subject: [PATCH 2/2] fix: refresh list on accepting application --- src/apps/copilots/src/models/CopilotApplication.ts | 1 + .../src/pages/copilot-opportunity-details/index.tsx | 1 + .../tabs/copilot-applications/CopilotApplicationAction.tsx | 7 +++---- .../tabs/copilot-applications/CopilotApplications.tsx | 2 ++ 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/apps/copilots/src/models/CopilotApplication.ts b/src/apps/copilots/src/models/CopilotApplication.ts index bc380489c..b69d42864 100644 --- a/src/apps/copilots/src/models/CopilotApplication.ts +++ b/src/apps/copilots/src/models/CopilotApplication.ts @@ -20,4 +20,5 @@ export interface CopilotApplication { opportunityStatus: string, existingMembership?: ExistingMembership, projectName: string, + onApplied: () => void, } diff --git a/src/apps/copilots/src/pages/copilot-opportunity-details/index.tsx b/src/apps/copilots/src/pages/copilot-opportunity-details/index.tsx index fe6197196..aae03070f 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-details/index.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-details/index.tsx @@ -296,6 +296,7 @@ const CopilotOpportunityDetails: FC<{}> = () => { copilotApplications={copilotApplications} opportunity={opportunity} members={members} + onApplied={onApplied} /> )} diff --git a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx index a6f2b2391..57ec62724 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx @@ -1,9 +1,8 @@ import { useParams } from 'react-router-dom' import { toast } from 'react-toastify' -import { mutate } from 'swr' import { useCallback, useMemo, useState } from 'react' -import { assignCopilotOpportunity, copilotBaseUrl } from '~/apps/copilots/src/services/copilot-opportunities' +import { assignCopilotOpportunity } from '~/apps/copilots/src/services/copilot-opportunities' import { CopilotApplication, CopilotApplicationStatus } from '~/apps/copilots/src/models/CopilotApplication' import { IconSolid, Tooltip } from '~/libs/ui' @@ -39,7 +38,7 @@ const CopilotApplicationAction = ( try { await assignCopilotOpportunity(opportunityId, copilotApplication.id) toast.success('Accepted as copilot') - mutate(`${copilotBaseUrl}/copilots/opportunity/${opportunityId}/applications`) + copilotApplication.onApplied() } catch (e) { const error = e as Error toast.error(error.message) @@ -56,7 +55,7 @@ const CopilotApplicationAction = ( await assignCopilotOpportunity(opportunityId, copilotApplication.id) toast.success('Accepted as copilot') - mutate(`${copilotBaseUrl}/copilots/opportunity/${opportunityId}/applications`) + copilotApplication.onApplied() setShowAlreadyMemberModal(false) } catch (e) { const error = e as Error diff --git a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplications.tsx b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplications.tsx index f7c40b060..aef307c04 100644 --- a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplications.tsx +++ b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplications.tsx @@ -77,6 +77,7 @@ const CopilotApplications: FC<{ copilotApplications?: CopilotApplication[] members?: FormattedMembers[] opportunity: CopilotOpportunity + onApplied: () => void }> = props => { const getData = (): CopilotApplication[] => (props.copilotApplications ? props.copilotApplications.map(item => { const member = props.members && props.members.find(each => each.userId === item.userId) @@ -85,6 +86,7 @@ const CopilotApplications: FC<{ activeProjects: member?.activeProjects || 0, fulfilment: member?.copilotFulfillment || 0, handle: member?.handle, + onApplied: props.onApplied, opportunityStatus: props.opportunity.status, pastProjects: member?.pastProjects || 0, projectName: props.opportunity.projectName,