Skip to content

Commit 70701ef

Browse files
committed
fix review button when transaction have violations
1 parent e2f67f9 commit 70701ef

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/libs/actions/OnyxDerived/configs/reportTransactionsAndViolations.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import type {OnyxCollection} from 'react-native-onyx';
22
import createOnyxDerivedValueConfig from '@userActions/OnyxDerived/createOnyxDerivedValueConfig';
33
import ONYXKEYS from '@src/ONYXKEYS';
4-
import type {Transaction} from '@src/types/onyx';
4+
import type {Transaction, TransactionViolation} from '@src/types/onyx';
55

66
let previousTransactions: OnyxCollection<Transaction> = {};
7+
let previousViolations: OnyxCollection<TransactionViolation[]> = {};
78

89
export default createOnyxDerivedValueConfig({
910
key: ONYXKEYS.DERIVED.REPORT_TRANSACTIONS_AND_VIOLATIONS,
@@ -57,15 +58,22 @@ export default createOnyxDerivedValueConfig({
5758

5859
const transactionID = transaction.transactionID;
5960
const transactionViolations = violations?.[`${ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS}${transactionID}`];
61+
const violationKey = `${ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS}${transactionID}`;
62+
const previousTransactionViolations = previousViolations?.[violationKey];
6063

64+
// If violations exist and have length > 0, add them to the structure
6165
if (transactionViolations && transactionViolations.length > 0) {
62-
reportTransactionsAndViolations[reportID].violations[`${ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS}${transactionID}`] = transactionViolations;
66+
reportTransactionsAndViolations[reportID].violations[violationKey] = transactionViolations;
67+
} else if (previousTransactionViolations && previousTransactionViolations.length > 0) {
68+
// If violations were removed (previous had violations but current doesn't), remove them from the structure
69+
delete reportTransactionsAndViolations[reportID].violations[violationKey];
6370
}
6471

6572
reportTransactionsAndViolations[reportID].transactions[transactionKey] = transaction;
6673
}
6774

6875
previousTransactions = transactions;
76+
previousViolations = violations;
6977

7078
return reportTransactionsAndViolations;
7179
},

0 commit comments

Comments
 (0)