From de2a543b7ffc8dacbf585957aba75a532a62e4da Mon Sep 17 00:00:00 2001 From: Algirdas Date: Sat, 4 Jul 2026 21:31:50 +0300 Subject: [PATCH] fix(frontend): clear import state after save and close - use instanceof Expense check instead of truthy to detect saved expense - auto-close review dialog when last expense is saved individually - handle DIALOG_ACTION_CLOSE in processImport to clear or reload storage --- .../statement-review-dialog.component.ts | 9 ++++++++- .../modules/main/services/statement-import.service.ts | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.ts b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.ts index fe91d61e..ae679679 100644 --- a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.ts +++ b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.ts @@ -74,12 +74,19 @@ export class StatementReviewDialogComponent implements OnInit { }); expenseDialog.onClose.subscribe((savedExpense: Expense) => { - if (!savedExpense) { + if (!(savedExpense instanceof Expense)) { return; } this.removeExpenseFromList(expense); this.calendarRefreshNeeded = true; + + if (!this.expenses.length) { + this.dialogRef.close({ + action: DIALOG_ACTION_CLOSE, + calendarRefreshNeeded: this.calendarRefreshNeeded, + }); + } }); } diff --git a/frontend/src/app/modules/main/services/statement-import.service.ts b/frontend/src/app/modules/main/services/statement-import.service.ts index 94e2a845..2bdbdea5 100644 --- a/frontend/src/app/modules/main/services/statement-import.service.ts +++ b/frontend/src/app/modules/main/services/statement-import.service.ts @@ -8,6 +8,7 @@ import { ExpenseQueries } from '../../../queries/expense.queries'; import { StatementImportQueries } from '../../../queries/statement-import.queries'; import { DIALOG_ACTION_CANCEL, + DIALOG_ACTION_CLOSE, DIALOG_ACTION_IMPORT, StatementReviewDialogComponent, } from '../dialogs/statement-review-dialog/statement-review-dialog.component'; @@ -141,6 +142,13 @@ export class StatementImportService { case DIALOG_ACTION_CANCEL: this.clearImportStorage(); break; + case DIALOG_ACTION_CLOSE: + if (!this.expenses.length) { + this.clearImportStorage(); + } else { + this.reloadImportStorage(); + } + break; } }); }