add single address template

This commit is contained in:
JDonadio 2017-10-04 16:29:34 -03:00
parent 1f1ce9f0b0
commit 3041f752fa
No known key found for this signature in database
GPG Key ID: EC1F4E04B2BFA730
3 changed files with 149 additions and 2 deletions

View File

@ -4,6 +4,66 @@
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-content>
<form (ngSubmit)="create()">
<ion-item>
<ion-label>Wallet name</ion-label>
<ion-input type="text" [(ngModel)]="formData.walletName" name="walletName"></ion-input>
</ion-item>
<ion-item-divider color="light"></ion-item-divider>
<ion-item (click)="showAdvOpts = !showAdvOpts">
<ion-label *ngIf="!showAdvOpts">Show advanced options</ion-label>
<ion-label *ngIf="showAdvOpts">Hide advanced options</ion-label>
</ion-item>
<div *ngIf="showAdvOpts">
<ion-item>
<ion-label>Wallet service URL</ion-label>
<ion-input type="text" [(ngModel)]="formData.bwsURL" name="bwsURL"></ion-input>
</ion-item>
<ion-item>
<ion-label>Wallet key</ion-label>
<ion-select [(ngModel)]="formData.selectedSeed.id" name="selectedSeed" (ionChange)="seedOptionsChange(formData.selectedSeed.id)">
<ion-option *ngFor="let opt of seedOptions" [value]="opt.id">{{opt.label}}</ion-option>
</ion-select>
</ion-item>
<ion-item>
<ion-label>Add a password</ion-label>
<ion-toggle [(ngModel)]="formData.addPassword" name="addPassword"></ion-toggle>
</ion-item>
<div *ngIf="formData.addPassword">
<ion-item>
<ion-label>Password</ion-label>
<ion-input type="password" [(ngModel)]="formData.passphrase" name="passphrase"></ion-input>
</ion-item>
<ion-item>
<ion-label>Repeat password</ion-label>
<ion-input type="password" [(ngModel)]="formData.repeatPassphrase" name="repeatPassphrase"></ion-input>
</ion-item>
<ion-item>
<div class="warning">
<strong translate>This password cannot be recovered. If the password is lost, there is no way you could recover your funds.</strong>
</div>
</ion-item>
</div>
<ion-item>
<ion-label>Testnet</ion-label>
<ion-toggle [(ngModel)]="formData.testnet" name="testnet"></ion-toggle>
</ion-item>
<ion-item>
<ion-label>Single address</ion-label>
<ion-toggle [(ngModel)]="formData.singleAddress" name="singleAddress"></ion-toggle>
</ion-item>
</div>
<button ion-button type="submit" block>Add Todo</button>
</form>
</ion-content>

View File

@ -0,0 +1,9 @@
.warning {
background-color: #ef473a;
border-color: #e42112;
color: #fff;
padding: 0.5rem;
border: 1px solid;
white-space: normal;
text-align: center;
}

View File

@ -1,10 +1,88 @@
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AppProvider } from '../../../providers/app/app';
@Component({
selector: 'page-single-wallet',
templateUrl: 'single-wallet.html'
})
export class SingleWalletPage {
constructor(public navCtrl: NavController) {}
public formData: any;
public showAdvOpts: boolean;
public seedOptions: any;
private appName: string;
constructor(public navCtrl: NavController, private app: AppProvider) {
this.showAdvOpts = false;
this.formData = {
bwsURL: 'https://bws.bitpay.com/bws/api',
addPassword: false,
passphrase: null,
repeatPassphrase: null,
testnet: false,
singleAddress: false,
};
this.seedOptions = [{
id: 'new',
label: 'Random',
supportsTestnet: true
}, {
id: 'set',
label: 'Specify Recovery Phrase...',
supportsTestnet: false
}];
this.appName = this.app.info.name;
this.updateSeedSourceSelect(1);
}
updateSeedSourceSelect(n: number) {
this.formData.selectedSeed = {
id: this.seedOptions[0].id
};
/* Disable Hardware Wallets for BitPay distribution */
var seedOptions = [];
if (this.appName == 'copay') {
// if (n > 1 && walletService.externalSource.ledger.supported)
// seedOptions.push({
// id: walletService.externalSource.ledger.id,
// label: walletService.externalSource.ledger.longName,
// supportsTestnet: walletService.externalSource.ledger.supportsTestnet
// });
// if (walletService.externalSource.trezor.supported) {
// seedOptions.push({
// id: walletService.externalSource.trezor.id,
// label: walletService.externalSource.trezor.longName,
// supportsTestnet: walletService.externalSource.trezor.supportsTestnet
// });
// }
// if (walletService.externalSource.intelTEE.supported) {
// seedOptions.push({
// id: walletService.externalSource.intelTEE.id,
// label: walletService.externalSource.intelTEE.longName,
// supportsTestnet: walletService.externalSource.intelTEE.supportsTestnet
// });
// }
}
this.seedOptions = this.seedOptions.concat(seedOptions);
console.log('Seed options:', this.seedOptions);
};
seedOptionsChange(seed: any) {
this.formData.selectedSeed.id = seed;
this.resetPasswordFields();
}
resetPasswordFields() {
this.formData.passphrase =
this.formData.createPassphrase =
this.formData.passwordSaved =
this.formData.repeatPassword =
// this.result =
null;
}
}