diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index f656fa85da5c..d1a2121ed991 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -3071,16 +3071,6 @@ function wasMessageReceivedWhileOffline( return !wasByCurrentUser && wasCreatedOffline && !(action.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD || action.isOptimisticAction); } -function getReportActionFromExpensifyCard(cardID: number) { - return Object.values(allReportActions ?? {}) - .map((reportActions) => Object.values(reportActions ?? {})) - .flat() - .find((reportAction) => { - const cardIssuedActionOriginalMessage = isActionOfType(reportAction, CONST.REPORT.ACTIONS.TYPE.CARD_ISSUED_VIRTUAL) ? getOriginalMessage(reportAction) : undefined; - return cardIssuedActionOriginalMessage?.cardID === cardID; - }); -} - function getIntegrationSyncFailedMessage(action: OnyxEntry, policyID?: string, shouldShowOldDotLink = false): string { const {label, errorMessage} = getOriginalMessage(action as ReportAction) ?? {label: '', errorMessage: ''}; @@ -3283,7 +3273,6 @@ export { getReopenedMessage, getLeaveRoomMessage, getRetractedMessage, - getReportActionFromExpensifyCard, isReopenedAction, isRetractedAction, getIntegrationSyncFailedMessage, diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index b8de6b257371..f54c26866aa0 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -11470,18 +11470,6 @@ function getReportPersonalDetailsParticipants(report: Report, personalDetailsPar }; } -function findReportIDForAction(action?: ReportAction): string | undefined { - if (!allReportActions || !action?.reportActionID) { - return undefined; - } - - return Object.keys(allReportActions) - .find((reportActionsKey) => { - const reportActions = allReportActions?.[reportActionsKey]; - return !!reportActions && !isEmptyObject(reportActions[action.reportActionID]); - }) - ?.replace(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}`, ''); -} function canRejectReportAction(report: Report, policy?: Policy): boolean { if (!Permissions.isBetaEnabled(CONST.BETAS.NEWDOT_REJECT, allBetas)) { return false; @@ -12109,7 +12097,6 @@ export { generateReportAttributes, getReportPersonalDetailsParticipants, isAllowedToSubmitDraftExpenseReport, - findReportIDForAction, isWorkspaceEligibleForReportChange, pushTransactionViolationsOnyxData, navigateOnDeleteExpense, diff --git a/src/libs/actions/Card.ts b/src/libs/actions/Card.ts index da9f067733af..205fc26635b7 100644 --- a/src/libs/actions/Card.ts +++ b/src/libs/actions/Card.ts @@ -18,8 +18,6 @@ import {READ_COMMANDS, SIDE_EFFECT_REQUEST_COMMANDS, WRITE_COMMANDS} from '@libs import * as ErrorUtils from '@libs/ErrorUtils'; import * as NetworkStore from '@libs/Network/NetworkStore'; import * as PolicyUtils from '@libs/PolicyUtils'; -import {getReportActionFromExpensifyCard} from '@libs/ReportActionsUtils'; -import {findReportIDForAction} from '@libs/ReportUtils'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import type {Card, CompanyCardFeed} from '@src/types/onyx'; @@ -634,8 +632,6 @@ function updateExpensifyCardLimitType(workspaceAccountID: number, cardID: number function deactivateCard(workspaceAccountID: number, card?: Card) { const authToken = NetworkStore.getAuthToken(); const cardID = card?.cardID ?? CONST.DEFAULT_NUMBER_ID; - const reportAction = getReportActionFromExpensifyCard(cardID); - const reportID = findReportIDForAction(reportAction) ?? reportAction?.reportID; if (!authToken) { return; @@ -681,28 +677,6 @@ function deactivateCard(workspaceAccountID: number, card?: Card) { }, ]; - if (reportAction?.reportActionID && reportID) { - optimisticData.push({ - onyxMethod: Onyx.METHOD.MERGE, - key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, - value: { - [reportAction.reportActionID]: { - ...reportAction, - originalMessage: { - cardID: null, - }, - }, - }, - }); - failureData.push({ - onyxMethod: Onyx.METHOD.MERGE, - key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportAction.reportID}`, - value: { - [reportAction.reportActionID]: reportAction, - }, - }); - } - const parameters: CardDeactivateParams = { authToken, cardID, diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index f991711129f7..03118e0fcc6d 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -1,5 +1,5 @@ import React, {useCallback, useEffect, useState} from 'react'; -import {View} from 'react-native'; +import {InteractionManager, View} from 'react-native'; import ExpensifyCardImage from '@assets/images/expensify-card.svg'; import Badge from '@components/Badge'; import ConfirmModal from '@components/ConfirmModal'; @@ -57,7 +57,6 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail // eslint-disable-next-line rulesdir/prefer-shouldUseNarrowLayout-instead-of-isSmallScreenWidth const {isSmallScreenWidth} = useResponsiveLayout(); const styles = useThemeStyles(); - const [isDeleted, setIsDeleted] = useState(false); const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false}); const [cardFeeds] = useCardFeeds(policyID); @@ -79,24 +78,15 @@ function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetail openCardDetailsPage(Number(cardID)); }, [cardID]); - useEffect(() => { - if (!isDeleted) { - return; - } - return () => { - deactivateCardAction(defaultFundID, card); - }; - }, [isDeleted, defaultFundID, card]); - const {isOffline} = useNetwork({onReconnect: fetchCardDetails}); useEffect(() => fetchCardDetails(), [fetchCardDetails]); const deactivateCard = () => { - setIsDeleted(true); setIsDeactivateModalVisible(false); - requestAnimationFrame(() => { - Navigation.goBack(); + Navigation.goBack(); + InteractionManager.runAfterInteractions(() => { + deactivateCardAction(defaultFundID, card); }); };