diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index ea9746aaeb77..353b128b7f61 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -160,7 +160,7 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD // 2. MoneyReport case if (caseID === CASES.MONEY_REPORT) { if (!reportActions || !transactionThreadReport?.parentReportActionID) { - return null; + return undefined; } return reportActions.find((action) => action.reportActionID === transactionThreadReport.parentReportActionID); } @@ -178,6 +178,8 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD return report; }, [caseID, parentReport, report]); + const moneyRequestAction = transactionThreadReportID ? requestParentReportAction : parentReportAction; + const canModifyTask = Task.canModifyTask(report, session?.accountID ?? -1); const shouldShowTaskDeleteButton = isTaskReport && @@ -501,9 +503,11 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD ? ReportActionsUtils.getOriginalMessage(requestParentReportAction)?.IOUTransactionID ?? '' : ''; - const canHoldUnholdReportAction = ReportUtils.canHoldUnholdReportAction(parentReportAction); + const canHoldUnholdReportAction = ReportUtils.canHoldUnholdReportAction(moneyRequestAction); const shouldShowHoldAction = - caseID !== CASES.MONEY_REPORT && (canHoldUnholdReportAction.canHoldRequest || canHoldUnholdReportAction.canUnholdRequest) && !ReportUtils.isArchivedRoom(parentReport); + caseID !== CASES.DEFAULT && + (canHoldUnholdReportAction.canHoldRequest || canHoldUnholdReportAction.canUnholdRequest) && + !ReportUtils.isArchivedRoom(transactionThreadReportID ? report : parentReport); const canJoin = ReportUtils.canJoinChat(report, parentReportAction, policy); @@ -515,7 +519,7 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD } if (isExpenseReport && shouldShowHoldAction) { - result.push(PromotedActions.hold({isTextHold: canHoldUnholdReportAction.canHoldRequest, reportAction: parentReportAction})); + result.push(PromotedActions.hold({isTextHold: canHoldUnholdReportAction.canHoldRequest, reportAction: moneyRequestAction})); } if (report) { @@ -525,7 +529,7 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD result.push(PromotedActions.share(report)); return result; - }, [report, parentReportAction, canJoin, isExpenseReport, shouldShowHoldAction, canHoldUnholdReportAction.canHoldRequest]); + }, [report, moneyRequestAction, canJoin, isExpenseReport, shouldShowHoldAction, canHoldUnholdReportAction.canHoldRequest]); const nameSectionExpenseIOU = (