diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index d86323cf915e..6eaa68b115e5 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -6570,6 +6570,27 @@ function getReportActionActorAccountID(reportAction: OnyxEntry, io } } +function createDraftWorkspaceAndNavigateToConfirmationScreen(transactionID: string, actionName: IOUAction): void { + const isCategorizing = actionName === CONST.IOU.ACTION.CATEGORIZE; + const {expenseChatReportID, policyID, policyName} = PolicyActions.createDraftWorkspace(); + IOU.setMoneyRequestParticipants(transactionID, [ + { + selected: true, + accountID: 0, + isPolicyExpenseChat: true, + reportID: expenseChatReportID, + policyID, + searchText: policyName, + }, + ]); + const iouConfirmationPageRoute = ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, expenseChatReportID); + if (isCategorizing) { + Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CATEGORY.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, expenseChatReportID, iouConfirmationPageRoute)); + } else { + Navigation.navigate(iouConfirmationPageRoute); + } +} + function createDraftTransactionAndNavigateToParticipantSelector(transactionID: string, reportID: string, actionName: IOUAction, reportActionID: string): void { const transaction = allTransactions?.[`${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`] ?? ({} as Transaction); const reportActions = allReportActions?.[`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`] ?? ([] as ReportAction[]); @@ -6605,25 +6626,7 @@ function createDraftTransactionAndNavigateToParticipantSelector(transactionID: s return; } - const {expenseChatReportID, policyID, policyName} = PolicyActions.createDraftWorkspace(); - const isCategorizing = actionName === CONST.IOU.ACTION.CATEGORIZE; - - IOU.setMoneyRequestParticipants(transactionID, [ - { - selected: true, - accountID: 0, - isPolicyExpenseChat: true, - reportID: expenseChatReportID, - policyID, - searchText: policyName, - }, - ]); - const iouConfirmationPageRoute = ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, expenseChatReportID); - if (isCategorizing) { - Navigation.navigate(ROUTES.MONEY_REQUEST_STEP_CATEGORY.getRoute(actionName, CONST.IOU.TYPE.SUBMIT, transactionID, expenseChatReportID, iouConfirmationPageRoute)); - } else { - Navigation.navigate(iouConfirmationPageRoute); - } + return createDraftWorkspaceAndNavigateToConfirmationScreen(transactionID, actionName); } /** @@ -6924,6 +6927,7 @@ export { shouldShowMerchantColumn, isCurrentUserInvoiceReceiver, isDraftReport, + createDraftWorkspaceAndNavigateToConfirmationScreen, }; export type { diff --git a/src/pages/iou/request/MoneyRequestParticipantsSelector.tsx b/src/pages/iou/request/MoneyRequestParticipantsSelector.tsx index ec05c5ad6fda..14686eaba78a 100644 --- a/src/pages/iou/request/MoneyRequestParticipantsSelector.tsx +++ b/src/pages/iou/request/MoneyRequestParticipantsSelector.tsx @@ -298,7 +298,7 @@ function MoneyRequestParticipantsSelector({participants = [], onFinish, onPartic return ( <> - {shouldShowReferralBanner && ( + {shouldShowReferralBanner && !isCategorizeOrShareAction && ( )} - {!!participants.length && ( + {!!participants.length && !isCategorizeOrShareAction && (