From 4fc8c42af46ab0b68825b3d6823f798e749a3a54 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 23 Apr 2025 14:24:18 +0800 Subject: [PATCH 1/4] dismiss modal when closing receipt view --- src/pages/TransactionReceiptPage.tsx | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 85a0397ad5cb..4a848c6ad45a 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -93,24 +93,6 @@ function TransactionReceipt({route}: TransactionReceiptProps) { // eslint-disable-next-line react-hooks/exhaustive-deps }, [receiptPath]); - const onModalClose = () => { - // Receipt Page can be opened either from Reports or from Search RHP view - // We have to handle going back to correct screens, if it was opened from RHP just close the modal, otherwise go to Report Page - const rootState = navigationRef.getRootState() as State; - const secondToLastRoute = rootState.routes.at(-2); - if (secondToLastRoute?.name === NAVIGATORS.RIGHT_MODAL_NAVIGATOR || isDraftTransaction) { - Navigation.dismissModal(); - } else { - const isOneTransactionThread = isOneTransactionThreadReportUtils(report?.reportID, report?.parentReportID, parentReportAction); - const dismissModalReportID = isOneTransactionThread ? report?.parentReportID : report?.reportID; - if (!dismissModalReportID) { - Navigation.dismissModal(); - return; - } - Navigation.dismissModalWithReport({reportID: dismissModalReportID}); - } - }; - const moneyRequestReportID = isMoneyRequestReport(report) ? report?.reportID : report?.parentReportID; const isTrackExpenseReport = isTrackExpenseReportReportUtils(report); @@ -135,7 +117,7 @@ function TransactionReceipt({route}: TransactionReceiptProps) { iouAction={action} iouType={iouType} draftTransactionID={isDraftTransaction ? transactionID : undefined} - onModalClose={onModalClose} + onModalClose={Navigation.dismissModal} isLoading={!transaction && reportMetadata?.isLoadingInitialReportActions} shouldShowNotFoundPage={shouldShowNotFoundPage} /> From b78b65e81e61ce70a490d2aec3f8ea21ddac9e7b Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 23 Apr 2025 20:31:54 +0800 Subject: [PATCH 2/4] lint --- src/pages/TransactionReceiptPage.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 4a848c6ad45a..da956ab63dd4 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -5,20 +5,17 @@ import {navigateToStartStepIfScanFileCannotBeRead} from '@libs/actions/IOU'; import {openReport} from '@libs/actions/Report'; import Navigation from '@libs/Navigation/Navigation'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {AuthScreensParamList, RootNavigatorParamList, State} from '@libs/Navigation/types'; +import type {AuthScreensParamList} from '@libs/Navigation/types'; import {getThumbnailAndImageURIs} from '@libs/ReceiptUtils'; import {getReportAction, isTrackExpenseAction as isTrackExpenseReportReportActionsUtils} from '@libs/ReportActionsUtils'; import { canEditFieldOfMoneyRequest, isMoneyRequestReport, - isOneTransactionThread as isOneTransactionThreadReportUtils, isTrackExpenseReport as isTrackExpenseReportReportUtils, } from '@libs/ReportUtils'; import {getRequestType, hasEReceipt, hasReceiptSource} from '@libs/TransactionUtils'; import tryResolveUrlFromApiRoot from '@libs/tryResolveUrlFromApiRoot'; -import navigationRef from '@navigation/navigationRef'; import CONST from '@src/CONST'; -import NAVIGATORS from '@src/NAVIGATORS'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; From 82427f5415be24225ef9d045d29bb57d3d17683b Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 23 Apr 2025 20:49:17 +0800 Subject: [PATCH 3/4] prettier --- src/pages/TransactionReceiptPage.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index da956ab63dd4..32c7872ff433 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -8,11 +8,7 @@ import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavig import type {AuthScreensParamList} from '@libs/Navigation/types'; import {getThumbnailAndImageURIs} from '@libs/ReceiptUtils'; import {getReportAction, isTrackExpenseAction as isTrackExpenseReportReportActionsUtils} from '@libs/ReportActionsUtils'; -import { - canEditFieldOfMoneyRequest, - isMoneyRequestReport, - isTrackExpenseReport as isTrackExpenseReportReportUtils, -} from '@libs/ReportUtils'; +import {canEditFieldOfMoneyRequest, isMoneyRequestReport, isTrackExpenseReport as isTrackExpenseReportReportUtils} from '@libs/ReportUtils'; import {getRequestType, hasEReceipt, hasReceiptSource} from '@libs/TransactionUtils'; import tryResolveUrlFromApiRoot from '@libs/tryResolveUrlFromApiRoot'; import CONST from '@src/CONST'; From 6e699548bac04ce32bc8c8697d66aa6dd65ce580 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Thu, 24 Apr 2025 00:06:08 +0800 Subject: [PATCH 4/4] lint --- src/pages/TransactionReceiptPage.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 32c7872ff433..e3d70a93eba1 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -22,10 +22,10 @@ function TransactionReceipt({route}: TransactionReceiptProps) { const reportID = route.params.reportID; const transactionID = route.params.transactionID; const action = route.params.action; - const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${reportID ?? CONST.DEFAULT_NUMBER_ID}`); - const [transactionMain] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID ?? CONST.DEFAULT_NUMBER_ID}`); - const [transactionDraft] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID ?? CONST.DEFAULT_NUMBER_ID}`); - const [reportMetadata = {isLoadingInitialReportActions: true}] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_METADATA}${reportID ?? CONST.DEFAULT_NUMBER_ID}`); + const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {canBeMissing: true}); + const [transactionMain] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, {canBeMissing: true}); + const [transactionDraft] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${transactionID}`, {canBeMissing: true}); + const [reportMetadata = {isLoadingInitialReportActions: true}] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_METADATA}${reportID}`, {canBeMissing: true}); const isDraftTransaction = !!action; const transaction = isDraftTransaction ? transactionDraft : transactionMain;