Skip to content

Commit 9c58de6

Browse files
authored
Merge pull request Expensify#67042 from dmkt9/fix/65849-only_one_transaction_is_displayed_when_changing_the_transaction_participant
Fix/65849 - Only one transaction is displayed when changing the transaction participant
2 parents efcbb96 + eb4e8a5 commit 9c58de6

4 files changed

Lines changed: 9 additions & 8 deletions

File tree

src/pages/iou/request/step/IOURequestStepConfirmation.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ function IOURequestStepConfirmation({
9797
canBeMissing: true,
9898
});
9999
const transactions = useMemo(() => {
100-
const allTransactions = initialTransactionID === CONST.IOU.OPTIMISTIC_TRANSACTION_ID ? (optimisticTransactions ?? []) : [initialTransaction];
100+
const allTransactions = optimisticTransactions && optimisticTransactions.length > 1 ? optimisticTransactions : [initialTransaction];
101101
return allTransactions.filter((transaction): transaction is Transaction => !!transaction);
102-
}, [initialTransaction, initialTransactionID, optimisticTransactions]);
102+
}, [initialTransaction, optimisticTransactions]);
103103
const hasMultipleTransactions = transactions.length > 1;
104104
// Depend on transactions.length to avoid updating transactionIDs when only the transaction details change
105105
// eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps

src/pages/iou/request/step/IOURequestStepParticipants.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ function IOURequestStepParticipants({
7878
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY, {selector: (policies) => mapOnyxCollectionItems(policies, policySelector), canBeMissing: true});
7979
const [lastSelectedDistanceRates] = useOnyx(ONYXKEYS.NVP_LAST_SELECTED_DISTANCE_RATES, {canBeMissing: true});
8080
const transactions = useMemo(() => {
81-
const allTransactions = initialTransactionID === CONST.IOU.OPTIMISTIC_TRANSACTION_ID ? (optimisticTransactions ?? []) : [initialTransaction];
81+
const allTransactions = optimisticTransactions && optimisticTransactions.length > 1 ? optimisticTransactions : [initialTransaction];
8282
return allTransactions.filter((transaction): transaction is Transaction => !!transaction);
83-
}, [initialTransaction, initialTransactionID, optimisticTransactions]);
83+
}, [initialTransaction, optimisticTransactions]);
8484
// Depend on transactions.length to avoid updating transactionIDs when only the transaction details change
8585
// eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps
8686
const transactionIDs = useMemo(() => transactions?.map((transaction) => transaction.transactionID), [transactions.length]);
@@ -176,6 +176,7 @@ function IOURequestStepParticipants({
176176
setCustomUnitRateID(transaction.transactionID, rateID);
177177
const shouldSetParticipantAutoAssignment = iouType === CONST.IOU.TYPE.CREATE;
178178
setMoneyRequestParticipantsFromReport(transaction.transactionID, selfDMReport, shouldSetParticipantAutoAssignment ? isActivePolicyRequest : true);
179+
setTransactionReport(transaction.transactionID, {reportID: selfDMReportID}, true);
179180
});
180181
const iouConfirmationPageRoute = ROUTES.MONEY_REQUEST_STEP_CONFIRMATION.getRoute(action, CONST.IOU.TYPE.TRACK, initialTransactionID, selfDMReportID);
181182
waitForKeyboardDismiss(() => {

src/pages/iou/request/step/IOURequestStepScan/index.native.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,9 @@ function IOURequestStepScan({
132132
canBeMissing: true,
133133
});
134134
const transactions = useMemo(() => {
135-
const allTransactions = initialTransactionID === CONST.IOU.OPTIMISTIC_TRANSACTION_ID ? (optimisticTransactions ?? []) : [initialTransaction];
135+
const allTransactions = optimisticTransactions && optimisticTransactions.length > 1 ? optimisticTransactions : [initialTransaction];
136136
return allTransactions.filter((transaction): transaction is Transaction => !!transaction);
137-
}, [initialTransaction, initialTransactionID, optimisticTransactions]);
137+
}, [initialTransaction, optimisticTransactions]);
138138

139139
const shouldAcceptMultipleFiles = !isEditing && !backTo;
140140

src/pages/iou/request/step/IOURequestStepScan/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ function IOURequestStepScan({
130130
canBeMissing: true,
131131
});
132132
const transactions = useMemo(() => {
133-
const allTransactions = initialTransactionID === CONST.IOU.OPTIMISTIC_TRANSACTION_ID ? (optimisticTransactions ?? []) : [initialTransaction];
133+
const allTransactions = optimisticTransactions && optimisticTransactions.length > 1 ? optimisticTransactions : [initialTransaction];
134134
return allTransactions.filter((transaction): transaction is Transaction => !!transaction);
135-
}, [initialTransaction, initialTransactionID, optimisticTransactions]);
135+
}, [initialTransaction, optimisticTransactions]);
136136

137137
const [videoConstraints, setVideoConstraints] = useState<MediaTrackConstraints>();
138138
const isTabActive = useIsFocused();

0 commit comments

Comments
 (0)