From 9b3757e6d45f4ac20dad738731035ff908317172 Mon Sep 17 00:00:00 2001 From: Isacco Sordo Date: Thu, 13 Jul 2023 09:40:37 +0200 Subject: [PATCH] fix: onWalletSelected insertion logic papers/airgap/airgap-vault#451 --- .../pages/accounts-list/accounts-list.page.html | 2 +- .../pages/accounts-list/accounts-list.page.ts | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/app/pages/accounts-list/accounts-list.page.html b/src/app/pages/accounts-list/accounts-list.page.html index ef6b3930..faef75db 100644 --- a/src/app/pages/accounts-list/accounts-list.page.html +++ b/src/app/pages/accounts-list/accounts-list.page.html @@ -30,7 +30,7 @@ - + diff --git a/src/app/pages/accounts-list/accounts-list.page.ts b/src/app/pages/accounts-list/accounts-list.page.ts index 64852bee..200d4d84 100644 --- a/src/app/pages/accounts-list/accounts-list.page.ts +++ b/src/app/pages/accounts-list/accounts-list.page.ts @@ -145,14 +145,16 @@ export class AccountsListPage { }) } - public onWalletSelected(wallet: AirGapWallet): void { - if (this.selectedWallets?.includes(wallet)) { - const index = this.selectedWallets.indexOf(wallet) - if (index > -1) { - this.selectedWallets = this.selectedWallets.splice(index, 1) - } - } else { + public onWalletSelected(event: CustomEvent & { detail: { checked: boolean } }, wallet: AirGapWallet): void { + const index = this.selectedWallets.indexOf(wallet) + const { checked } = event.detail + + if (checked && index === -1) { + // if the selected wallet is missing from the array, add it this.selectedWallets.push(wallet) + } else if (!checked && index !== -1) { + // otherwise when the checkbox is unchecked, remove it + this.selectedWallets.splice(index, 1) } }