Skip to content

Commit 8a97dfd

Browse files
authored
Merge pull request #62098 from software-mansion-labs/jnowakow/remove-old-preview-implementation
Remove old report preview implementation
2 parents 6c32691 + db7df0c commit 8a97dfd

File tree

4 files changed

+12
-753
lines changed

4 files changed

+12
-753
lines changed

src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx

+3-11
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ import {
5959
isTripRoom as isTripRoomReportUtils,
6060
isWaitingForSubmissionFromCurrentUser as isWaitingForSubmissionFromCurrentUserReportUtils,
6161
} from '@libs/ReportUtils';
62-
import {getMerchant, hasPendingUI, isCardTransaction, isPartialMerchant, isPending, shouldShowBrokenConnectionViolationForMultipleTransactions} from '@libs/TransactionUtils';
62+
import {getMerchant, hasPendingUI, isCardTransaction, isPartialMerchant, isPending} from '@libs/TransactionUtils';
6363
import colors from '@styles/theme/colors';
6464
import variables from '@styles/variables';
65-
import {approveMoneyRequest, canApproveIOU, canIOUBePaid as canIOUBePaidIOUActions, canSubmitReport, payInvoice, payMoneyRequest, startMoneyRequest, submitReport} from '@userActions/IOU';
65+
import {approveMoneyRequest, canIOUBePaid as canIOUBePaidIOUActions, payInvoice, payMoneyRequest, startMoneyRequest, submitReport} from '@userActions/IOU';
6666
import Timing from '@userActions/Timing';
6767
import CONST from '@src/CONST';
6868
import type {TranslationPaths} from '@src/languages/types';
@@ -115,7 +115,6 @@ function MoneyRequestReportPreviewContent({
115115
onPress,
116116
}: MoneyRequestReportPreviewContentProps) {
117117
const lastTransaction = transactions?.at(0);
118-
const transactionIDList = transactions?.map((reportTransaction) => reportTransaction.transactionID) ?? [];
119118
const shouldShowEmptyPlaceholder = transactions.length === 0;
120119
const theme = useTheme();
121120
const styles = useThemeStyles();
@@ -181,7 +180,6 @@ function MoneyRequestReportPreviewContent({
181180
const numberOfPendingRequests = transactionsWithReceipts.filter((transaction) => isPending(transaction) && isCardTransaction(transaction)).length;
182181

183182
const shouldShowRTERViolationMessage = numberOfRequests === 1 && hasPendingUI(lastTransaction, lastTransactionViolations);
184-
const shouldShowBrokenConnectionViolation = numberOfRequests === 1 && shouldShowBrokenConnectionViolationForMultipleTransactions(transactionIDList, iouReport, policy, violations);
185183
const shouldShowOnlyPayElsewhere = useMemo(() => !canIOUBePaid && getCanIOUBePaid(true), [canIOUBePaid, getCanIOUBePaid]);
186184

187185
const hasReceipts = transactionsWithReceipts.length > 0;
@@ -193,8 +191,6 @@ function MoneyRequestReportPreviewContent({
193191
formattedMerchant = undefined;
194192
}
195193

196-
const filteredTransactions = transactions?.filter((transaction) => transaction) ?? [];
197-
198194
// The submit button should be success green color only if the user is submitter and the policy does not have Scheduled Submit turned on
199195
const isWaitingForSubmissionFromCurrentUser = useMemo(() => isWaitingForSubmissionFromCurrentUserReportUtils(chatReport, policy), [chatReport, policy]);
200196
const [isNoDelegateAccessMenuVisible, setIsNoDelegateAccessMenuVisible] = useState(false);
@@ -234,10 +230,6 @@ function MoneyRequestReportPreviewContent({
234230
}
235231
};
236232

237-
const shouldShowApproveButton = useMemo(() => canApproveIOU(iouReport, policy, transactions), [iouReport, policy, transactions]) || isApprovedAnimationRunning;
238-
const shouldShowSubmitButton = canSubmitReport(iouReport, policy, filteredTransactions, violations, isIouReportArchived);
239-
const shouldShowSettlementButton = !shouldShowSubmitButton && (shouldShowPayButton || shouldShowApproveButton) && !shouldShowRTERViolationMessage && !shouldShowBrokenConnectionViolation;
240-
241233
const previewMessage = useMemo(() => {
242234
if (isScanning) {
243235
return totalDisplaySpend ? `${translate('common.receipt')} ${CONST.DOT_SEPARATOR} ${translate('common.scanning')}` : `${translate('common.receipt')}`;
@@ -556,7 +548,7 @@ function MoneyRequestReportPreviewContent({
556548
iconFill={theme.danger}
557549
iconHoverFill={theme.danger}
558550
text={translate('common.review', {
559-
amount: shouldShowSettlementButton ? getTotalAmountForIOUReportPreviewButton(iouReport, policy, reportPreviewAction) : '',
551+
amount: getTotalAmountForIOUReportPreviewButton(iouReport, policy, reportPreviewAction),
560552
})}
561553
onPress={() => openReportFromPreview()}
562554
/>

src/components/ReportActionItem/ReportPreview.tsx

+8-18
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import {openUnreportedExpense} from '@libs/actions/Report';
3333
import ControlSelection from '@libs/ControlSelection';
3434
import {convertToDisplayString} from '@libs/CurrencyUtils';
3535
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
36+
import {getTotalAmountForIOUReportPreviewButton} from '@libs/MoneyRequestReportUtils';
3637
import Navigation from '@libs/Navigation/Navigation';
3738
import Parser from '@libs/Parser';
3839
import Performance from '@libs/Performance';
@@ -204,7 +205,7 @@ function ReportPreview({
204205
const hasOnlyHeldExpenses = hasOnlyHeldExpensesReportUtils(iouReport?.reportID);
205206

206207
const managerID = iouReport?.managerID ?? action.childManagerAccountID ?? CONST.DEFAULT_NUMBER_ID;
207-
const {totalDisplaySpend, reimbursableSpend} = getMoneyRequestSpendBreakdown(iouReport);
208+
const {totalDisplaySpend} = getMoneyRequestSpendBreakdown(iouReport);
208209
const [reports] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}`, {canBeMissing: false});
209210

210211
const iouSettled = isSettled(iouReportID, isOnSearch ? reports : undefined) || action?.childStatusNum === CONST.REPORT.STATUS_NUM.REIMBURSED;
@@ -297,19 +298,6 @@ function ReportPreview({
297298
}
298299
};
299300

300-
const getSettlementAmount = () => {
301-
if (hasOnlyHeldExpenses) {
302-
return '';
303-
}
304-
305-
// We shouldn't display the nonHeldAmount as the default option if it's not valid since we cannot pay partially in this case
306-
if (hasHeldExpensesReportUtils(iouReport?.reportID) && canAllowSettlement && hasValidNonHeldAmount) {
307-
return nonHeldAmount;
308-
}
309-
310-
return convertToDisplayString(reimbursableSpend, iouReport?.currency);
311-
};
312-
313301
const getDisplayAmount = (): string => {
314302
if (totalDisplaySpend) {
315303
return convertToDisplayString(totalDisplaySpend, iouReport?.currency);
@@ -548,7 +536,7 @@ function ReportPreview({
548536
[CONST.REPORT.REPORT_PREVIEW_ACTIONS.SUBMIT]: (
549537
<Button
550538
success={isWaitingForSubmissionFromCurrentUser}
551-
text={translate('common.submit')}
539+
text={translate('iou.submitAmount', {amount: getTotalAmountForIOUReportPreviewButton(iouReport, policy, reportPreviewAction)})}
552540
onPress={() => submitReport(iouReport)}
553541
/>
554542
),
@@ -571,7 +559,7 @@ function ReportPreview({
571559
addBankAccountRoute={bankAccountRoute}
572560
shouldHidePaymentOptions={!shouldShowPayButton}
573561
canIOUBePaid
574-
formattedAmount={getSettlementAmount() ?? ''}
562+
formattedAmount={getTotalAmountForIOUReportPreviewButton(iouReport, policy, reportPreviewAction)}
575563
isPaidAnimationRunning={isPaidAnimationRunning}
576564
isApprovedAnimationRunning={isApprovedAnimationRunning}
577565
onAnimationFinish={stopAnimation}
@@ -602,7 +590,9 @@ function ReportPreview({
602590
) : null,
603591
[CONST.REPORT.REPORT_PREVIEW_ACTIONS.REVIEW]: (
604592
<Button
605-
text={translate('common.review')}
593+
text={translate('common.review', {
594+
amount: getTotalAmountForIOUReportPreviewButton(iouReport, policy, reportPreviewAction),
595+
})}
606596
onPress={() => openReportFromPreview()}
607597
icon={Expensicons.DotIndicator}
608598
iconFill={theme.danger}
@@ -727,7 +717,7 @@ function ReportPreview({
727717
</View>
728718
</View>
729719
{/* height is needed to avoid flickering on animation */}
730-
<View style={(styles.pt4, {height: variables.h40})}>{reportPreviewActions[reportPreviewAction]}</View>
720+
<View style={[styles.mt4, {height: variables.h40}]}>{reportPreviewActions[reportPreviewAction]}</View>
731721
</View>
732722
</View>
733723
</View>

0 commit comments

Comments
 (0)