commit
80a26411a7
6 changed files with 307 additions and 354 deletions
|
|
@ -218,7 +218,7 @@ header .alt-currency {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
float: right;
|
float: right;
|
||||||
background-color: #23C9A9;
|
background-color: #23C9A9;
|
||||||
padding: 22px 6px;
|
padding: 16px 6px;
|
||||||
color: #B6E9DF;
|
color: #B6E9DF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -401,7 +401,7 @@ table.last-transactions-content {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
background-color: #F8F8FB;
|
background-color: #F8F8FB;
|
||||||
margin: 15px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.last-transactions-content .box-status {
|
.last-transactions-content .box-status {
|
||||||
|
|
@ -438,9 +438,8 @@ table.last-transactions-content {
|
||||||
|
|
||||||
.private-message {
|
.private-message {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
padding-bottom: 5px;
|
padding-bottom: 10px;
|
||||||
border-bottom: 1px solid #fff;
|
border-bottom: 1px solid #fff;
|
||||||
line-height: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-message {
|
.header-message {
|
||||||
|
|
@ -466,19 +465,18 @@ table.last-transactions-content {
|
||||||
}
|
}
|
||||||
|
|
||||||
.send-note {
|
.send-note {
|
||||||
font-style: italic;
|
|
||||||
color: gray;
|
|
||||||
background-color: #EDEDF5;
|
background-color: #EDEDF5;
|
||||||
padding: 1.5rem;
|
padding: 10px;
|
||||||
width: 400px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-note {
|
.send-note p {
|
||||||
text-align: center;
|
margin-bottom: 5px;
|
||||||
clear: both;
|
font-size: 12px;
|
||||||
font-style: italic;
|
}
|
||||||
color: gray;
|
|
||||||
margin-bottom: 10px;
|
.send-note b {
|
||||||
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.button-setup.add-wallet {
|
a.button-setup.add-wallet {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
font-variant: normal;
|
font-variant: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
/* Better Font Rendering =========== */
|
/* Better Font Rendering =========== */
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<div
|
<div
|
||||||
class="row"
|
class="row"
|
||||||
ng-if="blockchain_txs[0].txid">
|
ng-if="blockchain_txs[0].txid">
|
||||||
<div class="large-12 colums">
|
<div class="large-12 columns">
|
||||||
|
|
||||||
<div class="panel oh"
|
<div class="panel oh"
|
||||||
ng-repeat="btx in blockchain_txs | orderBy: 'time':true" ng-click="btx.showDetails = !btx.showDetails">
|
ng-repeat="btx in blockchain_txs | orderBy: 'time':true" ng-click="btx.showDetails = !btx.showDetails">
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
<div class="large-1 columns show-for-large-up text-gray text-right" ng-init="btx.showDetails = false">
|
<div class="large-1 columns show-for-large-up text-gray text-right" ng-init="btx.showDetails = false">
|
||||||
<a>
|
<a>
|
||||||
<i ng-if="!btx.showDetails" class="icon-arrow-down4"></i>
|
<i ng-if="!btx.showDetails" class="icon-arrow-down4"></i>
|
||||||
<i ng-if="btx.showDetails" class="icon-arrow-up4 size-12"></i>
|
<i ng-if="btx.showDetails" class="icon-arrow-up4"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="show-for-small-only header-message">
|
<div class="header-message">
|
||||||
<span class="date-message">{{tx.createdTs | amCalendar}}</span>
|
<span class="date-message">{{tx.createdTs | amCalendar}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="last-transactions-header" ng-init="txIndex = $index">
|
<div class="last-transactions-header" ng-init="txIndex = $index">
|
||||||
|
|
@ -6,23 +6,9 @@
|
||||||
<i class="fi-comment-quotes"></i>
|
<i class="fi-comment-quotes"></i>
|
||||||
<span class="text-light">{{tx.comment}}</span>
|
<span class="text-light">{{tx.comment}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="row collapse">
|
<div class="row" ng-repeat="out in tx.outs">
|
||||||
<div class="large-9 medium-8 small-12 columns">
|
|
||||||
<div class="row collapse" ng-repeat="out in tx.outs">
|
|
||||||
<div class="large-3 medium-3 small-4 columns">
|
<div class="large-3 medium-3 small-4 columns">
|
||||||
<div class="size-14 hide-for-small-only">
|
<div class="size-12">
|
||||||
<span
|
|
||||||
ng-class="{'has-tip': alternativeCurrency[txIndex]}"
|
|
||||||
ng-init="amountAlternative(out.value, txIndex)"
|
|
||||||
data-options="disable_for_touch:true"
|
|
||||||
tooltip-popup-delay='500'
|
|
||||||
tooltip="{{alternativeCurrency[txIndex]|noFractionNumber}} {{alternativeIsoCode}}"
|
|
||||||
tooltip-trigger="mouseenter"
|
|
||||||
tooltip-placement="right"
|
|
||||||
>{{out.value |noFractionNumber}}
|
|
||||||
{{$root.wallet.settings.unitName}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="size-12 show-for-small-only">
|
|
||||||
<span>{{out.value |noFractionNumber}} {{$root.wallet.settings.unitName}}</span>
|
<span>{{out.value |noFractionNumber}} {{$root.wallet.settings.unitName}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -32,13 +18,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<table class="last-transactions-content">
|
||||||
<div class="large-3 medium-4 columns text-right hide-for-small-only">
|
|
||||||
<span class="size-12">{{tx.createdTs | amCalendar}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="last-transactions-content show-for-small-only">
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="c in tx.actionList">
|
<tr ng-repeat="c in tx.actionList">
|
||||||
<td class="copayer-name" width="100%">{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}
|
<td class="copayer-name" width="100%">{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}
|
||||||
|
|
@ -59,64 +39,30 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<div class="last-transactions-content show-for-medium-up">
|
|
||||||
<div class="box-copayer" ng-repeat="c in tx.actionList">
|
|
||||||
<a class="has-tip">
|
|
||||||
<img class="copayer-ico br100" src="./img/satoshi.gif" alt="{{c.cId}}">
|
|
||||||
</a>
|
|
||||||
<div class="box-status">
|
|
||||||
<a ng-if="c.actions.create" tooltip-popup-delay="1000" tooltip="Created {{c.actions.create | amTimeAgo}}">
|
|
||||||
<i class="fi-crown icon-status icon-active"></i>
|
|
||||||
</a>
|
|
||||||
<a ng-if="!c.actions.create"><i class="fi-crown icon-status"></i></a>
|
|
||||||
|
|
||||||
<a ng-if="c.actions.seen" tooltip-popup-delay="1000" tooltip="Seen {{c.actions.seen | amTimeAgo}}">
|
|
||||||
<i class="fi-eye icon-status icon-active"></i>
|
|
||||||
</a>
|
|
||||||
<a ng-if="!c.actions.seen"><i class="fi-eye icon-status"></i></a>
|
|
||||||
|
|
||||||
<a ng-if="c.actions.rejected" tooltip-popup-delay="1000" tooltip="Rejected {{c.actions.rejected | amTimeAgo}}">
|
|
||||||
<i class="fi-x icon-status icon-active-x"></i>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a ng-if="c.actions.sign" tooltip-popup-delay="1000" tooltip="Signed {{c.actions.sign | amTimeAgo}}">
|
|
||||||
<i class="fi-check icon-status icon-active-check"></i>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a ng-if="!c.actions.sign && !c.actions.rejected && tx.missingSignatures" class="icon-status">
|
|
||||||
<i class="fi-loop icon-rotate"></i>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-center m5t size-12 text-gray ellipsis">
|
|
||||||
{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="last-transactions-footer">
|
<div class="last-transactions-footer">
|
||||||
<div class="row collapse">
|
<div class="row collapse">
|
||||||
<div class="large-5 medium-7 small-12 columns" ng-show="!tx.sentTs">
|
<div class="large-5 medium-7 small-12 columns" ng-show="!tx.sentTs">
|
||||||
<div ng-show="!tx.signedByUs && !tx.rejectedByUs && !tx.finallyRejected && tx.missingSignatures">
|
<div ng-show="!tx.signedByUs && !tx.rejectedByUs && !tx.finallyRejected && tx.missingSignatures">
|
||||||
<div class="hide-for-small-only">
|
<div class="hide-for-small-only">
|
||||||
<button class="primary m15r" ng-click="sign(tx.ntxid)" ng-disabled="loading">
|
<button class="primary tiny m0 m15r" ng-click="sign(tx.ntxid)" ng-disabled="loading">
|
||||||
<i class="fi-check"></i> <span translate>Sign</span>
|
<i class="fi-check"></i> <span translate>Sign</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="warning" ng-click="reject(tx.ntxid)" ng-disabled="loading">
|
<button class="warning tiny m0" ng-click="reject(tx.ntxid)" ng-disabled="loading">
|
||||||
<i class="fi-x" ></i> <span translate>Reject</span>
|
<i class="fi-x" ></i> <span translate>Reject</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="show-for-small-only row">
|
<div class="show-for-small-only row">
|
||||||
<button class="primary small-5 columns m10b" ng-click="sign(tx.ntxid)" ng-disabled="loading">
|
<button class="primary tiny small-5 columns m10b" ng-click="sign(tx.ntxid)" ng-disabled="loading">
|
||||||
<i class="fi-check"></i> <span translate>Sign</span>
|
<i class="fi-check"></i> <span translate>Sign</span>
|
||||||
</button>
|
</button>
|
||||||
<button class="warning small-5 columns m10b" ng-click="reject(tx.ntxid)" ng-disabled="loading">
|
<button class="warning tiny small-5 columns m10b" ng-click="reject(tx.ntxid)" ng-disabled="loading">
|
||||||
<i class="fi-x" ></i> <span translate>Reject</span>
|
<i class="fi-x" ></i> <span translate>Reject</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="!tx.missingSignatures && !tx.sentTs">
|
<div ng-show="!tx.missingSignatures && !tx.sentTs">
|
||||||
<button class="primary" ng-click="send(tx.ntxid)" ng-disabled="loading"> <i class=".fi-upload-cloud"></i>
|
<button class="primary tiny m0" ng-click="send(tx.ntxid)" ng-disabled="loading"> <i class=".fi-upload-cloud"></i>
|
||||||
<span translate>Broadcast Transaction</span>
|
<span translate>Broadcast Transaction</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,29 @@
|
||||||
<div class="backup" ng-controller="MoreController">
|
<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 collapse">
|
<div class="row">
|
||||||
<form name="settingsForm" class="large-6 small-12 columns">
|
<form name="settingsForm">
|
||||||
|
<div class="large-6 medium-6 columns">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend translate>Wallet Unit</legend>
|
<legend translate>Wallet Unit</legend>
|
||||||
<select class="form-control" ng-model="selectedUnit" ng-options="o.name for o in unitOpts" ng-change="save()">
|
<select class="form-control" ng-model="selectedUnit" ng-options="o.name for o in unitOpts" ng-change="save()">
|
||||||
</select>
|
</select>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
<div class="large-6 medium-6 columns">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend translate>Alternative Currency</legend>
|
<legend translate>Alternative Currency</legend>
|
||||||
<select class="form-control" ng-model="selectedAlternative" ng-options="alternative.name for alternative in alternativeOpts" ng-change="save()">
|
<select class="form-control" ng-model="selectedAlternative" ng-options="alternative.name for alternative in alternativeOpts" ng-change="save()">
|
||||||
</select>
|
</select>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="large-12 columns line-dashed-h m15b"></div>
|
|
||||||
<div class="large-6 columns panel">
|
<div class="line-dashed-h m20b"></div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="large-6 columns">
|
||||||
|
<div class="panel">
|
||||||
<h2><i class="fi-download m10r"></i> <span translate>Backup</span></h2>
|
<h2><i class="fi-download m10r"></i> <span translate>Backup</span></h2>
|
||||||
<p translate class="text-gray">
|
<p translate class="text-gray">
|
||||||
It's important to backup your wallet so that you can recover it in case of disaster
|
It's important to backup your wallet so that you can recover it in case of disaster
|
||||||
|
|
@ -35,86 +43,91 @@
|
||||||
<div translate class="m10t size-12 text-gray text-right">Copy this text as it is in a safe place (notepad or email)</div>
|
<div translate class="m10t size-12 text-gray text-right">Copy this text as it is in a safe place (notepad or email)</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="large-6 columns">
|
<div class="large-6 columns">
|
||||||
<div class="panel oh">
|
<div class="panel">
|
||||||
<h3><i class="fi-minus-circle m10r"></i> <span translate> Delete Wallet </span></h3>
|
<h2><i class="fi-minus-circle m10r"></i> <span translate>Delete Wallet</span></h2>
|
||||||
<p translate class="large-8 columns text-gray">If all funds have been removed from your wallet and you do not wish to have the wallet data stored on your computer anymore, you can delete your wallet.</p>
|
<p translate class="text-gray">If all funds have been removed from your wallet and you do not wish to have the wallet data stored on your computer anymore, you can delete your wallet.</p>
|
||||||
<div class="large-4 columns">
|
<a translate class="button warning m0" ng-really-message="{{'Are you sure to delete this wallet from this computer?'|translate}}" ng-really-click="deleteWallet()"> Delete</a>
|
||||||
<a translate class="button warning expand" ng-really-message="{{'Are you sure to delete this wallet from this computer?'|translate}}" ng-really-click="deleteWallet()"> Delete</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="large-12 columns small" ng-click="hideAdv=!hideAdv">
|
|
||||||
|
<div class="line-dashed-h m20b"></div>
|
||||||
|
|
||||||
|
<div class="m20b">
|
||||||
|
<a class="size-12" ng-click="hideAdv=!hideAdv">
|
||||||
<i class="fi-widget m3r"></i>
|
<i class="fi-widget m3r"></i>
|
||||||
<span translate ng-hide="!hideAdv">Show</span>
|
<span translate ng-hide="!hideAdv">Show</span>
|
||||||
<span translate ng-hide="hideAdv">Hide</span>
|
<span translate ng-hide="hideAdv">Hide</span>
|
||||||
<span translate>advanced options</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>
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-hide="hideAdv" class="row">
|
||||||
<div ng-hide="hideAdv" class="m10t">
|
<div class="large-12 columns">
|
||||||
<div class="oh large-12 columns panel">
|
<div class="panel">
|
||||||
<h3><i class="fi-minus-circle m10r"></i>
|
<h2><i class="fi-minus-circle m10r"></i>
|
||||||
<span translate>Master Private Key</span> </h3>
|
<span translate>Master Private Key</span> </h2>
|
||||||
<p translate class="large-8 columns text-gray">
|
<p translate class="text-gray">
|
||||||
Your master private key contains the information to sign <b>any</b> transaction on this wallet. Handle with care.
|
Your master private key contains the information to sign <b>any</b> transaction on this wallet. Handle with care.
|
||||||
</p>
|
</p>
|
||||||
<div class="large-4 columns">
|
<a class="button primary m0" ng-click="hidePriv=!hidePriv">
|
||||||
<a class="button primary expand" ng-click="hidePriv=!hidePriv">
|
|
||||||
<span translate ng-hide="!hidePriv">Show</span>
|
<span translate ng-hide="!hidePriv">Show</span>
|
||||||
<span translate ng-hide="hidePriv">Hide</span>
|
<span translate ng-hide="hidePriv">Hide</span>
|
||||||
</a>
|
</a>
|
||||||
|
<textarea class="m10t" ng-hide="hidePriv">{{priv}}</textarea>
|
||||||
</div>
|
</div>
|
||||||
<textarea ng-hide="hidePriv" readonly>{{priv}}</textarea>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="oh large-12 columns panel">
|
<div class="large-12 columns">
|
||||||
<h3><i class="fi-minus-circle m10r"></i> <span translate>Scan Wallet Addresses</span> </h3>
|
<div class="panel">
|
||||||
<p translate class="large-8 columns text-gray">
|
<h2><i class="fi-minus-circle m10r"></i> <span translate>Scan Wallet Addresses</span></h2>
|
||||||
|
<p translate class="text-gray">
|
||||||
This will scan the blockchain looking for addresses derived from your wallet, in case you have funds in addresses not yet generated (e.g.: you restored an old backup). This will also trigger a synchronization of addresses to other connected peers.
|
This will scan the blockchain looking for addresses derived from your wallet, in case you have funds in addresses not yet generated (e.g.: you restored an old backup). This will also trigger a synchronization of addresses to other connected peers.
|
||||||
</p>
|
</p>
|
||||||
<div class="large-4 columns">
|
<a translate class="button primary m0" ng-click="updateIndexes()">
|
||||||
<a translate class="button primary expand" ng-click="updateIndexes()">
|
|
||||||
Scan
|
Scan
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oh large-12 columns panel">
|
<div class="large-12 columns">
|
||||||
<h3><i class="fi-minus-circle m10r"></i> <span translate>Purge Pending Transaction Proposals</span> </h3>
|
<div class="panel">
|
||||||
<p translate class="large-8 columns text-gray">
|
<h2><i class="fi-minus-circle m10r"></i> <span translate>Purge Pending Transaction Proposals</span></h2>
|
||||||
|
<p translate class="text-gray">
|
||||||
Pending Transactions Proposals will be discarded. This needs to be done on <b>ALL</b> peers of a wallet, to prevent the old proposals to be resynced again.
|
Pending Transactions Proposals will be discarded. This needs to be done on <b>ALL</b> peers of a wallet, to prevent the old proposals to be resynced again.
|
||||||
</p>
|
</p>
|
||||||
<div class="large-4 columns">
|
<a translate class="button warning m0" ng-click="purge()">
|
||||||
<a translate class="button warning expand" ng-click="purge()">
|
|
||||||
Purge
|
Purge
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oh large-12 columns panel">
|
<div class="large-12 columns">
|
||||||
<h3><i class="fi-minus-circle m10r"></i> <span translate>Purge ALL Transaction Proposals</span> </h3>
|
<div class="panel">
|
||||||
<p translate class="large-8 columns text-gray">
|
<h2><i class="fi-minus-circle m10r"></i> <span translate>Purge ALL Transaction Proposals</span></h2>
|
||||||
|
<p translate class="text-gray">
|
||||||
ALL Transactions Proposals will be discarded. This needs to be done on <b>ALL</b> peers of a wallet, to prevent the old proposals to be resynced again.
|
ALL Transactions Proposals will be discarded. This needs to be done on <b>ALL</b> peers of a wallet, to prevent the old proposals to be resynced again.
|
||||||
</p>
|
</p>
|
||||||
<div class="large-4 columns">
|
<a translate class="button warning m0" ng-click="purge(true)">
|
||||||
<a translate class="button warning expand" ng-click="purge(true)">
|
|
||||||
Purge All
|
Purge All
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oh large-12 columns panel">
|
<div class="large-12 columns">
|
||||||
<h3><i class="fi-minus-circle m10r"></i>
|
<div class="panel">
|
||||||
<span translate>Join Secret</span> </h3>
|
<h2><i class="fi-minus-circle m10r"></i>
|
||||||
<p translate class="large-8 columns text-gray">
|
<span translate>Join Secret</span> </h2>
|
||||||
|
<p translate class="text-gray">
|
||||||
This is the initial secret join string. Since your wallet it is already complete, this is only useful to rejoin peers that lost their backup BUT have the extended private key stored (they will be rejected on other case). They need to enter their extended private key during the join process (in advanced options).
|
This is the initial secret join string. Since your wallet it is already complete, this is only useful to rejoin peers that lost their backup BUT have the extended private key stored (they will be rejected on other case). They need to enter their extended private key during the join process (in advanced options).
|
||||||
</p>
|
</p>
|
||||||
<div class="large-4 columns">
|
<a class="button primary m0" ng-click="hideSecret=!hideSecret">
|
||||||
<a class="button primary expand" ng-click="hideSecret=!hideSecret">
|
|
||||||
<span translate ng-hide="!hideSecret">Show</span>
|
<span translate ng-hide="!hideSecret">Show</span>
|
||||||
<span translate ng-hide="hideSecret">Hide</span>
|
<span translate ng-hide="hideSecret">Hide</span>
|
||||||
</a>
|
</a>
|
||||||
|
<textarea class="m10t" ng-hide="hideSecret">{{secret}}</textarea>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<textarea ng-hide="hideSecret" readonly>{{secret}}</textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
141
views/send.html
141
views/send.html
|
|
@ -1,14 +1,18 @@
|
||||||
<div class="send" data-ng-controller="SendController" data-ng-init="loadTxs()">
|
<div class="send" data-ng-controller="SendController" data-ng-init="loadTxs()">
|
||||||
<div ng-show='$root.wallet.isReady()'>
|
<div ng-show='$root.wallet.isReady()'>
|
||||||
|
|
||||||
<h1 translate ng-show="txs.length != 0">Send Proposals</h1>
|
<div class="row" ng-show="txs.length != 0">
|
||||||
<div class="last-transactions" ng-repeat="tx in txs | paged">
|
<div class="large-12 columns">
|
||||||
<div ng-include="'views/includes/transaction.html'"></div>
|
<h2 translate>Pending Transactions Proposals</h2>
|
||||||
|
<div class="last-transactions"
|
||||||
|
ng-repeat="tx in txs | paged"
|
||||||
|
ng-include="'views/includes/transaction.html'"></div>
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="txs.length != 0" class="large-12 line-dashed" style="padding: 0;"></div>
|
</div>
|
||||||
|
<div ng-show="txs.length != 0" class="line-dashed-h m20b"></div>
|
||||||
|
|
||||||
<h1 class="hide-for-large-up">{{$root.title}}</h1>
|
<h1 class="hide-for-large-up">{{$root.title}}</h1>
|
||||||
<div class="row collapse m0">
|
<div class="row">
|
||||||
<div class="large-6 columns">
|
<div class="large-6 columns">
|
||||||
<form name="sendForm" ng-submit="submitForm(sendForm)" novalidate>
|
<form name="sendForm" ng-submit="submitForm(sendForm)" novalidate>
|
||||||
<p class="text-warning size-16"
|
<p class="text-warning size-16"
|
||||||
|
|
@ -18,14 +22,14 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="row collapse">
|
<div class="row collapse">
|
||||||
<div class="large-12 columns">
|
<label for="address">
|
||||||
<div class="row collapse">
|
<span translate>To</span>
|
||||||
<label for="address"><span translate>To </span><a class="has-tip size-12" href="#"
|
<i class="fi-info size-12" href="#"
|
||||||
data-options="disable_for_touch:true"
|
data-options="disable_for_touch:true"
|
||||||
tooltip-popup-delay='500'
|
tooltip-popup-delay='500'
|
||||||
tooltip="{{'Enter a valid Bitcoin address. Payment Protocol URLs are also supported'|translate}}"
|
tooltip="{{'Enter a valid Bitcoin address. Payment Protocol URLs are also supported'|translate}}"
|
||||||
tooltip-trigger="mouseenter"
|
tooltip-trigger="mouseenter"
|
||||||
tooltip-placement="right">(?)</a>
|
tooltip-placement="right"></i>
|
||||||
<small translate ng-hide="!sendForm.address.$pristine || address">required</small>
|
<small translate ng-hide="!sendForm.address.$pristine || address">required</small>
|
||||||
<small translate class="is-valid" ng-show="!sendForm.address.$invalid && address">valid!</small>
|
<small translate class="is-valid" ng-show="!sendForm.address.$invalid && address">valid!</small>
|
||||||
<small translate class="has-error" ng-show="sendForm.address.$invalid && address">not valid</small>
|
<small translate class="has-error" ng-show="sendForm.address.$invalid && address">not valid</small>
|
||||||
|
|
@ -43,7 +47,7 @@
|
||||||
<a translate class="postfix button warning" ng-click="cancelScanner()">Cancel</a>
|
<a translate class="postfix button warning" ng-click="cancelScanner()">Cancel</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="scanner" class="row" ng-if="showScanner">
|
<div id="scanner" ng-if="showScanner">
|
||||||
<div class="text-centered">
|
<div class="text-centered">
|
||||||
<canvas id="qr-canvas" width="200" height="150"></canvas>
|
<canvas id="qr-canvas" width="200" height="150"></canvas>
|
||||||
<div ng-show="isMobile">
|
<div ng-show="isMobile">
|
||||||
|
|
@ -60,10 +64,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row collapse">
|
<div class="row">
|
||||||
<div class="large-6 medium-6 columns">
|
<div class="large-6 medium-6 columns">
|
||||||
<div class="row collapse">
|
<div class="row collapse">
|
||||||
<label for="amount"><span translate>Amount</span>
|
<label for="amount"><span translate>Amount</span>
|
||||||
|
|
@ -96,7 +98,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="large-5 medium-5 columns">
|
<div class="large-6 medium-6 columns">
|
||||||
<div class="row collapse">
|
<div class="row collapse">
|
||||||
<label for="alternative"><span translate>Amount in</span> {{ alternativeName }} </label>
|
<label for="alternative"><span translate>Amount in</span> {{ alternativeName }} </label>
|
||||||
<div class="small-9 columns">
|
<div class="small-9 columns">
|
||||||
|
|
@ -114,87 +116,78 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row collapse">
|
<div class="row">
|
||||||
<div class="large-12 columns">
|
<div class="large-12 columns" ng-show="!!$root.merchant">
|
||||||
<div class="row collapse">
|
<h3>This is a payment protocol transaction</h3>
|
||||||
<label for="comment"><span translate>Note</span>
|
|
||||||
<small translate ng-hide="!sendForm.comment.$pristine">optional</small>
|
|
||||||
<small translate class="has-error" ng-show="sendForm.comment.$invalid && !sendForm.comment.$pristine">too long!</small>
|
|
||||||
</label>
|
|
||||||
<div class="large-12 columns">
|
|
||||||
<textarea id="comment" ng-disabled="loading"
|
|
||||||
name="comment" placeholder="{{(wallet.isShared() ? 'Leave a private message to your copayers' : 'Add a private comment to identify the transaction') |translate}}" ng-model="commentText" ng-maxlength="100"></textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row collapse">
|
|
||||||
<span ng-if="!$root.alternativeConversionRate">
|
|
||||||
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
|
|
||||||
</span>
|
|
||||||
<span class="left m5t text-gray size-14" ng-if="$root.alternativeConversionRate > 0">1 BTC = {{alternativeConversionRate|noFractionNumber:2}} {{alternativeIsoCode}}
|
|
||||||
|
|
||||||
</span>
|
|
||||||
<div class="large-5 medium-3 small-6 columns right">
|
|
||||||
<button type="submit" class="button primary expand text-center" ng-disabled="sendForm.$invalid || loading">
|
|
||||||
Send
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div><!-- end of row -->
|
|
||||||
|
|
||||||
<div class="large-6 columns show-for-large-up" ng-show="!!$root.merchant">
|
|
||||||
<div class="send-note">
|
<div class="send-note">
|
||||||
<h6 translate>Send to</h6>
|
<p>
|
||||||
<p class="text-gray" ng-class="{'hidden': sendForm.address.$invalid || !address}"
|
<b translate>Send to</b>:
|
||||||
title="{{$root.merchant.request_url}}">
|
{{$root.merchant.domain}}
|
||||||
{{$root.merchant.domain}}
|
|
||||||
</p>
|
</p>
|
||||||
<h6 translate>Total amount for this transaction:</h6>
|
<p>
|
||||||
<p class="text-gray" ng-class="{'hidden': sendForm.amount.$invalid || !amount > 0}">
|
<b translate>Total amount for this transaction</b>:
|
||||||
<b>{{amount + defaultFee |noFractionNumber}}</b> {{$root.wallet.settings.unitName}}
|
<i>{{amount + defaultFee |noFractionNumber}} {{$root.wallet.settings.unitName}}</i>
|
||||||
<small ng-if="isRateAvailable">
|
<small ng-if="isRateAvailable">
|
||||||
{{ rateService.toFiat((amount + defaultFee) * unitToSatoshi, alternativeIsoCode) | noFractionNumber: 2 }} {{ alternativeIsoCode }}
|
{{ rateService.toFiat((amount + defaultFee) * unitToSatoshi, alternativeIsoCode) | noFractionNumber: 2 }} {{ alternativeIsoCode }}
|
||||||
<br>
|
|
||||||
</small>
|
</small>
|
||||||
<small>
|
<small>
|
||||||
<span translate>Including fee of</span> {{defaultFee|noFractionNumber}} {{$root.wallet.settings.unitName}}
|
(<span translate>Including fee of</span>
|
||||||
|
{{defaultFee|noFractionNumber}}
|
||||||
|
{{$root.wallet.settings.unitName}})
|
||||||
</small>
|
</small>
|
||||||
</p>
|
</p>
|
||||||
<div ng-show="wallet.isShared()">
|
<p>
|
||||||
<h6 translate>Note</h6>
|
<b translate>Server Says</b>:
|
||||||
<p ng-class="{'hidden': !commentText}">{{commentText}}</p>
|
|
||||||
</div>
|
|
||||||
<div ng-show="!!$root.merchant">
|
|
||||||
<h6 translate>Merchant Data:</h6>
|
|
||||||
<p class="text-gray">
|
|
||||||
Note: This is a payment protocol transaction.
|
|
||||||
</p>
|
|
||||||
<h6 translate>Server Says:</h6>
|
|
||||||
<p class="text-gray">
|
|
||||||
{{$root.merchant.pr.pd.memo}}
|
{{$root.merchant.pr.pd.memo}}
|
||||||
</p>
|
</p>
|
||||||
<h6 translate>Certificate:</h6>
|
<p>
|
||||||
<p class="text-gray">
|
<b translate>Certificate</b>:
|
||||||
<span ng-show="!!$root.merchant.pr.ca">{{$root.merchant.pr.ca}}</span>
|
<span ng-show="!!$root.merchant.pr.ca">{{$root.merchant.pr.ca}}</span>
|
||||||
<span ng-show="!$root.merchant.pr.ca" style="color:red;weight:bold;">Untrusted</span>
|
<span ng-show="!$root.merchant.pr.ca" style="color:red;weight:bold;">Untrusted</span>
|
||||||
</p>
|
</p>
|
||||||
<h6 translate>Payment Expiration:</h6>
|
<p>
|
||||||
<p class="text-gray">
|
<b translate>Payment Expiration</b>:
|
||||||
{{$root.merchant.expiration}}
|
{{$root.merchant.expiration}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="large-12 columns">
|
||||||
|
<label for="comment"><span translate>Note</span>
|
||||||
|
<small translate ng-hide="!sendForm.comment.$pristine">optional</small>
|
||||||
|
<small translate class="has-error" ng-show="sendForm.comment.$invalid && !sendForm.comment.$pristine">too long!</small>
|
||||||
|
</label>
|
||||||
|
<textarea id="comment" ng-disabled="loading"
|
||||||
|
name="comment" placeholder="{{(wallet.isShared() ? 'Leave a private message to your copayers' : 'Add a private comment to identify the transaction') |translate}}" ng-model="commentText" ng-maxlength="100"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="large-12 columns text-right">
|
||||||
|
<button type="submit" class="button primary m0" ng-disabled="sendForm.$invalid || loading">
|
||||||
|
Send
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div><!-- end of row -->
|
||||||
|
<div class="row m20b" ng-show="$root.alternativeConversionRate > 0">
|
||||||
|
<div class="large-6 columns size-12">
|
||||||
|
<i class="fi-bitcoin-circle"></i>
|
||||||
|
1 BTC = {{alternativeConversionRate|noFractionNumber:2}} {{alternativeIsoCode}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="line-dashed-h m20b"></div>
|
<div class="line-dashed-h m20b"></div>
|
||||||
|
<div class="row">
|
||||||
<div class="large-12 columns">
|
<div class="large-12 columns">
|
||||||
<h2 translate>Address Book</h2>
|
<h2 translate>Address Book</h2>
|
||||||
<p translate class="text-gray m15b" ng-hide="showAddressBook()">Empty. Create an alias for your addresses</p>
|
<p translate class="text-gray m15b" ng-hide="showAddressBook()">Empty. Create an alias for your addresses</p>
|
||||||
<table class="large-12 medium-12 small-12" ng-show="showAddressBook()">
|
<table ng-show="showAddressBook()">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th translate>Label</th>
|
<th translate>Label</th>
|
||||||
|
|
@ -217,7 +210,9 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<button translate class="button tiny primary text-center" ng-click="openAddressBookModal()"><i class="fi-plus m5r"></i>Add</button>
|
<button translate class="button tiny primary" ng-click="openAddressBookModal()">
|
||||||
|
<i class="fi-plus m5r"></i> Add</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue