From fe70ecb635cd37b7f194518e5234cd5723dc0add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Gonz=C3=A1lez?= <fgzv@outlook.com> Date: Tue, 23 Jul 2024 19:38:30 +0200 Subject: [PATCH] Fixes #3089: Dismiss pop-over on budget action (#3092) * Fix no dismissal on budget action * Add release notes file * Correct tag * Remove unnecessary callback * Linting * Apply same strategy on reportcomponents * Rename to onMenuAction --- .../budget/report/ReportComponents.tsx | 18 ++++++++++-------- .../budget/rollover/RolloverComponents.tsx | 11 ++++++++--- upcoming-release-notes/3092.md | 6 ++++++ 3 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 upcoming-release-notes/3092.md diff --git a/packages/desktop-client/src/components/budget/report/ReportComponents.tsx b/packages/desktop-client/src/components/budget/report/ReportComponents.tsx index 00f2c6c5f..5a9fd4b9e 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 28f2553fe..7c4a9ff8c 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 000000000..889716c3f --- /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 -- GitLab