[Mobile] Fix "Category budget has been updated to ..." notification even when the budget was not updated (#4200)

* Fix FocusableAmountInput's onUpdate to only fire when amount was updated

* Release notes
This commit is contained in:
Joel Jeremy Marquez
2025-01-20 06:31:51 -08:00
committed by GitHub
parent 6cbf3e33e6
commit dd2b0a8bd5
3 changed files with 13 additions and 5 deletions

View File

@@ -97,9 +97,12 @@ const AmountInput = memo(function AmountInput({
};
const onUpdate = (value: string) => {
props.onUpdate?.(value);
const originalAmount = Math.abs(props.value);
const amount = applyText();
props.onUpdateAmount?.(amount);
if (amount !== originalAmount) {
props.onUpdate?.(value);
props.onUpdateAmount?.(amount);
}
};
const onBlur: HTMLProps<HTMLInputElement>['onBlur'] = e => {

View File

@@ -584,11 +584,9 @@ const TransactionEditInner = memo(function TransactionEditInner({
value => {
if (transaction.amount !== value) {
onUpdateInner(transaction, 'amount', value.toString());
} else {
onClearActiveEdit();
}
},
[onClearActiveEdit, onUpdateInner, transaction],
[onUpdateInner, transaction],
);
const onEditFieldInner = useCallback(
@@ -788,6 +786,7 @@ const TransactionEditInner = memo(function TransactionEditInner({
zeroSign="-"
focused={totalAmountFocused}
onFocus={onTotalAmountEdit}
onBlur={onClearActiveEdit}
onUpdateAmount={onTotalAmountUpdate}
focusedStyle={{
width: 'auto',

View File

@@ -0,0 +1,6 @@
---
category: Bugfix
authors: [joel-jeremy]
---
Fix FocusableAmountInput's onUpdate to only fire when amount was updated