Merge pull request #187 from gabrielbazan7/ref/designWalletSettings
refactor wallet settings
This commit is contained in:
commit
51befe7afd
17 changed files with 635 additions and 692 deletions
|
|
@ -14,15 +14,7 @@
|
||||||
<!-- <body ng-cloak class="ng-cloak"> -->
|
<!-- <body ng-cloak class="ng-cloak"> -->
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<ion-nav-bar class="bar-stable">
|
<ion-nav-bar class="bar-stable"></ion-nav-bar>
|
||||||
</ion-nav-bar>
|
|
||||||
|
|
||||||
<!-- <div notifications="right top"></div> -->
|
|
||||||
<!-- ng-class="{ 'main': index.hasProfile }" -->
|
|
||||||
<!-- <ion-nav-bar class="bar-positive"> -->
|
|
||||||
<!-- <ion-nav-back-button class="button-icon ion-arrow-left-c"> -->
|
|
||||||
<!-- </ion-nav-back-button> -->
|
|
||||||
<!-- </ion-nav-bar> -->
|
|
||||||
<ion-nav-view name="main"></ion-nav-view>
|
<ion-nav-view name="main"></ion-nav-view>
|
||||||
|
|
||||||
<script src="lib/ionic.bundle.min.js"></script>
|
<script src="lib/ionic.bundle.min.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -1,109 +1,96 @@
|
||||||
<div class="backup" ng-controller="backupController" ng-init="init(index.prevState)">
|
<ion-view ng-controller="backupController" cache-view="false" ng-init="init(index.prevState)">
|
||||||
<nav class="tab-bar">
|
<ion-nav-bar class="bar-stable">
|
||||||
<section class="left-small" ng-show="(step != 1 && step != 4)">
|
<ion-nav-title>Backup Flow</ion-nav-title>
|
||||||
<a ng-click="goToStep(1);">
|
<ion-nav-buttons side="primary" ng-show="(step != 1 && step != 4)">
|
||||||
<i class="icon-arrow-left3 icon-back"></i>
|
<button class="button" ng-click="goToStep(1); goBack()">
|
||||||
</a>
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
</section>
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
|
<div class="box-notification" ng-show="error">
|
||||||
|
<span class="text-warning">
|
||||||
|
{{error|translate}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<section class="middle tab-bar-section" ng-style="{'color':index.backgroundColor}">
|
<!--
|
||||||
<span>{{walletName}}</span>
|
## STEP 1
|
||||||
</section>
|
-->
|
||||||
|
|
||||||
<section class="right-small">
|
<div class="content preferences text-center">
|
||||||
<a class="p10" ng-click="goBack()">
|
<div ng-show="step == 1">
|
||||||
<span class="text-close">
|
<div ng-show="mnemonicWords || (!credentialsEncrypted && !deleted)" class="row">
|
||||||
<i class="fi-x size-24"></i>
|
<h5 class="text-center" translate>Write your wallet recovery phrase</h5>
|
||||||
</span>
|
<div class="size-14 text-gray columns" ng-show="(index.n>1 && index.m != index.n )">
|
||||||
</a>
|
<span translate>
|
||||||
</section>
|
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
|
||||||
</nav>
|
</span>:
|
||||||
|
<div class="m10t columns size-14 text-gray">
|
||||||
<div class="box-notification" ng-show="error">
|
<span translate>Your wallet recovery phrase and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend.</span>
|
||||||
<span class="text-warning">
|
<span translate><b>OR</b> the wallet recovery phrase of <b>all</b> copayers in the wallet</span>
|
||||||
{{error|translate}}
|
<span translate><b>OR</b> 1 wallet export file and the remaining quorum of wallet recovery phrases (e.g. in a 3-5 wallet: 1 wallet export file + 2 wallet recovery phrases of any of the other copayers).</span>
|
||||||
</span>
|
</div>
|
||||||
</div>
|
</span>
|
||||||
|
|
||||||
<!--
|
|
||||||
## STEP 1
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div class="content preferences text-center">
|
|
||||||
<div ng-show="step == 1">
|
|
||||||
<div ng-show="mnemonicWords || (!credentialsEncrypted && !deleted)" class="row">
|
|
||||||
<h5 class="text-center" translate>Write your wallet recovery phrase</h5>
|
|
||||||
<div class="size-14 text-gray columns" ng-show="(index.n>1 && index.m != index.n )">
|
|
||||||
<span translate>
|
|
||||||
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
|
|
||||||
</span>:
|
|
||||||
<div class="m10t columns size-14 text-gray">
|
|
||||||
<span translate>Your wallet recovery phrase and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend.</span>
|
|
||||||
<span translate><b>OR</b> the wallet recovery phrase of <b>all</b> copayers in the wallet</span>
|
|
||||||
<span translate><b>OR</b> 1 wallet export file and the remaining quorum of wallet recovery phrases (e.g. in a 3-5 wallet: 1 wallet export file + 2 wallet recovery phrases of any of the other copayers).</span>
|
|
||||||
</div>
|
</div>
|
||||||
</span>
|
<div class="size-14 text-gray columns" ng-show="(index.n>1 && index.m == index.n )">
|
||||||
</div>
|
<span translate>
|
||||||
<div class="size-14 text-gray columns" ng-show="(index.n>1 && index.m == index.n )">
|
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
|
||||||
<span translate>
|
</span>:
|
||||||
To restore this {{index.m}}-{{index.n}} <b>shared</b> wallet you will need
|
<div class="m10t columns size-14 text-gray">
|
||||||
</span>:
|
<span translate>Your wallet recovery phrase and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend.</span>
|
||||||
<div class="m10t columns size-14 text-gray">
|
<span translate><b>OR</b> the wallet recovery phrases of <b>all</b> copayers in the wallet</span>
|
||||||
<span translate>Your wallet recovery phrase and access to the server that coordinated the initial wallet creation. You still need {{index.m}} keys to spend.</span>
|
</div>
|
||||||
<span translate><b>OR</b> the wallet recovery phrases of <b>all</b> copayers in the wallet</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row m20t" ng-show="deleted">
|
<div class="row m20t" ng-show="deleted">
|
||||||
<div class="columns size-14 text-gray text-center" translate>
|
<div class="columns size-14 text-gray text-center" translate>
|
||||||
Wallet recovery phrase not available. You can still export it from Advanced > Export.
|
Wallet recovery phrase not available. You can still export it from Advanced > Export.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="mnemonicWords || (!credentialsEncrypted && !deleted)">
|
<div ng-show="mnemonicWords || (!credentialsEncrypted && !deleted)">
|
||||||
<p class="text-center columns text-gray" ng-show="index.n==1 && step == 1">
|
<p class="text-center columns text-gray" ng-show="index.n==1 && step == 1">
|
||||||
<span translate>
|
<span translate>
|
||||||
You need the wallet recovery phrase to restore this personal wallet. Write it down and keep them somewhere safe.
|
You need the wallet recovery phrase to restore this personal wallet. Write it down and keep them somewhere safe.
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<div class="row" ng-show="!credentialsEncrypted">
|
<div class="row" ng-show="!credentialsEncrypted">
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="panel" ng-class="{'enable_text_select': index.network == 'testnet'}">
|
<div class="panel" ng-class="{'enable_text_select': index.network == 'testnet'}">
|
||||||
<span ng-repeat="word in mnemonicWords track by $index"><span style="white-space:nowrap">{{word}}</span><span ng-show="useIdeograms"> </span> </span>
|
<span ng-repeat="word in mnemonicWords track by $index"><span style="white-space:nowrap">{{word}}</span><span ng-show="useIdeograms"> </span> </span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="columns extra-padding-bottom" ng-show="!credentialsEncrypted">
|
<div class="columns extra-padding-bottom" ng-show="!credentialsEncrypted">
|
||||||
<div class="line-t p10 size-10 text-gray text-center" ng-show="mnemonicHasPassphrase">
|
<div class="line-t p10 size-10 text-gray text-center" ng-show="mnemonicHasPassphrase">
|
||||||
<i class="fi-alert"></i>
|
<i class="fi-alert"></i>
|
||||||
<span translate>
|
<span translate>
|
||||||
This recovery phrase was created with a password. To recover this wallet both the recovery phrase and password are needed.
|
This recovery phrase was created with a password. To recover this wallet both the recovery phrase and password are needed.
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="button-box">
|
||||||
|
<button
|
||||||
|
ng-show="!deleted"
|
||||||
|
ng-disabled="credentialsEncrypted || error"
|
||||||
|
class="button button-block button-stable"
|
||||||
|
ng-click="goToStep(2);"
|
||||||
|
translate>Continue
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="button-box">
|
<!--
|
||||||
<button
|
## STEP 2
|
||||||
ng-show="!deleted"
|
-->
|
||||||
ng-disabled="credentialsEncrypted || error"
|
|
||||||
class="round expand m0"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-click="goToStep(2);"
|
|
||||||
translate>Continue
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
<div ng-show="step == 2">
|
||||||
## STEP 2
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div ng-show="step == 2">
|
|
||||||
<ion-content class="m20b">
|
|
||||||
<div class="columns text-center extra-padding-bottom">
|
<div class="columns text-center extra-padding-bottom">
|
||||||
<h5 translate>Confirm your wallet recovery phrase</h5>
|
<h5 translate>Confirm your wallet recovery phrase</h5>
|
||||||
<p class="text-gray m0" translate>
|
<p class="text-gray m0" translate>
|
||||||
|
|
@ -122,106 +109,97 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
|
||||||
|
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
<button
|
|
||||||
ng-disabled="!selectComplete"
|
|
||||||
class="round expand m0"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-click="goToStep(3);"
|
|
||||||
translate>Continue
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
## STEP 3
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div ng-show="step == 3">
|
|
||||||
<div class="columns text-center">
|
|
||||||
<h5 translate>Enter your password</h5>
|
|
||||||
<p class="text-gray m0" translate>
|
|
||||||
In order to verify your wallet backup, please type your password:
|
|
||||||
</p>
|
|
||||||
<div class="m20v">
|
|
||||||
<input type="text" id="passphrase" ng-model="passphrase" autocapitalize="off" spellcheck="false" autofocus/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="button-box">
|
|
||||||
<button
|
|
||||||
ng-disabled="!passphrase"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
class="button round expand m0"
|
|
||||||
ng-click="goToStep(4);"
|
|
||||||
translate>Continue
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
## STEP 4
|
|
||||||
-->
|
|
||||||
|
|
||||||
<div ng-show="step == 4">
|
|
||||||
<div class="row m10t m10b text-center" ng-show="!backupError">
|
|
||||||
<div class="circle-icon">
|
|
||||||
<i class="fi-like size-48"></i>
|
|
||||||
</div>
|
|
||||||
<h5 translate>Congratulations!</h5>
|
|
||||||
<p class="text-gray columns" translate>
|
|
||||||
You backed up your wallet. You can now restore this wallet at any time.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="columns text-center m20t">
|
|
||||||
<button
|
<button
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
ng-disabled="!selectComplete"
|
||||||
class="button round expand"
|
class="button button-block button-stable"
|
||||||
href ui-sref="walletHome"
|
ng-click="goToStep(3);"
|
||||||
translate>Finish
|
translate>Continue
|
||||||
</button>
|
</button>
|
||||||
<!-- hide this in multisig just to show less text -->
|
</div>
|
||||||
<div class="row m20t" ng-show="index.n==1">
|
</div>
|
||||||
<div class="columns size-10 text-gray">
|
|
||||||
<div class="p10t line-t">
|
<!--
|
||||||
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
|
## STEP 3
|
||||||
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
|
-->
|
||||||
Learn more about Copay backups
|
|
||||||
</a>
|
<div ng-show="step == 3">
|
||||||
|
<h5 translate>Enter your password</h5>
|
||||||
|
<label class="item item-input item-stacked-label">
|
||||||
|
<span class="input-label" transalate>In order to verify your wallet backup, please type your password:</span>
|
||||||
|
<input type="text" id="passphrase" ng-model="passphrase" autocapitalize="off" spellcheck="false" autofocus/>
|
||||||
|
</label>
|
||||||
|
<div class="button-box">
|
||||||
|
<button
|
||||||
|
ng-disabled="!passphrase"
|
||||||
|
class="button button-block button-stable"
|
||||||
|
ng-click="goToStep(4);"
|
||||||
|
translate>Continue
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
## STEP 4
|
||||||
|
-->
|
||||||
|
|
||||||
|
<div ng-show="step == 4">
|
||||||
|
<div class="row m10t m10b text-center" ng-show="!backupError">
|
||||||
|
<div class="circle-icon">
|
||||||
|
<i class="fi-like size-48"></i>
|
||||||
|
</div>
|
||||||
|
<h5 translate>Congratulations!</h5>
|
||||||
|
<p class="text-gray columns" translate>
|
||||||
|
You backed up your wallet. You can now restore this wallet at any time.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="columns text-center m20t">
|
||||||
|
<button
|
||||||
|
|
||||||
|
class="button round expand"
|
||||||
|
href ui-sref="walletHome"
|
||||||
|
translate>Finish
|
||||||
|
</button>
|
||||||
|
<!-- hide this in multisig just to show less text -->
|
||||||
|
<div class="row m20t" ng-show="index.n==1">
|
||||||
|
<div class="columns size-10 text-gray">
|
||||||
|
<div class="p10t line-t">
|
||||||
|
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
|
||||||
|
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
|
||||||
|
Learn more about Copay backups
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="row m10t m10b text-center" ng-show="backupError">
|
||||||
<div class="row m10t m10b text-center" ng-show="backupError">
|
<div class="circle-icon">
|
||||||
<div class="circle-icon">
|
<i class="fi-dislike size-48"></i>
|
||||||
<i class="fi-dislike size-48"></i>
|
</div>
|
||||||
</div>
|
<h5 translate>Backup failed</h5>
|
||||||
<h5 translate>Backup failed</h5>
|
<p class="text-gray columns" translate>
|
||||||
<p class="text-gray columns" translate>
|
Failed to verify backup. Please check your information
|
||||||
Failed to verify backup. Please check your information
|
</p>
|
||||||
</p>
|
<div class="columns size-10 text-gray extra-padding-bottom" ng-show="index.n==1">
|
||||||
<div class="columns size-10 text-gray extra-padding-bottom" ng-show="index.n==1">
|
<div class="p10t line-t">
|
||||||
<div class="p10t line-t">
|
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
|
||||||
<span translate>You can safely install your wallet on another device and use it from multiple devices at the same time.</span>
|
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
|
||||||
<a href="#" ng-click="$root.openExternalLink('https://github.com/bitpay/copay/blob/master/README.md#copay-backups-and-recovery')" translate>
|
Learn more about Copay backups
|
||||||
Learn more about Copay backups
|
</a>
|
||||||
</a>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="button-box">
|
||||||
|
<button
|
||||||
|
|
||||||
|
class="button button-block button-stable"
|
||||||
|
ng-click="goToStep(1);"
|
||||||
|
translate>Try again
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="button-box">
|
|
||||||
<button
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
class="button round expand m0"
|
|
||||||
ng-click="goToStep(1);"
|
|
||||||
translate>Try again
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</ion-content>
|
||||||
</div>
|
</ion-view>
|
||||||
</div>
|
|
||||||
<div class="extra-margin-bottom"></div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,135 +1,139 @@
|
||||||
<div
|
|
||||||
class="topbar-container"
|
|
||||||
ng-include="'views/includes/topbar.html'"
|
|
||||||
ng-init="titleSection='Export Wallet'; goBackToState = 'preferencesAdvanced'">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content preferences" ng-controller="exportController" ng-init="init(index.prevState)">
|
<ion-view ng-controller="exportController" cache-view="false" ng-init="init(index.prevState)">
|
||||||
<div ng-show="!index.canSign"><h4></h4></div>
|
<ion-nav-bar class="bar-stable">
|
||||||
<div ng-show="index.canSign" class="create-tab small-only-text-center">
|
<ion-nav-title>Export Wallet</ion-nav-title>
|
||||||
<div class="row">
|
<ion-nav-buttons side="primary">
|
||||||
<div class="tab-container small-6 columns"
|
<button class="button" href ui-sref="preferencesAdvanced">
|
||||||
ng-class="{'selected':!exportQR}"
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
ng-style="{'border-color':!exportQR ? index.backgroundColor: 'inherit'}"
|
</button>
|
||||||
ng-click="exportQR = false">
|
</ion-nav-buttons>
|
||||||
<a href ng-style="{'color':!exportQR ? index.backgroundColor: 'inherit'}" translate>File/Text</a>
|
</ion-nav-bar>
|
||||||
</div>
|
<ion-content class="has-header">
|
||||||
<div class="tab-container small-6 columns"
|
<div ng-show="!index.canSign"><h4></h4></div>
|
||||||
ng-class="{'selected':exportQR}"
|
<div ng-show="index.canSign" class="create-tab small-only-text-center">
|
||||||
ng-style="{'border-color':exportQR ? index.backgroundColor: 'inherit'}"
|
|
||||||
ng-click="exportQR = true">
|
|
||||||
<a href ng-style="{'color':exportQR ? index.backgroundColor: 'inherit'}" translate>QR Code</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="!backupWalletPlainText">
|
|
||||||
<div class="text-warning size-14 m20b" ng-show="error">
|
|
||||||
<i class="fi-alert size-12"></i>
|
|
||||||
<span translate>Failed to export</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form ng-show="!exportQR">
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
<div class="tab-container small-6 columns"
|
||||||
|
ng-class="{'selected':!exportQR}"
|
||||||
|
ng-style="{'border-color':!exportQR ? index.backgroundColor: 'inherit'}"
|
||||||
|
ng-click="exportQR = false">
|
||||||
|
<a href ng-style="{'color':!exportQR ? index.backgroundColor: 'inherit'}" translate>File/Text</a>
|
||||||
|
</div>
|
||||||
|
<div class="tab-container small-6 columns"
|
||||||
|
ng-class="{'selected':exportQR}"
|
||||||
|
ng-style="{'border-color':exportQR ? index.backgroundColor: 'inherit'}"
|
||||||
|
ng-click="exportQR = true">
|
||||||
|
<a href ng-style="{'color':exportQR ? index.backgroundColor: 'inherit'}" translate>QR Code</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="!backupWalletPlainText">
|
||||||
|
<div class="text-warning size-14 m20b" ng-show="error">
|
||||||
|
<i class="fi-alert size-12"></i>
|
||||||
|
<span translate>Failed to export</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form ng-show="!exportQR">
|
||||||
|
<div class="row">
|
||||||
|
<div class="columns">
|
||||||
|
<label for="password" translate>Set up a password </label>
|
||||||
|
<div class="input">
|
||||||
|
<input type="password" class="form-control" placeholder="{{'Your password'|translate}}" name="password" ng-model="password">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label for="password" translate>Repeat the password</label>
|
||||||
|
<div class="input">
|
||||||
|
<input type="password" class="form-control" placeholder="{{'Repeat password'|translate}}" name="password" ng-model="repeatpassword">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<div class="m20t text-gray" ng-show="exportQR && supported">
|
||||||
|
<div class="text-center m20b">
|
||||||
|
<qrcode size="220" version="8" error-correction-level="M" data="{{exportWalletInfo}}"></qrcode>
|
||||||
|
</div>
|
||||||
|
<div class="text-center size-12 m10" translate>From the destination device, go to Add wallet > Import wallet and scan this QR code</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="m20t text-gray" ng-show="exportQR && !supported">
|
||||||
|
<div class="text-center size-12 m10" translate>Exporting via QR not supported for this wallet</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" ng-show="!exportQR && index.canSign">
|
||||||
|
<div class="columns m15t">
|
||||||
|
<a class="button outline light-gray expand tiny p10i" ng-click="showAdvanced = !showAdvanced">
|
||||||
|
<i class="fi-widget m3r"></i>
|
||||||
|
<span translate ng-hide="showAdvanced">Show advanced options</span>
|
||||||
|
<span translate ng-hide="!showAdvanced">Hide advanced options</span>
|
||||||
|
<i ng-if="!showAdvanced" class="icon-arrow-down4"></i>
|
||||||
|
<i ng-if="showAdvanced" class="icon-arrow-up4"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="showAdvanced && !exportQR">
|
||||||
|
<ion-toggle ng-model="noSignEnabled" toggle-class="toggle-balanced" class="r0" ng-change="noSignEnabledChange()">
|
||||||
|
<span class="toggle-label" translate>Do not include private key</span>
|
||||||
|
</ion-toggle>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-notification p15l" ng-show="!index.canSign">
|
||||||
|
<span class="text-warning size-14">
|
||||||
|
<i class="fi-alert"></i>
|
||||||
|
<span translate>
|
||||||
|
WARNING: The private key of this wallet is not available. The export allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so <b>funds will not be accessible from the export</b>.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-notification p15l" ng-show="noSignEnabled && !exportQR">
|
||||||
|
<span class="text-warning size-14">
|
||||||
|
<i class="fi-alert"></i>
|
||||||
|
<span translate>
|
||||||
|
WARNING: Not including the private key allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so <b>funds will not be accessible from the export</b>.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" ng-show="!exportQR">
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<label for="password" translate>Set up a password </label>
|
<button class="black round expand m20t" ng-click="downloadWalletBackup()"
|
||||||
<div class="input">
|
ng-disabled="(!password || password != repeatpassword)"
|
||||||
<input type="password" class="form-control" placeholder="{{'Your password'|translate}}" name="password" ng-model="password">
|
ng-style="{'background-color':index.backgroundColor}"
|
||||||
</div>
|
ng-show="!isSafari && !isCordova"><i class="fi-download"></i>
|
||||||
|
<span translate>Download</span></button>
|
||||||
<label for="password" translate>Repeat the password</label>
|
<button class="black round expand m20t" ng-click="viewWalletBackup()"
|
||||||
<div class="input">
|
ng-disabled="(!password || password != repeatpassword)"
|
||||||
<input type="password" class="form-control" placeholder="{{'Repeat password'|translate}}" name="password" ng-model="repeatpassword">
|
ng-style="{'background-color':index.backgroundColor}"
|
||||||
|
ng-show="isSafari && !isCordova"><i class="fi-eye"></i>
|
||||||
|
<span translate>View</span></button>
|
||||||
|
<div ng-show="isCordova">
|
||||||
|
<h4 translate>Export options</h4>
|
||||||
|
<button class="black round expand" ng-disabled="(!password || password != repeatpassword)"
|
||||||
|
ng-style="{'background-color':index.backgroundColor}"
|
||||||
|
ng-click="copyWalletBackup()"><i class="fi-clipboard-pencil"></i>
|
||||||
|
<span translate>Copy to clipboard</span></button>
|
||||||
|
<button class="black round expand" ng-disabled="(!password || password != repeatpassword)"
|
||||||
|
ng-style="{'background-color':index.backgroundColor}"
|
||||||
|
ng-click="sendWalletBackup()"><i class="fi-mail"></i>
|
||||||
|
<span translate>Send by email</span></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
|
|
||||||
<div class="m20t text-gray" ng-show="exportQR && supported">
|
|
||||||
<div class="text-center m20b">
|
|
||||||
<qrcode size="220" version="8" error-correction-level="M" data="{{exportWalletInfo}}"></qrcode>
|
|
||||||
</div>
|
|
||||||
<div class="text-center size-12 m10" translate>From the destination device, go to Add wallet > Import wallet and scan this QR code</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="m20t text-gray" ng-show="exportQR && !supported">
|
<div class="row" ng-show="backupWalletPlainText">
|
||||||
<div class="text-center size-12 m10" translate>Exporting via QR not supported for this wallet</div>
|
<div class="large-12 columns">
|
||||||
</div>
|
<h3 translate>Wallet Export</h3>
|
||||||
|
<div class="input">
|
||||||
<div class="row" ng-show="!exportQR && index.canSign">
|
<textarea rows="12">{{backupWalletPlainText}}</textarea>
|
||||||
<div class="columns m15t">
|
</div>
|
||||||
<a class="button outline light-gray expand tiny p10i" ng-click="showAdvanced = !showAdvanced">
|
<div class="size-12 text-gray text-right">
|
||||||
<i class="fi-widget m3r"></i>
|
<i class="icon-compose"></i>
|
||||||
<span translate ng-hide="showAdvanced">Show advanced options</span>
|
<span translate>Copy this text as it is to a safe place (notepad or email)</span>
|
||||||
<span translate ng-hide="!showAdvanced">Hide advanced options</span>
|
|
||||||
<i ng-if="!showAdvanced" class="icon-arrow-down4"></i>
|
|
||||||
<i ng-if="showAdvanced" class="icon-arrow-up4"></i>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div ng-show="showAdvanced && !exportQR">
|
|
||||||
<ion-toggle ng-model="noSignEnabled" toggle-class="toggle-balanced" class="r0" ng-change="noSignEnabledChange()">
|
|
||||||
<span class="toggle-label" translate>Do not include private key</span>
|
|
||||||
</ion-toggle>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="box-notification p15l" ng-show="!index.canSign">
|
|
||||||
<span class="text-warning size-14">
|
|
||||||
<i class="fi-alert"></i>
|
|
||||||
<span translate>
|
|
||||||
WARNING: The private key of this wallet is not available. The export allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so <b>funds will not be accessible from the export</b>.
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="box-notification p15l" ng-show="noSignEnabled && !exportQR">
|
|
||||||
<span class="text-warning size-14">
|
|
||||||
<i class="fi-alert"></i>
|
|
||||||
<span translate>
|
|
||||||
WARNING: Not including the private key allows to check the wallet balance, transaction history, and create spend proposals from the export. However, does not allow to approve (sign) proposals, so <b>funds will not be accessible from the export</b>.
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row" ng-show="!exportQR">
|
|
||||||
<div class="columns">
|
|
||||||
<button class="black round expand m20t" ng-click="downloadWalletBackup()"
|
|
||||||
ng-disabled="(!password || password != repeatpassword)"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-show="!isSafari && !isCordova"><i class="fi-download"></i>
|
|
||||||
<span translate>Download</span></button>
|
|
||||||
<button class="black round expand m20t" ng-click="viewWalletBackup()"
|
|
||||||
ng-disabled="(!password || password != repeatpassword)"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-show="isSafari && !isCordova"><i class="fi-eye"></i>
|
|
||||||
<span translate>View</span></button>
|
|
||||||
<div ng-show="isCordova">
|
|
||||||
<h4 translate>Export options</h4>
|
|
||||||
<button class="black round expand" ng-disabled="(!password || password != repeatpassword)"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-click="copyWalletBackup()"><i class="fi-clipboard-pencil"></i>
|
|
||||||
<span translate>Copy to clipboard</span></button>
|
|
||||||
<button class="black round expand" ng-disabled="(!password || password != repeatpassword)"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}"
|
|
||||||
ng-click="sendWalletBackup()"><i class="fi-mail"></i>
|
|
||||||
<span translate>Send by email</span></button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
<div class="row" ng-show="backupWalletPlainText">
|
|
||||||
<div class="large-12 columns">
|
|
||||||
<h3 translate>Wallet Export</h3>
|
|
||||||
<div class="input">
|
|
||||||
<textarea rows="12">{{backupWalletPlainText}}</textarea>
|
|
||||||
</div>
|
|
||||||
<div class="size-12 text-gray text-right">
|
|
||||||
<i class="icon-compose"></i>
|
|
||||||
<span translate>Copy this text as it is to a safe place (notepad or email)</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="extra-margin-bottom"></div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,91 +1,81 @@
|
||||||
|
<ion-view ng-controller="preferencesController" cache-view="false" ng-init="init()">
|
||||||
<div
|
<ion-nav-bar class="bar-stable">
|
||||||
class="topbar-container"
|
<ion-nav-title>Wallet Settings</ion-nav-title>
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-buttons side="primary">
|
||||||
ng-init="titleSection=index.setWalletPreferencesTitle(); closeToHome = true">
|
<button class="button" href ui-sref="walletDetails">
|
||||||
</div>
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
<div class="content preferences" ng-controller="preferencesController" ng-init="init()">
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
<h4></h4>
|
<div class="list">
|
||||||
|
<div class="item item-divider">
|
||||||
<ul class="no-bullet m0" ng-show="!index.noFocusedWallet">
|
Preferences
|
||||||
|
|
||||||
<li href ui-sref="preferencesAlias">
|
|
||||||
<div class="right text-gray">
|
|
||||||
{{index.alias||index.walletName}}
|
|
||||||
<i class="icon-arrow-right3 size-24 right"></i>
|
|
||||||
</div>
|
</div>
|
||||||
<div translate>Alias</div>
|
<div class="item item-icon-right" href ui-sref="preferencesAlias">
|
||||||
</li>
|
<span translate>Wallet Name</span>
|
||||||
|
<span class="item-note">
|
||||||
<li href ui-sref="preferencesEmail">
|
{{index.alias||index.walletName}}
|
||||||
<div class="right text-gray">
|
|
||||||
<span ng-if="!index.preferences.email" translate>Disabled</span>
|
|
||||||
<span ng-if="index.preferences.email">{{index.preferences.email}}</span>
|
|
||||||
<i class="icon-arrow-right3 size-24 right"></i>
|
|
||||||
</div>
|
|
||||||
<div translate>Email Notifications</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li href ui-sref="preferencesColor">
|
|
||||||
<div class="right text-gray">
|
|
||||||
<span ng-style="{'color':index.backgroundColor}">█</span>
|
|
||||||
<i class="icon-arrow-right3 size-24 right"></i>
|
|
||||||
</div>
|
|
||||||
<div translate>Color</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li ng-show="index.isPrivKeyExternal">
|
|
||||||
<div class="right text-gray m10r">
|
|
||||||
{{externalSource}}
|
|
||||||
</div>
|
|
||||||
<div translate>Hardware wallet</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li href ui-sref="backup" ng-hide="index.isPrivKeyExternal">
|
|
||||||
<div class="right text-gray">
|
|
||||||
<span class="text-warning" ng-show="index.needsBackup">
|
|
||||||
<i class="fi-alert"></i> <span translate>Not completed</span>
|
|
||||||
</span>
|
</span>
|
||||||
<i class="icon-arrow-right3 size-24 text-gray"></i>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
</div>
|
</div>
|
||||||
<div translate>Backup</div>
|
<div class="item">
|
||||||
</li>
|
<span translate>Devices</span>
|
||||||
|
<span class="item-note">
|
||||||
<li href ui-sref="preferencesAdvanced">
|
1
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
</span>
|
||||||
<div translate>Advanced</div>
|
</div>
|
||||||
</li>
|
<div class="item">
|
||||||
|
<span translate>Required number of signatures</span>
|
||||||
</ul>
|
<span class="item-note">
|
||||||
|
1
|
||||||
<h4 translate ng-show="index.canSign || !deleted">
|
</span>
|
||||||
Security preferences
|
</div>
|
||||||
</h4>
|
<div class="item" ng-show="index.isPrivKeyExternal">
|
||||||
|
<span translate>Hardware wallet</span>
|
||||||
<div ng-show="!index.noFocusedWallet && index.canSign">
|
<span class="item-note">
|
||||||
<ion-toggle ng-model="encryptEnabled" toggle-class="toggle-balanced" ng-change="encryptChange()">
|
{{externalSource}}
|
||||||
<span class="toggle-label" translate>Request Spending Password</span>
|
</span>
|
||||||
</ion-toggle>
|
</div>
|
||||||
|
<div class="item item-icon-right" href ui-sref="preferencesColor">
|
||||||
<ion-toggle ng-model="touchidEnabled" toggle-class="toggle-balanced" ng-change="touchidChange()" ng-show="touchidAvailable">
|
<span ng-style="{'color':index.backgroundColor}">█</span>
|
||||||
<span class="toggle-label" translate>Scan Fingerprint</span>
|
<span translate>Wallet Color</span>
|
||||||
</ion-toggle>
|
<span class="item-note">
|
||||||
</div>
|
{{index.alias||index.walletName}}
|
||||||
<div ng-show ="!deleted">
|
</span>
|
||||||
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
<ul class="no-bullet m0">
|
</div>
|
||||||
<li href ui-sref="deleteWords">
|
<div class="item item-icon-right" href ui-sref="preferencesEmail">
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
<span translate>Email Notifications</span>
|
||||||
<div translate>Delete recovery phrase</div>
|
<span class="item-note">
|
||||||
</li>
|
<span ng-if="!index.preferences.email" translate>Disabled</span>
|
||||||
</ul>
|
<span ng-if="index.preferences.email">{{index.preferences.email}}</span>
|
||||||
|
</span>
|
||||||
</div>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
<h4></h4>
|
<div class="item item-divider">
|
||||||
</div>
|
Security
|
||||||
|
</div>
|
||||||
<div class="extra-margin-bottom"></div>
|
<div class="item item-icon-right" href ui-sref="backup" ng-hide="index.isPrivKeyExternal">
|
||||||
|
<span translate>Backup</span>
|
||||||
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
|
<div ng-show="!index.noFocusedWallet && index.canSign">
|
||||||
|
<ion-toggle ng-model="encryptEnabled" toggle-class="toggle-balanced" ng-change="encryptChange()">
|
||||||
|
<span class="toggle-label" translate>Request Spending Password</span>
|
||||||
|
</ion-toggle>
|
||||||
|
</div>
|
||||||
|
<div class="item item-icon-right" href ui-sref="deleteWords" ng-show ="!deleted">
|
||||||
|
<span translate>Delete recovery phrase</span>
|
||||||
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
|
<div class="item item-divider">
|
||||||
|
Advanced
|
||||||
|
</div>
|
||||||
|
<div class="item item-icon-right" href ui-sref="preferencesAdvanced">
|
||||||
|
<span translate>Advanced</span>
|
||||||
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
|
|
|
||||||
|
|
@ -1,47 +1,40 @@
|
||||||
<div
|
<ion-view cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Advanced Preferences</ion-nav-title>
|
||||||
ng-init="titleSection='Advanced'; goBackToState = 'preferences'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferences">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<div class="content preferences">
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
<h4></h4>
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
<ul class="no-bullet m0">
|
<div class="list">
|
||||||
|
<div class="item item-divider">
|
||||||
<li href ui-sref="information">
|
</div>
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
<div class="item item-icon-right" href ui-sref="information">
|
||||||
<div translate>Wallet Information</div>
|
<span translate>Wallet Information</span>
|
||||||
</li>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
<li ng-show="index.network == 'livenet'" href ui-sref="paperWallet">
|
<div class="item item-icon-right" ng-show="index.network == 'livenet'" href ui-sref="paperWallet">
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
<span translate>Sweep paper wallet</span>
|
||||||
<div translate>Sweep paper wallet</div>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item item-icon-right" href ui-sref="export">
|
||||||
<li href ui-sref="export">
|
<span translate>Export Wallet</span>
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
<div translate>Export Wallet</div>
|
</div>
|
||||||
</li>
|
<div class="item item-icon-right" href ui-sref="preferencesBwsUrl">
|
||||||
|
<span translate>Wallet Service URL</span>
|
||||||
<li href ui-sref="preferencesBwsUrl">
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
</div>
|
||||||
<div>Wallet Service URL</div>
|
<div class="item item-icon-right" href ui-sref="preferencesHistory">
|
||||||
</li>
|
<span translate>Transaction History</span>
|
||||||
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
<li href ui-sref="preferencesHistory">
|
</div>
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
<div class="item item-icon-right" href ui-sref="delete">
|
||||||
<div translate>Transaction History</div>
|
<span translate>Delete Wallet</span>
|
||||||
</li>
|
<i class="icon ion-ios-arrow-right"></i>
|
||||||
|
</div>
|
||||||
<li href ui-sref="delete">
|
</div>
|
||||||
<i class="icon-arrow-right3 size-24 right text-gray"></i>
|
</ion-content>
|
||||||
<div translate>Delete Wallet</div>
|
</ion-view>
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="extra-margin-bottom"></div>
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,20 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesAliasController" cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Alias</ion-nav-title>
|
||||||
ng-init="titleSection='Alias'; goBackToState = 'preferences'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferences">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<div class="content preferences" ng-controller="preferencesAliasController">
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
<h4></h4>
|
</ion-nav-bar>
|
||||||
<form name="settingsAliasForm" ng-submit="save()" class="columns">
|
<ion-content class="has-header">
|
||||||
<label><span translate>Alias for <i>{{index.walletName}}</i></span></label>
|
<form name="aliasForm" ng-submit="save(aliasForm)" novalidate>
|
||||||
<input type="text" id="alias2" type="text" name="alias2" ng-model="alias">
|
<label class="item item-input item-stacked-label">
|
||||||
<input type="submit" class="button expand black round" value="{{'Save'|translate}}"
|
<span class="input-label" transalate>Alias for {{walletName}}</span>
|
||||||
ng-style="{'background-color':index.backgroundColor}">
|
<input type="text" id="alias" name="alias" ng-model="alias" placeholder="John" required></input>
|
||||||
</form>
|
</label>
|
||||||
<div class="text-gray size-12 text-center" translate>Changing wallet alias only affects the local wallet name.
|
<input type="submit" class="button button-block button-stable" value="{{'Save'|translate}}" ng-disabled="aliasForm.$invalid">
|
||||||
</div>
|
</form>
|
||||||
</div>
|
<div translate>Changing wallet alias only affects the local wallet name.</div>
|
||||||
<div class="extra-margin-bottom"></div>
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesBwsUrlController" cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Wallet Service URL</ion-nav-title>
|
||||||
ng-init="titleSection='Wallet Service URL'; goBackToState = 'preferencesAdvanced';">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferencesAdvanced">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<div class="content preferences" ng-controller="preferencesBwsUrlController">
|
</button>
|
||||||
<h4></h4>
|
</ion-nav-buttons>
|
||||||
<form name="settingsBwsUrlForm" ng-submit="save()" class="columns">
|
</ion-nav-bar>
|
||||||
<label class="left">Wallet Service URL</label>
|
<ion-content class="has-header">
|
||||||
<a class="right size-12" ng-click="resetDefaultUrl()" translate> Set default url</a>
|
<form name="settingsBwsUrlForm" ng-submit="save(settingsBwsUrlForm)" novalidate>
|
||||||
<input type="text" id="bwsurl" type="text" name="bwsurl" ng-model="bwsurl">
|
<label class="item item-input item-stacked-label">
|
||||||
<input type="submit" class="button expand black round" value="{{'Save'|translate}}"
|
<span class="input-label" transalate>Wallet Service URL</span><a ng-click="resetDefaultUrl()" translate> Set default url</a>
|
||||||
ng-style="{'background-color':index.backgroundColor}">
|
<input type="text" id="bwsurl" type="text" name="bwsurl" ng-model="bwsurl">
|
||||||
</form>
|
</label>
|
||||||
</div>
|
<input type="submit" class="button button-block button-stable" value="{{'Save'|translate}}"></input>
|
||||||
<div class="extra-margin-bottom"></div>
|
</form>
|
||||||
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
<div class="topbar-container" ng-include="'views/includes/topbar.html'"
|
<ion-view ng-controller="preferencesColorController" cache-view="false">
|
||||||
ng-init="titleSection='Color'; goBackToState = 'preferences'">
|
<ion-nav-bar class="bar-stable">
|
||||||
</div>
|
<ion-nav-title>Color</ion-nav-title>
|
||||||
|
<ion-nav-buttons side="primary">
|
||||||
<div class="content preferences" ng-controller="preferencesColorController">
|
<button class="button" href ui-sref="preferences">
|
||||||
<h4></h4>
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
|
</button>
|
||||||
<ion-radio class="size-12" ng-repeat="c in colorList" ng-value="c" ng-model="currentColor" ng-click="save(c)">
|
</ion-nav-buttons>
|
||||||
<span ng-style="{'color': c}">█</span>
|
</ion-nav-bar>
|
||||||
</ion-radio>
|
<ion-content class="has-header">
|
||||||
</div>
|
<ion-radio ng-repeat="c in colorList" ng-value="c" ng-model="currentColor" ng-click="save(c)">
|
||||||
|
<span ng-style="{'color': c}">█</span>
|
||||||
|
</ion-radio>
|
||||||
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,18 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesDeleteWalletController" cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Delete Wallet</ion-nav-title>
|
||||||
ng-init="titleSection='Delete Wallet'; goBackToState = 'preferencesAdvanced'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferencesAdvanced">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<div class="content preferences" ng-controller="preferencesDeleteWalletController">
|
</button>
|
||||||
<div class="text-center text-gray m20v size-12">
|
</ion-nav-buttons>
|
||||||
<div class="text-warning size-18 m10b" translate>Warning!</div>
|
</ion-nav-bar>
|
||||||
<div class="m10" translate>Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED</div>
|
<ion-content class="has-header">
|
||||||
</div>
|
<div translate>Warning!</div>
|
||||||
|
<div translate>Permanently delete this wallet. THIS ACTION CANNOT BE REVERSED</div>
|
||||||
<ul class="no-bullet m0">
|
<div class="right" ng-style="{'color':index.backgroundColor}" ng-show="!isDeletingWallet">
|
||||||
<li ng-click="deleteWallet()">
|
{{index.walletName}}<span ng-show="index.alias">({{index.alias}})</span>
|
||||||
<div class="right" ng-style="{'color':index.backgroundColor}" ng-show="!isDeletingWallet">
|
</div>
|
||||||
{{index.walletName}} <span ng-show="index.alias">({{index.alias}})</span>
|
<button class="button button-block button-stable" ng-click="deleteWallet()"translate>Delete wallet</button>
|
||||||
</div>
|
</ion-content>
|
||||||
<div translate>Delete wallet</div>
|
</ion-view>
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,26 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesDeleteWordsController" cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Delete Recovery Phrase</ion-nav-title>
|
||||||
ng-init="titleSection='Delete Recovery Phrase'; goBackToState = 'preferences'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferences">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
|
</button>
|
||||||
<div class="content preferences" ng-controller="preferencesDeleteWordsController">
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
<div ng-show="!deleted">
|
<ion-content class="has-header">
|
||||||
<div class="text-center text-gray m20t size-12">
|
<div ng-show="!deleted">
|
||||||
<div class="box-notification text-warning" ng-show="error" >
|
<div ng-show="error">
|
||||||
{{error|translate}}
|
{{error|translate}}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-warning size-18 m10b" translate>Warning!</div>
|
<div translate>Warning!</div>
|
||||||
<div class="m15" ng-show="!index.needsBackup" translate>Once you have copied your wallet recovery phrase down, it is recommended to delete it from this device.</div>
|
<div ng-show="!index.needsBackup" translate>Once you have copied your wallet recovery phrase down, it is recommended to delete it from this device.</div>
|
||||||
<div class="m15" ng-show="index.needsBackup" translate>Need to do backup</div>
|
<div ng-show="index.needsBackup" translate>Need to do backup</div>
|
||||||
|
<div ng-show="!index.needsBackup">
|
||||||
|
<button class="button button-block button-stable" ng-click="delete()" translate>Delete Recovery Phrase</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="no-bullet m0" ng-show="!index.needsBackup">
|
<div ng-show="deleted" translate>
|
||||||
<li ng-click="delete()">
|
|
||||||
<div class="right" ng-style="{'color':index.backgroundColor}">
|
|
||||||
{{index.walletName}} <span ng-show="index.alias">({{index.alias}})</span>
|
|
||||||
</div>
|
|
||||||
<div translate>Delete Recovery Phrase</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row m20t" ng-show="deleted">
|
|
||||||
<div class="columns size-14 text-gray text-center" translate>
|
|
||||||
Wallet recovery phrase not available. You can still export it from Advanced > Export.
|
Wallet recovery phrase not available. You can still export it from Advanced > Export.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,21 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesEmailController" cache-view="false">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Email Notifications</ion-nav-title>
|
||||||
ng-init="titleSection='Email Notifications'; goBackToState = 'preferences'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferences">
|
||||||
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<div class="content preferences" ng-controller="preferencesEmailController">
|
</button>
|
||||||
<h4></h4>
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
<form name="emailForm" ng-submit="save(emailForm)" class="columns" novalidate ng-init="email = index.preferences.email">
|
<ion-content class="has-header">
|
||||||
<div class="box-notification" ng-show="error">
|
<form name="emailForm" ng-submit="save(emailForm)" novalidate>
|
||||||
<span class="text-warning size-14">
|
<label class="item item-input item-stacked-label">
|
||||||
{{error|translate}}
|
<span class="input-label" transalate>Email for wallet notifications</span>
|
||||||
</span>
|
<input type="email" id="email" name="email" ng-model="email" required></input>
|
||||||
|
</label>
|
||||||
|
<input type="submit" class="button button-block button-stable" value="{{'Save'|translate}}" ng-disabled="emailForm.$invalid">
|
||||||
|
</form>
|
||||||
|
<div translate>Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more.
|
||||||
</div>
|
</div>
|
||||||
|
</ion-content>
|
||||||
<label translate>Email for wallet notifications</label>
|
</ion-view>
|
||||||
<input type="email" id="email" name="email" ng-model="email" required>
|
|
||||||
<input type="submit" class="button expand black round" value="{{'Save'|translate}}"
|
|
||||||
ng-style="{'background-color':index.backgroundColor}" ng-disabled="emailForm.$invalid && !index.preferences.email">
|
|
||||||
</form>
|
|
||||||
<div class="text-gray size-12 text-center" translate>Setting up email notifications could weaken your privacy, if the wallet service provider is compromised. Information available to an attacker would include your wallet addresses and its balance, but no more.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="extra-margin-bottom"></div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,25 @@
|
||||||
<div
|
<ion-view ng-controller="preferencesHistory" cache-view="false" ng-init="index.updatingTxHistory ? null : csvHistory()">
|
||||||
class="topbar-container"
|
<ion-nav-bar class="bar-stable">
|
||||||
ng-include="'views/includes/topbar.html'"
|
<ion-nav-title>Transaction History</ion-nav-title>
|
||||||
ng-init="titleSection='Transaction History'; goBackToState = 'preferencesAdvanced'">
|
<ion-nav-buttons side="primary">
|
||||||
</div>
|
<button class="button" href ui-sref="preferencesAdvanced">
|
||||||
<div class="content preferences" ng-controller="preferencesHistory">
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<h4></h4>
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
<ul class="no-bullet m0" ng-init="index.updatingTxHistory ? null : csvHistory()">
|
</ion-nav-bar>
|
||||||
<li ng-show="csvReady && !index.isCordova"
|
<ion-content class="has-header">
|
||||||
ng-csv="csvContent" csv-header="csvHeader" filename="Copay-{{index.alias || index.walletName}}.csv">
|
<div class="item item-divider"></div>
|
||||||
<span ng-style="{'color':index.backgroundColor}" translate>
|
<div class="item" ng-show="csvReady && !index.isCordova" ng-csv="csvContent" csv-header="csvHeader" filename="Copay-{{index.alias || index.walletName}}.csv">
|
||||||
Export to file
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
<li ng-show="!csvReady && !index.isCordova">
|
|
||||||
<span class="right text-gray text-italic" translate>preparing...</span>
|
|
||||||
<span translate>Export to file</span>
|
<span translate>Export to file</span>
|
||||||
</li>
|
</div>
|
||||||
<li ng-click="clearTransactionHistory()" ng-style="{'color':index.backgroundColor}" translate>
|
<div class="item" ng-show="!csvReady && !index.isCordova">
|
||||||
Clear cache
|
<span translate>Export to file</span>
|
||||||
</li>
|
<span class="item-note" translate>
|
||||||
</ul>
|
preparing...
|
||||||
</div>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="item" ng-click="clearTransactionHistory()">
|
||||||
|
<span translate>Clear cache</span>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
</ion-view>
|
||||||
|
|
|
||||||
|
|
@ -1,147 +1,137 @@
|
||||||
<div
|
|
||||||
class="topbar-container"
|
|
||||||
ng-include="'views/includes/topbar.html'"
|
|
||||||
ng-init="titleSection='Wallet Information'; goBackToState = 'preferencesAdvanced'">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content preferences" ng-controller="preferencesInformation" ng-init="init()">
|
<ion-view ng-controller="preferencesInformation" cache-view="false" ng-init="init()">
|
||||||
<h4 class="title m0" translate>Wallet Information</h4>
|
<ion-nav-bar class="bar-stable">
|
||||||
|
<ion-nav-title>Wallet Information</ion-nav-title>
|
||||||
<ul class="no-bullet m0 size-14">
|
<ion-nav-buttons side="primary">
|
||||||
<li class="line-b p20 oh " ng-if="androidTest">
|
<button class="button" href ui-sref="preferencesAdvanced">
|
||||||
<span style="color:red" translate>BETA: Android Key Derivation Test:</span>
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
<span class="right text-gray">
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
|
<div class="list">
|
||||||
|
<div class="item item-divider">
|
||||||
|
Wallet Information
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<span translate>BETA: Android Key Derivation Test:</span>
|
||||||
|
<span class="item-note">
|
||||||
{{androidTest}}
|
{{androidTest}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item" ng-click="saveBlack()">
|
||||||
<li class="line-b p20 oh" ng-click="saveBlack()">
|
|
||||||
<span translate>Wallet Name (at creation)</span>
|
<span translate>Wallet Name (at creation)</span>
|
||||||
<span class="right text-gray">
|
<span class="item-note">
|
||||||
{{walletName}}
|
{{walletName}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item" ng-click="copyToClipboard(walletId)">
|
||||||
<li class="line-b p20 oh" ng-click="copyToClipboard(walletId)">
|
|
||||||
<span translate>Wallet Id</span>
|
<span translate>Wallet Id</span>
|
||||||
<span class="right text-gray enable_text_select">
|
<span class="item-note">
|
||||||
{{walletId}}
|
{{walletId}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item">
|
||||||
<li class="line-b p20 oh">
|
|
||||||
<span translate>Wallet Configuration (m-n)</span>
|
<span translate>Wallet Configuration (m-n)</span>
|
||||||
<span class="right text-gray">
|
<span class="item-note">
|
||||||
{{M}}-{{N}}
|
{{M}}-{{N}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item">
|
||||||
<li class="line-b p20 oh">
|
|
||||||
<span translate>Wallet Network</span>
|
<span translate>Wallet Network</span>
|
||||||
<span class="right text-gray">
|
<span class="item-note">
|
||||||
{{network}}
|
{{network}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item">
|
||||||
<li class="line-b p20 oh">
|
|
||||||
<span translate>Address Type</span>
|
<span translate>Address Type</span>
|
||||||
<span class="right text-gray">
|
<span class="item-note">
|
||||||
{{addressType}}
|
{{addressType}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item">
|
||||||
<li class="line-b p20 oh">
|
|
||||||
<span translate>Derivation Strategy</span>
|
<span translate>Derivation Strategy</span>
|
||||||
<span class="right text-gray">
|
<span class="item-note">
|
||||||
{{derivationStrategy}}
|
{{derivationStrategy}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item" ng-show="index.externalSource">
|
||||||
<li class="line-b p20 oh" ng-show="index.externalSource">
|
<span translate>Hardware Wallet</span>
|
||||||
<span>Hardware Wallet</span>
|
<span class="item-note">
|
||||||
<span class="right text-gray capitalize">
|
{{index.externalSource}}
|
||||||
{{index.externalSource}}
|
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item" ng-show="!index.externalSource && !index.canSign">
|
||||||
<li class="line-b p20 oh" ng-show="!index.externalSource && !index.canSign">
|
|
||||||
<span translate></span>
|
<span translate></span>
|
||||||
<span class="right text-gray capitalize">
|
<span class="item-note">
|
||||||
No private key
|
No private key
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
<div class="item" ng-show="index.account">
|
||||||
<li class="line-b p20 oh" ng-show="index.account">
|
<span translate>Account</span>({{derivationStrategy}})
|
||||||
<span translate>Account</span> ({{derivationStrategy}})
|
<span class="item-note">
|
||||||
<span class="right text-gray">
|
|
||||||
#{{index.account}}
|
#{{index.account}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
|
|
||||||
<h4 class="title m0" translate>Copayers</h4>
|
<div class="item item-divider">
|
||||||
<li ng-repeat="copayer in index.copayers">
|
Copayers
|
||||||
<span class="size-12" ng-show="copayer.id == index.copayerId">
|
</div>
|
||||||
<i class="icon-contact size-24 m10r"></i> {{copayer.name}} ({{'Me'|translate}}) <i class="fi-check m5 right"></i>
|
|
||||||
</span>
|
|
||||||
<span class="size-12 text-gray" ng-show="copayer.id != index.copayerId">
|
|
||||||
<i class="icon-contact size-24 m10r"></i> {{copayer.name}}<i class="fi-check m5 right"></i>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<h4 class="title m0" translate>Extended Public Keys</h4>
|
<div class="item item-icon-right" ng-repeat="copayer in index.copayers">
|
||||||
<li ng-repeat="pk in pubKeys" ng-click="copyToClipboard(pk)">
|
<span ng-show="copayer.id == index.copayerId" translate>{{copayer.name}} ({{'Me'|translate}})</span>
|
||||||
<div class="row collapse">
|
<span ng-style="{'color': 'grey';}" ng-show="copayer.id != index.copayerId" translate>{{copayer.name}}</span>
|
||||||
<div class="small-4 columns">Copayer {{$index}}</div>
|
<i class="icon ion-ios-checkmark-outline"></i>
|
||||||
<div class="small-8 columns oh text-gray">
|
</div>
|
||||||
<div class="ellipsis enable_text_select">{{pk}}</div>
|
|
||||||
<div class="size-12 text-right" ng-if="$index == 0">
|
<div class="item item-divider">
|
||||||
({{basePath}})
|
Extended Public Keys
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
<div class="item" ng-repeat="pk in pubKeys" ng-click="copyToClipboard(pk)">
|
||||||
|
<span translate>Copayer {{$index}}<</span>
|
||||||
|
<i class="icon ion-ios-checkmark-outline"></i>
|
||||||
|
<span class="item-note">
|
||||||
|
<span>Copayer {{$index}}</span>
|
||||||
|
<span>{{pk}}</span>
|
||||||
|
<span ng-if="$index == 0">({{basePath}})</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-show="addrs">
|
||||||
|
<div class="item item-divider">
|
||||||
|
Last Wallet Addresses
|
||||||
</div>
|
</div>
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div ng-show="addrs">
|
<div class="item" ng-repeat="a in addrs" class="oh" ng-click="copyToClipboard(a.address)">
|
||||||
<h4 class="title m0" translate>Last Wallet Addresses</h4>
|
<span>{{a.address}}</span>
|
||||||
<ul class="no-bullet m0">
|
<span>{{a.path}} · {{a.createdOn *1000 | amDateFormat:'MMMM Do YYYY, h:mm a' }}</span>
|
||||||
<li ng-repeat="a in addrs" class="oh" ng-click="copyToClipboard(a.address)">
|
<i class="icon ion-ios-checkmark-outline"></i>
|
||||||
<div class="enable_text_select ellipsis">
|
</div>
|
||||||
{{a.address}}
|
<div translate>
|
||||||
</div>
|
Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time.
|
||||||
<div class="text-gray size-12 right enable_text_select">
|
</div>
|
||||||
{{a.path}} · {{a.createdOn *1000 | amDateFormat:'MMMM Do YYYY, h:mm a' }}
|
<ul class="no-bullet m0">
|
||||||
</div>
|
<li ng-style="{'color':index.backgroundColor}" href ui-sref="walletHome" ng-click="index.retryScan()" translate>
|
||||||
</li>
|
Scan addresses for funds
|
||||||
</ul>
|
</li>
|
||||||
<div class="text-centered text-gray size-12 m10" translate>
|
<li ng-style="{'color':index.backgroundColor}" ng-show="index.isCordova" ng-click="sendAddrs()" translate>
|
||||||
Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time.
|
Send addresses by email
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="no-bullet m0">
|
<div ng-show="index.balanceByAddress" ng-if="index.balanceByAddress[0]">
|
||||||
<li ng-style="{'color':index.backgroundColor}" href ui-sref="walletHome" ng-click="index.retryScan()" translate>
|
<div class="item item-divider">
|
||||||
Scan addresses for funds
|
Balance By Address
|
||||||
</li>
|
</div>
|
||||||
<li ng-style="{'color':index.backgroundColor}" ng-show="index.isCordova" ng-click="sendAddrs()" translate>
|
<div class="item" ng-repeat="a in index.balanceByAddress" ng-click="copyToClipboard(a.address)">
|
||||||
Send addresses by email
|
<span>{{a.address}}</span>
|
||||||
</li>
|
<span class="item-note">
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul class="no-bullet m0 size-14" ng-show="index.balanceByAddress">
|
|
||||||
<div ng-if="index.balanceByAddress[0]">
|
|
||||||
<h4 class="title m0" translate>Balance By Address</h4>
|
|
||||||
<li class="line-b p20 oh" ng-repeat="a in index.balanceByAddress" ng-click="copyToClipboard(a.address)">
|
|
||||||
<div class="enable_text_select ellipsis">
|
|
||||||
{{a.address}}
|
|
||||||
</div>
|
|
||||||
<div class="text-gray text-right">
|
|
||||||
{{(a.amount/1e8).toFixed(8)}} BTC
|
{{(a.amount/1e8).toFixed(8)}} BTC
|
||||||
</div>
|
</span>
|
||||||
</li>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</div>
|
||||||
|
</ion-content>
|
||||||
<h4></h4>
|
</ion-view>
|
||||||
<div class="extra-margin-bottom"></div>
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<ion-view ng-controller="preferencesLanguageController" ng-init="init()" cache-view="false">
|
<ion-view ng-controller="preferencesLanguageController" ng-init="init()" cache-view="false">
|
||||||
<ion-nav-bar class="bar-stable">
|
<ion-nav-bar class="bar-stable">
|
||||||
<ion-nav-title>Languages</ion-nav-title>
|
<ion-nav-title>Languages</ion-nav-title>
|
||||||
<ion-nav-buttons side="primary">
|
<ion-nav-buttons side="primary">
|
||||||
<button class="button" href ui-sref="tabs.settings">
|
<button class="button" href ui-sref="tabs.settings">
|
||||||
<i class="ion-arrow-left-c"></i> Back
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
</button>
|
</button>
|
||||||
</ion-nav-buttons>
|
</ion-nav-buttons>
|
||||||
</ion-nav-bar>
|
</ion-nav-bar>
|
||||||
<ion-content>
|
<ion-content>
|
||||||
<ion-radio ng-repeat="lang in availableLanguages" ng-value="lang.isoCode" ng-model="currentLanguage"
|
<ion-radio ng-repeat="lang in availableLanguages" ng-value="lang.isoCode" ng-model="currentLanguage"
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,13 @@
|
||||||
<ion-nav-title>{{wallet.name}}</ion-nav-title>
|
<ion-nav-title>{{wallet.name}}</ion-nav-title>
|
||||||
|
|
||||||
<ion-nav-buttons side="primary">
|
<ion-nav-buttons side="primary">
|
||||||
<button class="button" href ui-sref="tabs.home">
|
<button class="button" href ui-sref="tabs.home">
|
||||||
<i class="ion-arrow-left-c"></i> Back
|
<i class="ion-arrow-left-c"></i> Back
|
||||||
</button>
|
</button>
|
||||||
</ion-nav-buttons>
|
</ion-nav-buttons>
|
||||||
|
<ion-nav-buttons side="secondary">
|
||||||
|
<button class="button button-icon icon ion-ios-settings" href ui-sref="preferences"></button>
|
||||||
|
</ion-nav-buttons>
|
||||||
|
|
||||||
<ion-content delegate-handle="my-handle" overflow-scroll="true">
|
<ion-content delegate-handle="my-handle" overflow-scroll="true">
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,14 @@
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesAliasController',
|
angular.module('copayApp.controllers').controller('preferencesAliasController',
|
||||||
function($scope, $timeout, configService, profileService, go) {
|
function($scope, $timeout, configService, profileService, go) {
|
||||||
|
|
||||||
var fc = profileService.focusedClient;
|
var fc = profileService.focusedClient;
|
||||||
var walletId = fc.credentials.walletId;
|
var walletId = fc.credentials.walletId;
|
||||||
var config = configService.getSync();
|
var config = configService.getSync();
|
||||||
|
|
||||||
config.aliasFor = config.aliasFor || {};
|
config.aliasFor = config.aliasFor || {};
|
||||||
$scope.alias = config.aliasFor[walletId] || fc.credentials.walletName;
|
$scope.walletName = fc.credentials.walletName;
|
||||||
|
$scope.alias = config.aliasFor[walletId] || $scope.walletName;
|
||||||
|
|
||||||
$scope.save = function() {
|
$scope.save = function() {
|
||||||
var opts = {
|
var opts = {
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,18 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, $scope, go, profileService, walletService) {
|
angular.module('copayApp.controllers').controller('preferencesEmailController', function($rootScope, $scope, go, profileService, walletService) {
|
||||||
|
|
||||||
$scope.save = function(form) {
|
$scope.save = function(form) {
|
||||||
$scope.error = null;
|
|
||||||
$scope.saving = true;
|
|
||||||
var fc = profileService.focusedClient;
|
var fc = profileService.focusedClient;
|
||||||
var email = $scope.email || '';
|
var email = $scope.email || '';
|
||||||
|
|
||||||
walletService.updateRemotePreferences(fc, {
|
walletService.updateRemotePreferences(fc, {
|
||||||
email: email,
|
email: email,
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
$scope.saving = false;
|
|
||||||
if (!err)
|
if (!err)
|
||||||
$rootScope.$emit('Local/EmailUpdated', email);
|
$rootScope.$emit('Local/EmailUpdated', email);
|
||||||
go.path('preferences');
|
go.path('preferences');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue