diff --git a/packages/desktop-client/src/components/budget/report/ReportComponents.tsx b/packages/desktop-client/src/components/budget/report/ReportComponents.tsx index 00f2c6c5f21a69dc7f0d892367e5187665ab553d..5a9fd4b9e6913d381fcf742db85ecaad96d05ecc 100644 --- a/packages/desktop-client/src/components/budget/report/ReportComponents.tsx +++ b/packages/desktop-client/src/components/budget/report/ReportComponents.tsx @@ -163,6 +163,12 @@ export const CategoryMonth = memo(function CategoryMonth({ const [balanceMenuOpen, setBalanceMenuOpen] = useState(false); const triggerBalanceMenuRef = useRef(null); + const onMenuAction = (...args: Parameters<typeof onBudgetAction>) => { + onBudgetAction(...args); + setBalanceMenuOpen(false); + setMenuOpen(false); + }; + return ( <View style={{ @@ -225,10 +231,9 @@ export const CategoryMonth = memo(function CategoryMonth({ > <BudgetMenu onCopyLastMonthAverage={() => { - onBudgetAction?.(month, 'copy-single-last', { + onMenuAction(month, 'copy-single-last', { category: category.id, }); - setMenuOpen(false); }} onSetMonthsAverage={numberOfMonths => { if ( @@ -239,16 +244,14 @@ export const CategoryMonth = memo(function CategoryMonth({ return; } - onBudgetAction?.(month, `set-single-${numberOfMonths}-avg`, { + onMenuAction(month, `set-single-${numberOfMonths}-avg`, { category: category.id, }); - setMenuOpen(false); }} onApplyBudgetTemplate={() => { - onBudgetAction?.(month, 'apply-single-category-template', { + onMenuAction(month, 'apply-single-category-template', { category: category.id, }); - setMenuOpen(false); }} /> </Popover> @@ -351,11 +354,10 @@ export const CategoryMonth = memo(function CategoryMonth({ <BalanceMenu categoryId={category.id} onCarryover={carryover => { - onBudgetAction?.(month, 'carryover', { + onMenuAction(month, 'carryover', { category: category.id, flag: carryover, }); - setBalanceMenuOpen(false); }} /> </Popover> diff --git a/packages/desktop-client/src/components/budget/rollover/RolloverComponents.tsx b/packages/desktop-client/src/components/budget/rollover/RolloverComponents.tsx index 28f2553fe7e283dec78ab322cd53dd124a907134..7c4a9ff8cf11f2ab8a4209cbe582907ca0ceaf04 100644 --- a/packages/desktop-client/src/components/budget/rollover/RolloverComponents.tsx +++ b/packages/desktop-client/src/components/budget/rollover/RolloverComponents.tsx @@ -158,6 +158,11 @@ export const ExpenseCategoryMonth = memo(function ExpenseCategoryMonth({ const [balanceMenuOpen, setBalanceMenuOpen] = useState(false); const [hover, setHover] = useState(false); + const onMenuAction = (...args: Parameters<typeof onBudgetAction>) => { + onBudgetAction(...args); + setBudgetMenuOpen(false); + }; + return ( <View style={{ @@ -221,7 +226,7 @@ export const ExpenseCategoryMonth = memo(function ExpenseCategoryMonth({ > <BudgetMenu onCopyLastMonthAverage={() => { - onBudgetAction?.(month, 'copy-single-last', { + onMenuAction(month, 'copy-single-last', { category: category.id, }); }} @@ -234,12 +239,12 @@ export const ExpenseCategoryMonth = memo(function ExpenseCategoryMonth({ return; } - onBudgetAction?.(month, `set-single-${numberOfMonths}-avg`, { + onMenuAction(month, `set-single-${numberOfMonths}-avg`, { category: category.id, }); }} onApplyBudgetTemplate={() => { - onBudgetAction?.(month, 'apply-single-category-template', { + onMenuAction(month, 'apply-single-category-template', { category: category.id, }); }} diff --git a/upcoming-release-notes/3092.md b/upcoming-release-notes/3092.md new file mode 100644 index 0000000000000000000000000000000000000000..889716c3f58c2a8102c5e75cc23687b955885853 --- /dev/null +++ b/upcoming-release-notes/3092.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [sleepyfran] +--- + +Correctly dismiss pop-over when using the copy last month's budget feature