From a326b887dcd8712d1616f25628691f2557344022 Mon Sep 17 00:00:00 2001 From: JDonadio Date: Mon, 9 Oct 2017 12:39:26 -0300 Subject: [PATCH] show form fields depending on wallet key selected - ref name/folders --- src/app/app.module.ts | 2 +- src/pages/add/add.ts | 2 +- .../single-wallet/single-wallet.html | 18 ++++++++--- .../single-wallet/single-wallet.scss | 0 .../single-wallet/single-wallet.ts | 31 ++++++++++++++----- 5 files changed, 39 insertions(+), 14 deletions(-) rename src/pages/add/{ => create-wallet}/single-wallet/single-wallet.html (75%) rename src/pages/add/{ => create-wallet}/single-wallet/single-wallet.scss (100%) rename src/pages/add/{ => create-wallet}/single-wallet/single-wallet.ts (78%) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 303c75613..1de28ee3b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -25,7 +25,7 @@ import { CopayApp } from './app.component'; /* Pages */ import { AddPage } from '../pages/add/add'; -import { SingleWalletPage } from '../pages/add/single-wallet/single-wallet'; +import { SingleWalletPage } from '../pages/add/create-wallet/single-wallet/single-wallet'; import { BackupRequestPage } from '../pages/onboarding/backup-request/backup-request'; import { DisclaimerPage } from '../pages/onboarding/disclaimer/disclaimer'; import { EmailPage } from '../pages/onboarding/email/email'; diff --git a/src/pages/add/add.ts b/src/pages/add/add.ts index deac5f81d..8f3344444 100644 --- a/src/pages/add/add.ts +++ b/src/pages/add/add.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; import { NavController } from 'ionic-angular'; -import { SingleWalletPage } from "./single-wallet/single-wallet"; +import { SingleWalletPage } from "./create-wallet/single-wallet/single-wallet"; @Component({ selector: 'page-add', diff --git a/src/pages/add/single-wallet/single-wallet.html b/src/pages/add/create-wallet/single-wallet/single-wallet.html similarity index 75% rename from src/pages/add/single-wallet/single-wallet.html rename to src/pages/add/create-wallet/single-wallet/single-wallet.html index 63e58ad8b..97f6fe560 100644 --- a/src/pages/add/single-wallet/single-wallet.html +++ b/src/pages/add/create-wallet/single-wallet/single-wallet.html @@ -31,9 +31,14 @@ + + Wallet recovery phrase + + + Add a password - +
@@ -55,13 +60,18 @@ I have written it down - +
- + Testnet - + + + + + Derivation path + diff --git a/src/pages/add/single-wallet/single-wallet.scss b/src/pages/add/create-wallet/single-wallet/single-wallet.scss similarity index 100% rename from src/pages/add/single-wallet/single-wallet.scss rename to src/pages/add/create-wallet/single-wallet/single-wallet.scss diff --git a/src/pages/add/single-wallet/single-wallet.ts b/src/pages/add/create-wallet/single-wallet/single-wallet.ts similarity index 78% rename from src/pages/add/single-wallet/single-wallet.ts rename to src/pages/add/create-wallet/single-wallet/single-wallet.ts index d76a8c23e..90f706eb8 100644 --- a/src/pages/add/single-wallet/single-wallet.ts +++ b/src/pages/add/create-wallet/single-wallet/single-wallet.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { NavController } from 'ionic-angular'; import { Validators, FormBuilder, FormGroup } from '@angular/forms'; -import { AppProvider } from '../../../providers/app/app'; +import { AppProvider } from '../../../../providers/app/app'; @Component({ selector: 'page-single-wallet', @@ -14,6 +14,8 @@ export class SingleWalletPage implements OnInit{ public seedOptions: any; private appName: string; + private derivationPathByDefault: string; + private derivationPathForTestnet: string; private createForm: FormGroup; constructor( @@ -21,14 +23,18 @@ export class SingleWalletPage implements OnInit{ private app: AppProvider, private fb: FormBuilder ) { + this.derivationPathByDefault = "m/44'/0'/0'"; + this.derivationPathForTestnet = "m/44'/1'/0'"; this.showAdvOpts = false; this.formData = { walletName: null, bwsURL: 'https://bws.bitpay.com/bws/api', + recoveryPhrase: null, addPassword: false, password: null, confirmPassword: null, - writtenDown: false, + recoveryPhraseBackedUp: null, + derivationPath: this.derivationPathByDefault, testnet: false, singleAddress: false, }; @@ -41,10 +47,12 @@ export class SingleWalletPage implements OnInit{ walletName: ['', Validators.required], bwsURL: [''], selectedSeed: [''], + recoveryPhrase: [''], addPassword: [''], password: [''], confirmPassword: [''], - writtenDown: ['false'], + recoveryPhraseBackedUp: [''], + derivationPath: [''], testnet: [''], singleAddress: [''], }); @@ -65,7 +73,7 @@ export class SingleWalletPage implements OnInit{ validatePasswords() { if (this.formData.addPassword) { if (this.formData.password == this.formData.confirmPassword) { - if (this.formData.writtenDown) return false; + if (this.formData.recoveryPhraseBackedUp) return false; } return true; } @@ -79,7 +87,7 @@ export class SingleWalletPage implements OnInit{ supportsTestnet: true }, { id: 'set', - label: 'Specify Recovery Phrase...', + label: 'Specify Recovery Phrase', supportsTestnet: false }]; this.formData.selectedSeed = { @@ -118,13 +126,20 @@ export class SingleWalletPage implements OnInit{ seedOptionsChange(seed: any) { this.formData.selectedSeed.id = seed; - this.resetPasswordFields(); + this.formData.testnet = false; + this.formData.derivationPath = this.derivationPathByDefault; + this.resetFormFields(); } - resetPasswordFields() { + resetFormFields() { this.formData.password = null; this.formData.confirmPassword = null; - this.formData.writtenDown = false; + this.formData.recoveryPhraseBackedUp = null; + this.formData.recoveryPhrase = null; + } + + setDerivationPath() { + this.formData.derivationPath = this.formData.testnet ? this.derivationPathForTestnet : this.derivationPathByDefault; } create() {