diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index cb2f29f3180f..7f73f2ee0cd3 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4543,7 +4543,7 @@ function getTransactionDetails( const report = getReportOrDraftReport(transaction?.reportID, undefined, 'report' in transaction ? transaction.report : undefined); const isManualDistanceRequest = isManualDistanceRequestTransactionUtils(transaction); - const isFromExpenseReport = (!isEmptyObject(report) && isExpenseReport(report)) || isPaidGroupPolicyPolicyUtils(policy); + const isFromExpenseReport = !isEmptyObject(report) && isExpenseReport(report); return { created: getFormattedCreated(transaction, createdDateFormat), diff --git a/src/pages/iou/SplitExpensePage.tsx b/src/pages/iou/SplitExpensePage.tsx index 8a377b625fe2..16014b39df8b 100644 --- a/src/pages/iou/SplitExpensePage.tsx +++ b/src/pages/iou/SplitExpensePage.tsx @@ -45,6 +45,7 @@ import OnyxTabNavigator, {TabScreenWithFocusTrapWrapper, TopTab} from '@libs/Nav import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitExpenseParamList} from '@libs/Navigation/types'; import {isSplitAction} from '@libs/ReportSecondaryActionUtils'; +import type {TransactionDetails} from '@libs/ReportUtils'; import {getReportOrDraftReport, getTransactionDetails, isReportApproved, isSettled as isSettledReportUtils} from '@libs/ReportUtils'; import type {TranslationPathOrText} from '@libs/TransactionPreviewUtils'; import {getChildTransactions, isManagedCardTransaction, isPerDiemRequest} from '@libs/TransactionUtils'; @@ -98,12 +99,12 @@ function SplitExpensePage({route}: SplitExpensePageProps) { const isSplitAvailable = report && transaction && isSplitAction(currentReport, [transaction], originalTransaction, currentPolicy); - const transactionDetails = getTransactionDetails(transaction, undefined, currentPolicy); + const transactionDetails = useMemo>(() => getTransactionDetails(transaction) ?? {}, [transaction]); const transactionDetailsAmount = transactionDetails?.amount ?? 0; const sumOfSplitExpenses = useMemo(() => (draftTransaction?.comment?.splitExpenses ?? []).reduce((acc, item) => acc + (item.amount ?? 0), 0), [draftTransaction?.comment?.splitExpenses]); const splitExpenses = useMemo(() => draftTransaction?.comment?.splitExpenses ?? [], [draftTransaction?.comment?.splitExpenses]); - const currencySymbol = currencyList?.[transactionDetails?.currency ?? '']?.symbol ?? transactionDetails?.currency ?? CONST.CURRENCY.USD; + const currencySymbol = currencyList?.[transactionDetails.currency ?? '']?.symbol ?? transactionDetails.currency ?? CONST.CURRENCY.USD; const isPerDiem = isPerDiemRequest(transaction); const isCard = isManagedCardTransaction(transaction); @@ -365,7 +366,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { const footerContent = useMemo(() => { const shouldShowWarningMessage = sumOfSplitExpenses < transactionDetailsAmount; const warningMessage = shouldShowWarningMessage - ? translate('iou.totalAmountLessThanOriginal', {amount: convertToDisplayString(transactionDetailsAmount - sumOfSplitExpenses, transactionDetails?.currency)}) + ? translate('iou.totalAmountLessThanOriginal', {amount: convertToDisplayString(transactionDetailsAmount - sumOfSplitExpenses, transactionDetails.currency)}) : ''; return ( @@ -388,19 +389,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { /> ); - }, [ - sumOfSplitExpenses, - transactionDetailsAmount, - translate, - transactionDetails?.currency, - errorMessage, - styles.ph1, - styles.mb2, - styles.w100, - styles.ph5, - styles.pb5, - onSaveSplitExpense, - ]); + }, [sumOfSplitExpenses, transactionDetailsAmount, translate, transactionDetails.currency, errorMessage, styles.ph1, styles.mb2, styles.w100, styles.ph5, styles.pb5, onSaveSplitExpense]); const splitDatesTitle = useMemo(() => { const startDate = draftTransaction?.comment?.splitsStartDate;