From be8f63bbf0bdf680fb4132680865fe1b486a4e25 Mon Sep 17 00:00:00 2001 From: KenTandrian Date: Sat, 20 Jun 2026 16:49:38 +0700 Subject: [PATCH] feat(client): enforce immutability --- .../transfer-balance-dialog.component.ts | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts index f11d160d1..0e2444a39 100644 --- a/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts +++ b/apps/client/src/app/pages/accounts/transfer-balance/transfer-balance-dialog.component.ts @@ -42,31 +42,26 @@ import { templateUrl: 'transfer-balance-dialog.html' }) export class GfTransferBalanceDialogComponent { - protected accounts: Account[] = []; + protected readonly accounts: Account[] = + inject(MAT_DIALOG_DATA).accounts; + protected currency: string; - protected transferBalanceForm: TransferBalanceForm; - private readonly data = inject(MAT_DIALOG_DATA); + protected readonly transferBalanceForm: TransferBalanceForm = new FormGroup( + { + balance: new FormControl('', Validators.required), + fromAccount: new FormControl('', Validators.required), + toAccount: new FormControl('', Validators.required) + }, + { + validators: this.compareAccounts + } + ); + private readonly dialogRef = inject>(MatDialogRef); public ngOnInit() { - this.accounts = this.data.accounts; - - this.transferBalanceForm = new FormGroup( - { - balance: new FormControl( - '', - Validators.required - ), - fromAccount: new FormControl('', Validators.required), - toAccount: new FormControl('', Validators.required) - }, - { - validators: this.compareAccounts - } - ); - this.transferBalanceForm.controls.fromAccount.valueChanges.subscribe( (id) => { const currency = this.accounts.find((account) => {