Merge pull request #1729 from cmgustavo/bug/06-ui

Bug/06 ui
This commit is contained in:
Matias Alejo Garcia 2014-11-05 19:43:55 -03:00
commit 8a13fb84f4
12 changed files with 299 additions and 249 deletions

View File

@ -630,7 +630,6 @@ a.button-setup {
width: 100%;
padding: 0.3rem 0.7rem;
color: white;
border-bottom: 1px solid #374756;
}
.hidden {
@ -808,6 +807,12 @@ input[type=number]::-webkit-outer-spin-button {
background-color: #1ABC9C;
}
.addresses .label {
font-weight: normal;
padding: .2rem .3rem;
font-size: 8px;
}
.label.success {
background-color: #1ABC9C;
}

View File

@ -39,7 +39,7 @@
margin-top: 40px;
margin-left: 0;
margin-bottom: -40px;
padding: 20px 10px 60px 10px;
padding: 20px 0 60px 0;
}
.tab-bar {
@ -116,8 +116,8 @@
color: white;
}
.addresses .panel {
padding: 1rem 0.8rem;
.panel {
padding: 0.5rem;
}
.btn-copy {
@ -184,3 +184,18 @@
}
@media (max-width: 640px) {
.tx-date {
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
.tx-comment {
border-top: 1px solid #eee;
padding-top: 10px;
margin-top: 10px;
}
}

View File

@ -2823,7 +2823,7 @@ Wallet.prototype.getTransactionHistory = function(cb) {
return {
type: 'out',
address: addr ? addr : itemAddr,
address: addr ? addr.addressStr : itemAddr,
isMine: !_.isUndefined(addr),
isChange: addr ? !!addr.isChange : false,
label: self.addressBook[itemAddr] ? self.addressBook[itemAddr].label : undefined,
@ -2880,6 +2880,7 @@ Wallet.prototype.getTransactionHistory = function(cb) {
});
tx.comment = proposal ? proposal.comment : undefined;
tx.labelTo = firstOut ? firstOut.label : undefined;
tx.addressTo = firstOut ? firstOut.address : undefined;
tx.amountSat = Math.abs(amount);
tx.amount = tx.amountSat * satToUnit;
tx.sentTs = proposal ? proposal.sentTs : undefined;

View File

@ -4,54 +4,56 @@
<span translate>Creating wallet...</span>
</div>
<div class="setup" ng-show="!loading">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<form name="setupForm" ng-submit="create(setupForm)" novalidate>
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div class="large-12 columns panel">
<div class="row collapse">
<label><span translate>Wallet name</span>
<input type="text" placeholder="{{'Family vacation funds'|translate}}" class="form-control" ng-model="walletName">
</label>
<div class="row">
<div class="large-6 medium-6 columns">
<label><span translate>Select total number of copayers (*)</span>
<select ng-model="totalCopayers" ng-options="totalCopayers as totalCopayers for totalCopayers in TCValues">
</select>
</label>
</div>
<div class="large-6 medium-6 columns">
<label><span translate>Select required signatures (*)</span>
<select ng-model="requiredCopayers" ng-options="requiredCopayers as requiredCopayers for requiredCopayers in RCValues" ng-disabled="totalCopayers == 1">
</select>
</label>
</div>
</div>
<div class="box-setup-copayers">
<div class="box-setup-copayers p10 oh">
<div class="copay-box" ng-class="{'box-setup-copay-required': ($index+1) <= requiredCopayers}" ng-repeat="i in getNumber(totalCopayers) track by $index">
<span ng-include="'views/includes/photo.html'"></span>
<div class="row">
<div class="large-12 columns">
<div class="panel">
<label><span translate>Wallet name</span>
<input type="text" placeholder="{{'Family vacation funds'|translate}}" class="form-control" ng-model="walletName">
</label>
<div class="row">
<div class="large-6 medium-6 columns">
<label><span translate>Select total number of copayers (*)</span>
<select ng-model="totalCopayers" ng-options="totalCopayers as totalCopayers for totalCopayers in TCValues">
</select>
</label>
</div>
<div class="large-6 medium-6 columns">
<label><span translate>Select required signatures (*)</span>
<select ng-model="requiredCopayers" ng-options="requiredCopayers as requiredCopayers for requiredCopayers in RCValues" ng-disabled="totalCopayers == 1">
</select>
</label>
</div>
</div>
</div>
<p translate class="comment" ng-show="totalCopayers>1">(*) The limits are imposed by the bitcoin network.</p>
<div class="box-setup-copayers">
<div class="box-setup-copayers p10 oh">
<div class="copay-box" ng-class="{'box-setup-copay-required': ($index+1) <= requiredCopayers}" ng-repeat="i in getNumber(totalCopayers) track by $index">
<span ng-include="'views/includes/photo.html'"></span>
</div>
</div>
</div>
<p translate class="comment" ng-show="totalCopayers>1">(*) The limits are imposed by the bitcoin network.</p>
<div class="line-dashed-h"></div>
<div class="line-dashed-h"></div>
<div class="m20t m20b">
<a class="small" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show</span>
<span translate ng-hide="hideAdv">Hide</span>
<span translate>advanced options</span>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<input id="network-name" type="checkbox" ng-model="networkName" ng-true-value="testnet" ng-false-value="livenet" class="form-control" ng-checked="networkName == 'testnet' ? true : false">
<label for="network-name" translate>Use test network</label>
<div class="m20t m20b">
<a class="small" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show</span>
<span translate ng-hide="hideAdv">Hide</span>
<span translate>advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<input id="network-name" type="checkbox" ng-model="networkName" ng-true-value="testnet" ng-false-value="livenet" class="form-control" ng-checked="networkName == 'testnet' ? true : false">
<label for="network-name" translate>Use test network</label>
<p>
<input type="text" placeholder="BIP32 master extended private key (hex)" name="private" ng-model="private">
</div>
<p>
<input type="text" placeholder="BIP32 master extended private key (hex)" name="private" ng-model="private">
</div>
<div class="text-right">
@ -64,9 +66,10 @@
</button>
</div>
<div ng-show="showNetwork()"><p translate class="size-12">Using network: {{networkName}} at <a href="{{networkUrl}}" target="_blank">{{networkUrl}}</a></p></div>
</div>
</div>
</div>
</div>
</form>
</div>
</form>
</div>
</div>

View File

@ -1,9 +1,11 @@
<div class="wide-page">
<div ng-init="$root.title = 'Page not found'"
ng-class="{'wide-page':!$root.wallet}">
<div class="text-center">
<img src="img/logo-negative-beta.svg" alt="Copay">
<img ng-show="$root.wallet" src="img/logo.svg" alt="Copay">
<img ng-show="!$root.wallet" src="img/logo-negative.svg" alt="Copay">
</div>
<h1 class="text-center text-white">404</h1>
<h3 translate class="text-center text-white">Page not found</h3>
<h1 class="text-center" ng-class="{'text-white': !$root.wallet}">404</h1>
<h3 translate class="text-center" ng-class="{'text-white': !$root.wallet}">Page not found</h3>
<p class="text-center"><a href="#!/">&laquo; <span translate>Back</span></a></p>
</div>

View File

@ -1,5 +1,6 @@
<div class="transactions" data-ng-controller="HistoryController" data-ng-init="update()">
<div ng-show='$root.wallet.isReady()'>
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div ng-if="loading" class="m20b">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
<span translate>Loading...</span>
@ -15,20 +16,29 @@
<div class="panel oh"
ng-repeat="btx in blockchain_txs | orderBy: 'time':true" ng-click="btx.showDetails = !btx.showDetails">
<div class="row size-14">
<div class="large-2 medium-3 small-12 columns">
<span ng-hide="btx.ts">&nbsp;</span>
<time ng-if="btx.ts">{{btx.ts | amCalendar}}</time>
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
<div class="large-2 medium-2 small-12 columns">
<div class="tx-date">
<time ng-if="btx.ts">{{btx.ts | amCalendar}}</time>
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
</div>
</div>
<div class="large-2 medium-3 small-6 columns text-right">
<div ng-class="{
<div class="large-2 medium-3 small-5 columns text-right">
<div class="tx-amount" ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<b>{{btx.amount| noFractionNumber}} {{$root.wallet.settings.unitName}}</b>
</div>
</div>
<div class="large-1 medium-1 small-2 columns text-center">
<div ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<i class="m15h"
ng-class="{
'fi-arrow-left' : btx.action == 'received',
@ -37,13 +47,13 @@
</div>
</div>
<div class="large-3 medium-3 small-6 columns text-gray">
<span ng-hide="btx.labelTo">&nbsp;</span>
<span ng-show="btx.labelTo">{{btx.labelTo}}</span>
<div class="large-3 medium-3 small-5 columns text-gray">
<span class="ellipsis">{{btx.labelTo || btx.addressTo}}</span>
</div>
<div class="large-4 medium-3 small-12 columns text-gray">
<span ng-show="btx.comment"><i class="fi-comment-quotes"></i> {{btx.comment}} </span>
<div class="large-3 medium-3 small-12 columns text-gray">
<div class="tx-comment" ng-show="btx.comment">
<i class="fi-comment-quotes"></i> {{btx.comment}}</div>
</div>
<div class="large-1 columns show-for-large-up text-gray text-right" ng-init="btx.showDetails = false">

View File

@ -4,44 +4,45 @@
{{ importStatus|translate }}
</div>
<div class="row" ng-show="!loading">
<div class="large-12 columns panel">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<form name="importForm" ng-submit="import(importForm)" novalidate>
<div ng-show="!loading">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div class="row">
<div class="large-12 columns">
<div class="panel">
<form name="importForm" ng-submit="import(importForm)" novalidate>
<div ng-show="!is_iOS && !backupOldWallet">
<legend for="backupFile" class="m10b">
<span translate>Choose backup file from your computer</span> <i class="fi-laptop"></i>
</legend>
<input type="file" class="form-control"
placeholder="{{'Select a backup file'|translate}}" name="backupFile" ng-model="backupFile" ng-file-select>
placeholder="{{'Select a backup file'|translate}}" name="backupFile" ng-model="backupFile" ng-file-select>
</div>
<div ng-show="is_iOS && !backupOldWallet">
<label for="backupText" class="m10b">
<span translate>Paste backup plain text code</span> <i class="fi-clipboard"></i>
</label>
<textarea class="form-control"
name="backupText"
ng-model="backupText"
rows="5"></textarea>
<label for="backupText" class="m10b">
<span translate>Paste backup plain text code</span> <i class="fi-clipboard"></i>
</label>
<textarea class="form-control"
name="backupText"
ng-model="backupText"
rows="5"></textarea>
</div>
<div ng-show="anyWallet && (!backupFile || !backupText)">
<label for="backupOldWAllet" class="m10b size-14">
<span translate>You have old wallets in your localStorage. Choose one to import</span> <i class="fi-bitcoin"></i>
</label>
<select ng-model="backupOldWallet" name="backupOldWallet"
ng-options="wallet.name for wallet in oldWallets">
<option value="">-- choose wallet --</option>
</select>
<select ng-model="backupOldWallet" name="backupOldWallet"
ng-options="wallet.name for wallet in oldWallets">
<option value="">-- choose wallet --</option>
</select>
</div>
<label for="password" class="m10b"><span translate>Password</span> <small translate>Required</small></label>
<input type="password" class="form-control"
placeholder="{{'Your wallet password'|translate}}" name="password" ng-model="password" required>
<div class="line-dashed-h m10b m20t"></div>
<a class="expand small" ng-click="hideAdv=!hideAdv">
@ -49,39 +50,43 @@
<span translate ng-hide="!hideAdv">Show</span>
<span translate ng-hide="hideAdv">Hide</span>
<span translate>advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
<div ng-hide="hideAdv" class="m10t">
<label>
<input type="checkbox" class="form-control"
name="skipPublicKeyRing" ng-model="skipPublicKeyRing">
<span translate>Skip public keys from peers</span>
<input type="checkbox" class="form-control"
name="skipPublicKeyRing" ng-model="skipPublicKeyRing">
<span translate>Skip public keys from peers</span>
</label>
<label>
<input type="checkbox" class="form-control"
name="skipTxProposals" ng-model="skipTxProposals">
<span translate>Skip transaction proposals from Backup</span>
<input type="checkbox" class="form-control"
name="skipTxProposals" ng-model="skipTxProposals">
<span translate>Skip transaction proposals from Backup</span>
</label>
</div>
<div data-alert ng-show="skipFields">
<i class="size-18 fi-alert"></i>
<span translate>Skipping fields: {{skipFields}}</span>
</div>
<div class="text-right m20t">
<a class="back-button m20r text-black" href="#!/manage">
<i class="icon-arrow-left2 vm"></i>
<span translate>Back</span>
</a>
<button translate type="submit" class="button black m0" ng-disabled="importForm.$invalid">
Import backup
</button>
</div>
</form>
<div data-alert ng-show="skipFields">
<i class="size-18 fi-alert"></i>
<span translate>Skipping fields: {{skipFields}}</span>
</div>
<div class="text-right m20t">
<a class="back-button m20r text-black" href="#!/manage">
<i class="icon-arrow-left2 vm"></i>
<span translate>Back</span>
</a>
<button translate type="submit" class="button black m0" ng-disabled="importForm.$invalid">
Import backup
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

View File

@ -31,7 +31,7 @@
</a>
</div>
</header>
<div class="locked" ng-show="lockedBalance">
<div class="locked" ng-show="lockedBalance && !walletSelection">
<span class="text-gray">
<i class="fi-lock"></i> {{'Locked'|translate}} &nbsp;
</span>

View File

@ -6,73 +6,76 @@
<div ng-show="!loading">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div class="large-12 columns panel">
<div class="row collapse">
<div class="row">
<div class="large-12 columns">
<form name="joinForm" ng-submit="join(joinForm)" novalidate>
<div class="panel">
<label for="connectionId"><span translate>Wallet Secret</span>
<small translate class="has-error" ng-show="joinForm.connectionId.$invalid
&& !joinForm.connectionId.$pristine">Wallet Secret is not valid!</small>
<small translate data-options="disable_for_touch:true" ng-show="joinForm.connectionId.$pristine" class="has-tip
text-gray" tooltip="Paste wallet secret here">Required</small>
</label>
<label for="connectionId"><span translate>Wallet Secret</span>
<small translate class="has-error" ng-show="joinForm.connectionId.$invalid
&& !joinForm.connectionId.$pristine">Wallet Secret is not valid!</small>
<small translate data-options="disable_for_touch:true" ng-show="joinForm.connectionId.$pristine" class="has-tip
text-gray" tooltip="Paste wallet secret here">Required</small>
</label>
<div class="row collapse">
<div class="large-10 medium-10 small-10 columns pr">
<input id="connectionId" type="text" class="small-9 columns"
placeholder="{{'Paste wallet secret here'|translate}}"
name="connectionId" ng-model="connectionId" wallet-secret required>
<small class="icon-input" ng-show="joinForm.connectionId.$invalid && !joinForm.connectionId.$pristine"><i class="fi-x"></i></small>
<small class="icon-input" ng-show="joinForm.connectionId.$valid
&& !joinForm.connectionId.$pristine"><i class="fi-check"></i></small>
</div>
<div class="small-2 columns" ng-hide="showScanner || disableScanner">
<a class="postfix button black" ng-click="openScanner()"><i class="fi-camera">&nbsp;</i></a>
</div>
<div class="small-2 columns" ng-show="showScanner">
<a class="postfix button warning" ng-click="cancelScanner()"><i class="fi-x">&nbsp;</i></a>
</div>
</div>
<div class="row collapse">
<div class="large-10 medium-10 small-10 columns pr">
<input id="connectionId" type="text" class="small-9 columns"
placeholder="{{'Paste wallet secret here'|translate}}"
name="connectionId" ng-model="connectionId" wallet-secret required>
<small class="icon-input" ng-show="joinForm.connectionId.$invalid && !joinForm.connectionId.$pristine"><i class="fi-x"></i></small>
<small class="icon-input" ng-show="joinForm.connectionId.$valid
&& !joinForm.connectionId.$pristine"><i class="fi-check"></i></small>
</div>
<div class="small-2 columns" ng-hide="showScanner || disableScanner">
<a class="postfix button black" ng-click="openScanner()"><i class="fi-camera">&nbsp;</i></a>
</div>
<div class="small-2 columns" ng-show="showScanner">
<a class="postfix button warning" ng-click="cancelScanner()"><i class="fi-x">&nbsp;</i></a>
</div>
</div>
<div id="scanner" class="row" ng-if="showScanner">
<div class="text-centered">
<canvas id="qr-canvas" width="200" height="150"></canvas>
<div ng-show="isMobile">
<div id="file-input-wrapper" class="btn btn-primary">
<span class="pull-left text-centered">
<i class="glyphicon glyphicon-refresh icon-rotate"></i>
<span translate>Get QR code</span>
</span>
<input id="qrcode-camera" type="file" capture="camera" accept="image/*">
<div id="scanner" class="row" ng-if="showScanner">
<div class="text-centered">
<canvas id="qr-canvas" width="200" height="150"></canvas>
<div ng-show="isMobile">
<div id="file-input-wrapper" class="btn btn-primary">
<span class="pull-left text-centered">
<i class="glyphicon glyphicon-refresh icon-rotate"></i>
<span translate>Get QR code</span>
</span>
<input id="qrcode-camera" type="file" capture="camera" accept="image/*">
</div>
</div>
<div ng-hide="isMobile">
<video id="qrcode-scanner-video" width="300" height="225" ng-hide="isMobile"></video>
</div>
</div>
<div ng-hide="isMobile">
<video id="qrcode-scanner-video" width="300" height="225" ng-hide="isMobile"></video>
</div>
</div>
</div>
<div class="line-dashed-h"></div>
<div class="line-dashed-h"></div>
<div class="m20t m20b">
<a class="expand small" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show</span>
<span translate ng-hide="hideAdv">Hide</span>
<span translate>advanced options</span>
</a>
</div>
<div ng-hide="hideAdv">
<p>
<input type="text" placeholder="BIP32 master extended private key (hex)" name="private" ng-model="$parent.private">
</div>
<div class="m20t m20b">
<a class="expand small" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show</span>
<span translate ng-hide="hideAdv">Hide</span>
<span translate>advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv">
<p>
<input type="text" placeholder="BIP32 master extended private key (hex)" name="private" ng-model="$parent.private">
</div>
<div class="text-right">
<a class="back-button m20r" href="#!/manage">
<i class="icon-arrow-left2 vm"></i>
<span translate>Back</span>
</a>
<button translate type="submit" class="button secondary m0" ng-disabled="joinForm.$invalid">Join</button>
<div class="text-right">
<a class="back-button m20r" href="#!/manage">
<i class="icon-arrow-left2 vm"></i>
<span translate>Back</span>
</a>
<button translate type="submit" class="button secondary m0" ng-disabled="joinForm.$invalid">Join</button>
</div>
</div>
</form>
</div>

View File

@ -1,49 +1,49 @@
<div class="backup" ng-controller="ManageController">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div class="row collapse">
<div class="large-12 columns">
<div class="large-4 columns" >
<div class="panel text-center" ui-route="{{create}}">
<div><i class="size-72 fi-plus text-gray"></i></div>
<p class="text-gray">Create a new Wallet</p>
<a href="#!/create" class="button primary radius" title="Create"> {{'Create' | translate }} </a>
</div>
</div>
<div class="large-4 columns" ui-route="{{create}}">
<div class="panel text-center">
<div><i class="size-72 fi-torsos-all text-gray"></i></div>
<p class="text-gray">Join an existent Wallet</p>
<a href="#!/join" class="button secondary radius" title="Join"> {{'Join' | translate }} </a>
</div>
</div>
<div class="large-4 columns" ui-route="{{create}}">
<div class="panel text-center">
<div><i class="size-72 fi-download text-gray"></i></div>
<p class="text-gray">Import a Wallet to Copay</p>
<a href="#!/import" class="button black radius" title="Import"> {{'Import wallet' | translate }}</a>
</div>
</div>
<div class="row">
<div class="large-4 columns" >
<div class="panel text-center" ui-route="{{create}}">
<div><i class="size-72 fi-plus text-gray"></i></div>
<p class="text-gray">Create a new Wallet</p>
<a href="#!/create" class="button primary radius" title="Create"> {{'Create' | translate }} </a>
</div>
</div>
<div class="large-4 columns" ui-route="{{create}}">
<div class="panel text-center">
<div><i class="size-72 fi-torsos-all text-gray"></i></div>
<p class="text-gray">Join an existent Wallet</p>
<a href="#!/join" class="button secondary radius" title="Join"> {{'Join' | translate }} </a>
</div>
</div>
<div class="large-4 columns" ui-route="{{create}}">
<div class="panel text-center">
<div><i class="size-72 fi-download text-gray"></i></div>
<p class="text-gray">Import a Wallet to Copay</p>
<a href="#!/import" class="button black radius" title="Import"> {{'Import wallet' | translate }}</a>
</div>
</div>
</div>
<div class="line-dashed-h m30v"></div>
<div class="large-12 columns line-dashed-h m30v"></div>
<div class="oh large-12 columns panel">
<h3><i class="fi-download m10r"></i> <span translate>Backup Profile</span> </h3>
<p translate class="large-8 columns text-gray">It's important to backup your profile so that you can recover it in case of disaster. The backup will include all your profile's wallets</p>
<div class="large-4 columns">
<a translate class="button primary m0" ng-click="downloadBackup()"
ng-show="!isSafari">Backup profile</a>
<a translate class="button primary m0" ng-click="viewBackup()"
ng-show="isSafari && !hideViewBackup">View profile backup</a>
</div>
<div ng-show="backupPlainText">
<textarea readonly rows="5">{{backupPlainText}}</textarea>
<div class="show-for-large-up">
<span translate class="size-12">Copy to clipboard</span> <span class="btn-copy" clip-copy="backupPlainText"> </span>
</div>
<div class="hide-for-large-up">
<span translate class="size-12">Copy this text as it is in a safe place (notepad or email)</span>
<div class="row">
<div class="large-12 columns">
<div class="panel">
<h2><i class="fi-download m10r"></i> <span translate>Backup Profile</span></h2>
<p translate class="text-gray">It's important to backup your profile so that you can recover it in case of disaster. The backup will include all your profile's wallets</p>
<a translate class="button primary m0" ng-click="downloadBackup()"
ng-show="!isSafari">Backup profile</a>
<a translate class="button primary m0" ng-click="viewBackup()"
ng-show="isSafari && !hideViewBackup">View profile backup</a>
<div ng-show="backupPlainText">
<textarea rows="5">{{backupPlainText}}</textarea>
<div class="show-for-large-up">
<span translate class="size-12">Copy to clipboard</span> <span class="btn-copy" clip-copy="backupPlainText"> </span>
</div>
<div class="hide-for-large-up">
<span translate class="size-12">Copy this text as it is in a safe place (notepad or email)</span>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,5 +1,5 @@
<div class="backup" ng-controller="MoreController">
<h1 class="hide-for-large-up">{{$root.title}} </h1>
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div class="row">
<form name="settingsForm">
<div class="large-6 medium-6 columns">

View File

@ -1,61 +1,67 @@
<div class="addresses" ng-controller="ReceiveController">
<div ng-show='$root.wallet.isReady()'>
<h1 translate class="hide-for-large-up">Receive</h1>
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<div ng-show="!addresses[0]">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</div>
<div class="large-12 medium-12" ng-if="!!(addresses|removeEmpty).length">
<div class="large-12 medium-12">
<div class="oh" ng-repeat="addr in addresses|removeEmpty|orderBy:'-index':true">
<div class="panel radius show-for-large-up">
<div class="row collapse">
<div class="large-7 medium-9 column">
</div>
<div class="row">
<div class="large-12 columns" ng-if="!!(addresses|removeEmpty).length">
<div ng-repeat="addr in addresses|removeEmpty|orderBy:'-index':true">
<div class="panel">
<div class="row show-for-large-up">
<div class="large-7 medium-9 columns">
<div class="list-addr">
<span>
<contact address="{{addr.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" />
</span>
<contact address="{{addr.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" />
</span>
<span class="btn-copy" clip-copy="addr.address"> </span>
<small translate class="label" ng-if="addr.isChange">change</small>
</div>
</div>
<div class="large-3 medium-3 column text-right">
<span ng-if="$root.updatingBalance">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</span>
<span class="size-14" ng-if="!$root.updatingBalance">
<b>{{addr.balance || 0|noFractionNumber}} {{$root.wallet.settings.unitName}}</b>
</span>
</div>
<div class="large-1 columns show-for-large-up" ng-click="openAddressModal(addr)">
<a class="size-12" href=""> Show QR</a>
</div>
</div>
</div> <!-- end of panel large screen -->
<a class="db text-black panel radius row hide-for-large-up list-addr" ng-click="openAddressModal(addr)">
<div class="ellipsis m5b">
<span><contact address="{{addr.address}}"></span>
<small translate class="m0 label" ng-if="addr.isChange">change</small>
</div>
<div class="text-left">
<span class="small-12 columns m15t" ng-if="$root.updatingBalance">
<div class="large-3 medium-3 columns text-right">
<span ng-show="$root.updatingBalance">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</span>
<span class="size-14" ng-if="!$root.updatingBalance">
</span>
<span class="size-14" ng-show="!$root.updatingBalance">
<b>{{addr.balance || 0|noFractionNumber}} {{$root.wallet.settings.unitName}}</b>
</span>
</span>
</div>
<div class="large-2 columns show-for-large-up text-right">
<a class="size-12" ng-click="openAddressModal(addr)"> Show QR</a>
</div>
</div>
</a> <!-- end of panel mobile -->
<div class="row hide-for-large-up" ng-click="openAddressModal(addr)">
<div class="small-12 columns">
<div class="list-addr">
<div class="ellipsis">
<span><contact address="{{addr.address}}"></span>
<small translate class="label" ng-if="addr.isChange">change</small>
</div>
<div class="text-right m10t">
<span class="size-14" ng-show="$root.updatingBalance">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</span>
<span class="size-14" ng-show="!$root.updatingBalance">
<b>{{addr.balance || 0|noFractionNumber}} {{$root.wallet.settings.unitName}}</b>
</span>
</div>
</div>
</div>
</div> <!-- end of panel mobile -->
</div>
</div>
</div>
</div>
<a class="secondary radius size-12 right" ng-click="toggleShowAll()" ng-show="addrLength > 3">
<span translate ng-if="!showAll">Show all</span>
<span translate ng-if="showAll">Show less</span>
</a>
<div class="m10t">
<a class="button tiny primary text-center" ng-click="newAddr()" ng-disabled="loading"><i class="fi-plus m5r"></i> Add </a>
<div class="large-12 columns">
<div class="m20b text-right">
<a class="size-12" ng-click="toggleShowAll()" ng-show="addrLength > 3">
<span translate ng-if="!showAll">Show all</span>
<span translate ng-if="showAll">Show less</span>
</a>
</div>
<a class="button tiny primary text-center" ng-click="newAddr()" ng-disabled="loading">
<i class="fi-plus m5r"></i> Add
</a>
</div>
</div>
</div>
</div>