From a712e8cefc5d93fed2f31193ad41b7606794088a Mon Sep 17 00:00:00 2001 From: Algirdas Date: Sat, 4 Jul 2026 22:48:32 +0300 Subject: [PATCH 1/3] chore: bump version --- backend/.env | 2 +- frontend/package-lock.json | 4 ++-- frontend/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/.env b/backend/.env index 6104403a..c9b29517 100644 --- a/backend/.env +++ b/backend/.env @@ -18,7 +18,7 @@ APP_ENV=prod APP_SECRET={REGENERATE_SECRET} APP_HASH={REGENERATE_SECRET} -APP_VERSION=1.0.3 +APP_VERSION=1.0.4 ###< symfony/framework-bundle ### ###> doctrine/doctrine-bundle ### diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 7c321623..3b4a69c0 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "expensave-frontend", - "version": "1.0.2", + "version": "1.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "expensave-frontend", - "version": "1.0.2", + "version": "1.0.4", "dependencies": { "@angular/animations": "^21.2.16", "@angular/cdk": "~21.0.6", diff --git a/frontend/package.json b/frontend/package.json index 550b7560..f1d3f75a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "expensave-frontend", - "version": "1.0.2", + "version": "1.0.4", "scripts": { "dev": "ng serve --host 0.0.0.0 --port 18002 --disable-host-check", "analyze": "eslint src/", From a599a63a643681d3cded59811abeb2378a9f5204 Mon Sep 17 00:00:00 2001 From: Algirdas Date: Sat, 4 Jul 2026 23:20:03 +0300 Subject: [PATCH 2/3] fix(frontend): update import review on save and delete - accept any truthy dialog result to trigger removal - immutable expenses update to force change detection - stable @for track keys for date groups and expenses --- .../statement-review-dialog.component.html | 4 ++-- .../statement-review-dialog.component.ts | 24 ++++--------------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html index 06968260..c3b7a0a4 100644 --- a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html +++ b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html @@ -17,7 +17,7 @@ {{ totalExpensesAmount | shortNumber }} - @for (date of groupedDates; track $index) { + @for (date of groupedDates; track date) {
{{ date }}
@@ -26,7 +26,7 @@
- @for (expense of groupedByDates[date]; track $index) { + @for (expense of groupedByDates[date]; track expense.label + '|' + expense.createdAt + '|' + expense.amount) { { - this.removeExpenseFromList(expense); - - expenseDialog.close(); - - // Close review if no expenses to import is left - if (!this.expenses.length) { - this.dialogRef.close({ - action: DIALOG_ACTION_CLOSE, - calendarRefreshNeeded: this.calendarRefreshNeeded, - }); - } - }, }, }); - expenseDialog.onClose.subscribe((savedExpense: Expense) => { - if (!(savedExpense instanceof Expense)) { + expenseDialog.onClose.subscribe((result: Expense | boolean | undefined) => { + if (!result) { return; } @@ -125,15 +112,14 @@ export class StatementReviewDialogComponent implements OnInit { } public removeExpenseFromList(expense: Expense): void { - const index = this.expenses.indexOf(expense); - if (index === -1) { + if (this.expenses.indexOf(expense) === -1) { return; } - this.expenses.splice(index, 1); + this.expenses = this.expenses.filter(item => item !== expense); this.reloadGroupedExpenses(); - this.onImportChange(this.expenses); + this.onImportChange([...this.expenses]); } private reloadGroupedExpenses(): void { From 0800f16a78dfb49bc9ed72b797de9e0f892a1748 Mon Sep 17 00:00:00 2001 From: Algirdas Date: Sat, 4 Jul 2026 23:22:24 +0300 Subject: [PATCH 3/3] chore(frontend): satisfy prettier line width --- .../statement-review-dialog.component.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html index c3b7a0a4..6b413c44 100644 --- a/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html +++ b/frontend/src/app/modules/main/dialogs/statement-review-dialog/statement-review-dialog.component.html @@ -26,7 +26,10 @@ - @for (expense of groupedByDates[date]; track expense.label + '|' + expense.createdAt + '|' + expense.amount) { + @for ( + expense of groupedByDates[date]; + track expense.label + '|' + expense.createdAt + '|' + expense.amount + ) {