diff --git a/src/components/ReportActionItem/TransactionPreview/index.tsx b/src/components/ReportActionItem/TransactionPreview/index.tsx index e23569d9ed39d..4590fa3d00027 100644 --- a/src/components/ReportActionItem/TransactionPreview/index.tsx +++ b/src/components/ReportActionItem/TransactionPreview/index.tsx @@ -9,7 +9,7 @@ import useTransactionViolations from '@hooks/useTransactionViolations'; import ControlSelection from '@libs/ControlSelection'; import {convertToDisplayString} from '@libs/CurrencyUtils'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; -import {getOriginalMessage, isMoneyRequestAction as isMoneyRequestActionReportActionsUtils} from '@libs/ReportActionsUtils'; +import {getIOUActionForReportID, getOriginalMessage, isMoneyRequestAction as isMoneyRequestActionReportActionsUtils} from '@libs/ReportActionsUtils'; import {getTransactionDetails} from '@libs/ReportUtils'; import {getReviewNavigationRoute} from '@libs/TransactionPreviewUtils'; import {getOriginalTransactionWithSplitInfo, isCardTransaction, removeSettledAndApprovedTransactions} from '@libs/TransactionUtils'; @@ -78,11 +78,15 @@ function TransactionPreview(props: TransactionPreviewProps) { Navigation.navigate(getReviewNavigationRoute(route, report, transaction, duplicates)); }, [duplicates, report, route, transaction]); - const transactionPreview = transaction; + let transactionPreview = transaction; const {originalTransaction, isBillSplit} = getOriginalTransactionWithSplitInfo(transaction); - const iouAction = action; + if (isBillSplit) { + transactionPreview = originalTransaction; + } + + const iouAction = isBillSplit && originalTransaction ? (getIOUActionForReportID(chatReportID, originalTransaction.transactionID) ?? action) : action; const shouldDisableOnPress = isBillSplit && isEmptyObject(transaction); const isTransactionMadeWithCard = isCardTransaction(transaction); @@ -104,7 +108,7 @@ function TransactionPreview(props: TransactionPreviewProps) { /* eslint-disable-next-line react/jsx-props-no-spreading */ {...props} action={iouAction} - isBillSplit={isBillSplit && !transaction?.comment?.originalTransactionID} + isBillSplit={isBillSplit} chatReport={chatReport} personalDetails={personalDetails} transaction={transactionPreview} diff --git a/src/pages/home/report/PureReportActionItem.tsx b/src/pages/home/report/PureReportActionItem.tsx index cce810cb17591..ad124bbc20f45 100644 --- a/src/pages/home/report/PureReportActionItem.tsx +++ b/src/pages/home/report/PureReportActionItem.tsx @@ -839,7 +839,9 @@ function PureReportActionItem({ // Show the preview for when expense is present if (isIOURequestReportAction(action)) { + const isSplitInGroupChat = moneyRequestActionType === CONST.IOU.REPORT_ACTION_TYPE.SPLIT && report?.chatType === CONST.REPORT.CHAT_TYPE.GROUP; const isSplitScanWithNoAmount = moneyRequestActionType === CONST.IOU.REPORT_ACTION_TYPE.SPLIT && moneyRequestOriginalMessage?.amount === 0; + const shouldShowSplitPreview = isSplitInGroupChat || isSplitScanWithNoAmount; const chatReportID = moneyRequestOriginalMessage?.IOUReportID ? report?.chatReportID : reportID; // There is no single iouReport for bill splits, so only 1:1 requests require an iouReportID const iouReportID = moneyRequestOriginalMessage?.IOUReportID?.toString(); @@ -861,8 +863,6 @@ function PureReportActionItem({ ); if (report?.type === CONST.REPORT.TYPE.CHAT) { - const isSplitBill = moneyRequestActionType === CONST.IOU.REPORT_ACTION_TYPE.SPLIT; - const shouldShowSplitPreview = isSplitBill || isSplitScanWithNoAmount; if (report.chatType === CONST.REPORT.CHAT_TYPE.SELF_DM || shouldShowSplitPreview) { children = (