Skip to content

Commit db10c65

Browse files
authored
Merge pull request Expensify#81203 from software-mansion-labs/fix/create-time-expense-final
Modify time expense confirmation page when creating from global menu and when submitting untracked
2 parents 928cbef + a88009b commit db10c65

3 files changed

Lines changed: 21 additions & 11 deletions

File tree

src/CONST/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8169,6 +8169,11 @@ const CONST = {
81698169
VIEW_BUTTON: 'ReportPreview-ViewButton',
81708170
ADD_EXPENSE_BUTTON: 'ReportPreview-AddExpenseButton',
81718171
},
8172+
REQUEST_CONFIRMATION_LIST: {
8173+
RESET_SPLIT_SHARES: 'RequestConfirmationList-ResetSplitShares',
8174+
RECEIPT_THUMBNAIL: 'RequestConfirmationList-ReceiptThumbnail',
8175+
PDF_RECEIPT_THUMBNAIL: 'RequestConfirmationList-PDFReceiptThumbnail',
8176+
},
81728177
TRANSACTION_PREVIEW: {
81738178
CARD: 'TransactionPreview-Card',
81748179
},

src/components/MoneyRequestConfirmationList.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ function MoneyRequestConfirmationList({
326326
const isTypeTrackExpense = iouType === CONST.IOU.TYPE.TRACK;
327327
const isTypeInvoice = iouType === CONST.IOU.TYPE.INVOICE;
328328
const isScanRequest = useMemo(() => isScanRequestUtil(transaction), [transaction]);
329-
const isCreateExpenseFlow = !!transaction?.isFromGlobalCreate && !isPerDiemRequest;
329+
const isFromGlobalCreateAndCanEditParticipant = !!transaction?.isFromGlobalCreate && !isPerDiemRequest && !isTimeRequest;
330330

331331
const transactionID = transaction?.transactionID;
332332
const customUnitRateID = getRateID(transaction);
@@ -366,7 +366,7 @@ function MoneyRequestConfirmationList({
366366
? !policy || shouldSelectPolicy || hasEnabledOptions(Object.values(policyCategories ?? {}))
367367
: (isPolicyExpenseChat || isTypeInvoice) && (!!iouCategory || hasEnabledOptions(Object.values(policyCategories ?? {})));
368368

369-
const shouldShowMerchant = (shouldShowSmartScanFields || isTypeSend) && !isDistanceRequest && !isPerDiemRequest && !isTimeRequest;
369+
const shouldShowMerchant = (shouldShowSmartScanFields || isTypeSend) && !isDistanceRequest && !isPerDiemRequest && (!isTimeRequest || action !== CONST.IOU.ACTION.CREATE);
370370

371371
const policyTagLists = useMemo(() => getTagLists(policyTags), [policyTags]);
372372

@@ -803,6 +803,7 @@ function MoneyRequestConfirmationList({
803803
accessibilityLabel={CONST.ROLE.BUTTON}
804804
role={CONST.ROLE.BUTTON}
805805
shouldUseAutoHitSlop
806+
sentryLabel={CONST.SENTRY_LABEL.REQUEST_CONFIRMATION_LIST.RESET_SPLIT_SHARES}
806807
>
807808
<Text style={[styles.pr5, styles.textLabelSupporting, styles.link]}>{translate('common.reset')}</Text>
808809
</PressableWithFeedback>
@@ -847,8 +848,8 @@ function MoneyRequestConfirmationList({
847848
const formattedSelectedParticipants = selectedParticipants.map((participant) => ({
848849
...participant,
849850
isSelected: false,
850-
isInteractive: isCreateExpenseFlow && !isTestReceipt && (!isRestrictedToPreferredPolicy || isTypeInvoice),
851-
shouldShowRightIcon: isCreateExpenseFlow && !isTestReceipt && (!isRestrictedToPreferredPolicy || isTypeInvoice),
851+
isInteractive: isFromGlobalCreateAndCanEditParticipant && !isTestReceipt && (!isRestrictedToPreferredPolicy || isTypeInvoice),
852+
shouldShowRightIcon: isFromGlobalCreateAndCanEditParticipant && !isTestReceipt && (!isRestrictedToPreferredPolicy || isTypeInvoice),
852853
}));
853854
options.push({
854855
title: translate('common.to'),
@@ -865,7 +866,7 @@ function MoneyRequestConfirmationList({
865866
getSplitSectionHeader,
866867
splitParticipants,
867868
selectedParticipants,
868-
isCreateExpenseFlow,
869+
isFromGlobalCreateAndCanEditParticipant,
869870
isTestReceipt,
870871
isRestrictedToPreferredPolicy,
871872
isTypeInvoice,
@@ -946,7 +947,7 @@ function MoneyRequestConfirmationList({
946947
* Navigate to the participant step
947948
*/
948949
const navigateToParticipantPage = () => {
949-
if (!isCreateExpenseFlow) {
950+
if (!isFromGlobalCreateAndCanEditParticipant) {
950951
return;
951952
}
952953

src/components/MoneyRequestConfirmationListFooter.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,8 @@ function MoneyRequestConfirmationListFooter({
420420
const resolvedReceiptImage = isLocalFile ? receiptImage : tryResolveUrlFromApiRoot(receiptImage ?? '');
421421

422422
const shouldNavigateToUpgradePath = !policyForMovingExpensesID && !shouldSelectPolicy;
423+
// Time requests appear as regular expenses after they're created, with editable amount and merchant, not hours and rate
424+
const shouldShowTimeRequestFields = isTimeRequest && action === CONST.IOU.ACTION.CREATE;
423425

424426
const contextMenuContextValue = useMemo(
425427
() => ({
@@ -455,12 +457,12 @@ function MoneyRequestConfirmationListFooter({
455457
item: (
456458
<MenuItemWithTopDescription
457459
key={translate('iou.amount')}
458-
shouldShowRightIcon={!isReadOnly && !isDistanceRequest && !isTimeRequest}
460+
shouldShowRightIcon={!isReadOnly && !isDistanceRequest && !shouldShowTimeRequestFields}
459461
title={formattedAmount}
460462
description={translate('iou.amount')}
461-
interactive={!isReadOnly && !isTimeRequest}
463+
interactive={!isReadOnly && !shouldShowTimeRequestFields}
462464
onPress={() => {
463-
if (isDistanceRequest || isTimeRequest || !transactionID) {
465+
if (isDistanceRequest || shouldShowTimeRequestFields || !transactionID) {
464466
return;
465467
}
466468

@@ -624,7 +626,7 @@ function MoneyRequestConfirmationListFooter({
624626
interactive={!isReadOnly}
625627
/>
626628
),
627-
shouldShow: isTimeRequest,
629+
shouldShow: shouldShowTimeRequestFields,
628630
},
629631
{
630632
item: (
@@ -645,7 +647,7 @@ function MoneyRequestConfirmationListFooter({
645647
interactive={!isReadOnly}
646648
/>
647649
),
648-
shouldShow: isTimeRequest,
650+
shouldShow: shouldShowTimeRequestFields,
649651
},
650652
{
651653
item: (
@@ -960,6 +962,7 @@ function MoneyRequestConfirmationListFooter({
960962
}}
961963
accessibilityRole={CONST.ROLE.BUTTON}
962964
accessibilityLabel={translate('accessibilityHints.viewAttachment')}
965+
sentryLabel={CONST.SENTRY_LABEL.REQUEST_CONFIRMATION_LIST.PDF_RECEIPT_THUMBNAIL}
963966
disabled={!shouldDisplayReceipt}
964967
disabledStyle={styles.cursorDefault}
965968
style={styles.h100}
@@ -988,6 +991,7 @@ function MoneyRequestConfirmationListFooter({
988991
disabled={!shouldDisplayReceipt || isThumbnail}
989992
accessibilityRole={CONST.ROLE.BUTTON}
990993
accessibilityLabel={translate('accessibilityHints.viewAttachment')}
994+
sentryLabel={CONST.SENTRY_LABEL.REQUEST_CONFIRMATION_LIST.RECEIPT_THUMBNAIL}
991995
disabledStyle={styles.cursorDefault}
992996
style={[styles.h100, styles.flex1]}
993997
>

0 commit comments

Comments
 (0)