diff --git a/src/app/components/settings/network/network.component.html b/src/app/components/settings/network/network.component.html index c660ae4..c3b3c5e 100644 --- a/src/app/components/settings/network/network.component.html +++ b/src/app/components/settings/network/network.component.html @@ -1,52 +1,56 @@
-
Change your network
-
- Switch between Mainnet and Testnet to change your network settings. +
Change Your Network
+
+ Switch between Mainnet and Testnet to update your network preferences.
- -
Mainnet
-
- The live Bitcoin network. + @if (selectedNetwork() === 'mainnet') { + + } +
Mainnet
+
+ The live Bitcoin network for real transactions.
- -
Testnet
-
- The Bitcoin testing network. + @if (selectedNetwork() === 'testnet') { + + } +
Testnet
+
+ A Bitcoin testing network for developers and testing purposes.
-
+
diff --git a/src/app/components/settings/network/network.component.ts b/src/app/components/settings/network/network.component.ts index f58e757..b24e108 100644 --- a/src/app/components/settings/network/network.component.ts +++ b/src/app/components/settings/network/network.component.ts @@ -1,19 +1,15 @@ -import { AngorAlertComponent } from '@angor/components/alert'; -import { CommonModule, CurrencyPipe, NgClass } from '@angular/common'; -import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { - FormBuilder, - FormGroup, - FormsModule, - ReactiveFormsModule, -} from '@angular/forms'; + ChangeDetectionStrategy, + Component, + OnInit, + signal, + effect, + inject, +} from '@angular/core'; +import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; -import { MatOptionModule } from '@angular/material/core'; -import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; -import { MatInputModule } from '@angular/material/input'; -import { MatRadioModule } from '@angular/material/radio'; -import { MatSelectModule } from '@angular/material/select'; import { IndexerService } from 'app/services/indexer.service'; @Component({ @@ -22,45 +18,43 @@ import { IndexerService } from 'app/services/indexer.service'; changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ - FormsModule, ReactiveFormsModule, - MatRadioModule, - NgClass, MatIconModule, - MatFormFieldModule, - MatInputModule, - MatSelectModule, - MatOptionModule, MatButtonModule, CommonModule, - ] + ], }) export class SettingsNetworkComponent implements OnInit { + private readonly _indexerService = inject(IndexerService); networkForm: FormGroup; - selectedNetwork: 'mainnet' | 'testnet' = 'testnet'; - constructor( - private _fb: FormBuilder, - private _indexerService: IndexerService - ) {} + selectedNetwork = signal<'mainnet' | 'testnet'>('testnet'); + + constructor(private _fb: FormBuilder) {} ngOnInit(): void { + const initialNetwork = this._indexerService.getNetwork(); this.networkForm = this._fb.group({ - network: [this._indexerService.getNetwork()], + network: [initialNetwork], }); + this.selectedNetwork.set(initialNetwork); - this.selectedNetwork = this._indexerService.getNetwork(); + // Effect to handle real-time changes + effect(() => { + console.log('Selected Network:', this.selectedNetwork()); + }); } setNetwork(network: 'mainnet' | 'testnet'): void { - this.selectedNetwork = network; - this._indexerService.setNetwork(this.selectedNetwork); + this.selectedNetwork.set(network); } save(): void { - this._indexerService.setNetwork(this.selectedNetwork); + const network = this.selectedNetwork(); + this._indexerService.setNetwork(network); } cancel(): void { - this.selectedNetwork = this._indexerService.getNetwork(); + const currentNetwork = this._indexerService.getNetwork(); + this.selectedNetwork.set(currentNetwork); } }