From 9dbbf3a30b499a82d8547d8e8331c7ff9a014540 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Sat, 12 Jul 2025 20:35:22 +0430 Subject: [PATCH 1/3] fix: reset background to workspace on page reload in Track Expense --- src/ROUTES.ts | 9 +++++---- src/libs/Navigation/types.ts | 2 +- src/libs/Permissions.ts | 2 +- src/libs/ReportUtils.ts | 2 +- src/pages/iou/request/step/IOURequestStepAccountant.tsx | 2 +- .../iou/request/step/IOURequestStepConfirmation.tsx | 7 ++++++- .../iou/request/step/IOURequestStepParticipants.tsx | 3 +++ 7 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/ROUTES.ts b/src/ROUTES.ts index b4d167c85b61..93693df89f86 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -602,10 +602,11 @@ const ROUTES = { }, MONEY_REQUEST_STEP_CONFIRMATION: { route: ':action/:iouType/confirmation/:transactionID/:reportID/:backToReport?', - getRoute: (action: IOUAction, iouType: IOUType, transactionID: string, reportID: string | undefined, backToReport?: string, participantsAutoAssigned?: boolean) => - `${action as string}/${iouType as string}/confirmation/${transactionID}/${reportID}/${backToReport ?? ''}${ - participantsAutoAssigned ? '?participantsAutoAssigned=true' : '' - }` as const, + getRoute: (action: IOUAction, iouType: IOUType, transactionID: string, reportID: string | undefined, backToReport?: string, participantsAutoAssigned?: boolean, backTo?: string) => + getUrlWithBackToParam( + `${action as string}/${iouType as string}/confirmation/${transactionID}/${reportID}/${backToReport ?? ''}${participantsAutoAssigned ? '?participantsAutoAssigned=true' : ''}`, + backTo, + ), }, MONEY_REQUEST_STEP_AMOUNT: { route: ':action/:iouType/amount/:transactionID/:reportID/:pageIndex?/:backToReport?', diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index f6b005d01fef..ece3b9de7899 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -1410,7 +1410,7 @@ type MoneyRequestNavigatorParamList = { transactionID: string; reportID: string; pageIndex?: string; - backTo?: string; + backTo?: Routes; participantsAutoAssigned?: string; backToReport?: string; }; diff --git a/src/libs/Permissions.ts b/src/libs/Permissions.ts index 408df3326275..0d7ee8dbcf8a 100644 --- a/src/libs/Permissions.ts +++ b/src/libs/Permissions.ts @@ -4,7 +4,7 @@ import type Beta from '@src/types/onyx/Beta'; // eslint-disable-next-line rulesdir/no-beta-handler function canUseAllBetas(betas: OnyxEntry): boolean { - return !!betas?.includes(CONST.BETAS.ALL); + return true; } // eslint-disable-next-line rulesdir/no-beta-handler diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index e98acb5bafbe..d901c0a0fec8 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -9982,7 +9982,7 @@ function createDraftTransactionAndNavigateToParticipantSelector( } if (actionName === CONST.IOU.ACTION.SHARE) { - Navigation.navigate(ROUTES.MONEY_REQUEST_ACCOUNTANT.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, reportID, undefined)); + Navigation.navigate(ROUTES.MONEY_REQUEST_ACCOUNTANT.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, reportID, Navigation.getActiveRoute())); return; } diff --git a/src/pages/iou/request/step/IOURequestStepAccountant.tsx b/src/pages/iou/request/step/IOURequestStepAccountant.tsx index 624631f0a249..b0d31b0f29f1 100644 --- a/src/pages/iou/request/step/IOURequestStepAccountant.tsx +++ b/src/pages/iou/request/step/IOURequestStepAccountant.tsx @@ -39,7 +39,7 @@ function IOURequestStepAccountant({ return; } - Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_PARTICIPANTS.getRoute(iouType, transactionID, reportID, undefined, action)); + Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_PARTICIPANTS.getRoute(iouType, transactionID, reportID, Navigation.getActiveRoute(), action)); }, [iouType, transactionID, reportID, action, currentUserLogin]); const navigateBack = useCallback(() => { diff --git a/src/pages/iou/request/step/IOURequestStepConfirmation.tsx b/src/pages/iou/request/step/IOURequestStepConfirmation.tsx index 02dbbb89fd20..33fa246c27fb 100644 --- a/src/pages/iou/request/step/IOURequestStepConfirmation.tsx +++ b/src/pages/iou/request/step/IOURequestStepConfirmation.tsx @@ -81,7 +81,7 @@ function IOURequestStepConfirmation({ report: reportReal, reportDraft, route: { - params: {iouType, reportID, transactionID: initialTransactionID, action, participantsAutoAssigned: participantsAutoAssignedFromRoute, backToReport}, + params: {iouType, reportID, transactionID: initialTransactionID, action, participantsAutoAssigned: participantsAutoAssignedFromRoute, backToReport, backTo}, }, transaction: initialTransaction, isLoadingTransaction, @@ -299,6 +299,10 @@ function IOURequestStepConfirmation({ }, [transactionIDs, requestType, defaultCategory, policy?.id]); const navigateBack = useCallback(() => { + if (backTo) { + Navigation.goBack(backTo); + return; + } // If the action is categorize and there's no policies other than personal one, we simply call goBack(), i.e: dismiss the whole flow together // We don't need to subscribe to policy_ collection as we only need to check on the latest collection value if (action === CONST.IOU.ACTION.CATEGORIZE) { @@ -361,6 +365,7 @@ function IOURequestStepConfirmation({ isMovingTransactionFromTrackExpense, participantsAutoAssignedFromRoute, isBetaEnabled, + backTo, ]); const navigateToAddReceipt = useCallback(() => { diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 3b8d192c2762..2070e2e0e734 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -264,6 +264,9 @@ function IOURequestStepParticipants({ iouType === CONST.IOU.TYPE.CREATE ? CONST.IOU.TYPE.SUBMIT : iouType, initialTransactionID, newReportID, + undefined, + undefined, + Navigation.getActiveRoute(), ); const route = isCategorizing From 3b25ee949fba6712c7a5a4494cf403aedf84d0e9 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Sat, 12 Jul 2025 20:40:12 +0430 Subject: [PATCH 2/3] removed unwanted changes --- src/libs/Permissions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Permissions.ts b/src/libs/Permissions.ts index 0d7ee8dbcf8a..408df3326275 100644 --- a/src/libs/Permissions.ts +++ b/src/libs/Permissions.ts @@ -4,7 +4,7 @@ import type Beta from '@src/types/onyx/Beta'; // eslint-disable-next-line rulesdir/no-beta-handler function canUseAllBetas(betas: OnyxEntry): boolean { - return true; + return !!betas?.includes(CONST.BETAS.ALL); } // eslint-disable-next-line rulesdir/no-beta-handler From 6d2c849fd2208b01a43844943878a7dfd2814268 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Tue, 15 Jul 2025 14:42:38 +0430 Subject: [PATCH 3/3] Covered the latest dg --- src/pages/iou/request/step/IOURequestStepParticipants.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 2070e2e0e734..bae94cf99e70 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -266,7 +266,7 @@ function IOURequestStepParticipants({ newReportID, undefined, undefined, - Navigation.getActiveRoute(), + action === CONST.IOU.ACTION.SHARE ? Navigation.getActiveRoute() : undefined, ); const route = isCategorizing