Merge pull request #2104 from matiu/fix/modals

Fix/modals
This commit is contained in:
Gustavo Maximiliano Cortez 2014-12-11 02:07:57 -03:00
commit 4c0db8942f
15 changed files with 301 additions and 346 deletions

View file

@ -109,6 +109,11 @@ header .alt-currency {
color: yellow !important;
}
.color-alert {
color: #C0392A;
}
.alt-currency.green {
background: #1abc9c;
}
@ -414,6 +419,13 @@ a:hover {
background-color: #C0392A;
}
.box-notification .box-icon.secondary {
background-color: #3498DB;
}
.box-notification a.close-notification {
position: absolute;
top: 8px;
@ -445,48 +457,25 @@ ul.tx-copayers {
border-bottom: 1px solid #CAD2DA;
}
.last-transactions-header {
border-radius: 3px 3px 0 0;
background: #2C3E50;
padding: 0.6rem;
color: #fff;
box-shadow: 1.5px 0px 0 0 rgba(32,48,64,1);
-moz-box-shadow: 1.5px 0px 0 0 rgba(32,48,64,1);
-o-box-shadow: 1.5px 0px 0 0 rgba(32,48,64,1);
}
.last-transactions-content {
padding: 0.8rem 0.8rem 0;
color: #7A8C9E;
}
.last-transactions-footer {
padding: 0.8rem;
overflow: hidden;
cursor:pointer;
}
.last-transactions-content .box-status {
font-size: 13px;
width: 30px;
}
.last-transactions-content:hover {
background: #eee;
}
.last-transactions-content .box-copayer {
width: 100px;
margin-right: 20px;
float: left;
.sign-action {
background: #E4E8EC;
width: 100%;
padding: 1rem;
text-align: center;
}
.last-transactions-content .copayer-ico {
width: 45px;
height: 45px;
border: 2px solid #7A8C9B;
}
.last-transactions-content .icon-active {
color: #fff;
}
.icon-sign {
padding: 0.2rem 0.3rem;
border-radius: 100%;
@ -593,6 +582,7 @@ a.button-setup {
.m20r {margin-right: 20px;}
.m15r {margin-right: 15px;}
.m20t {margin-top: 20px;}
.m20tp {margin-top: 20%;}
.m5 {margin: 5px;}
.m10 {margin: 10px;}
.m15 {margin: 15px;}
@ -615,6 +605,7 @@ a.button-setup {
.m-negative-l {margin-left: -0.9375rem;}
.br100 {border-radius: 100%;}
.lh {line-height: 0;}
.lh140 {line-height: 140%;}
.oh {overflow:hidden;}
.vm {vertical-align: middle;}
.ma { margin: 0 auto;}
@ -1512,6 +1503,10 @@ a.text-warning:hover {color: #FD7262;}
}
@media only screen and (max-width: 40em) {
dialog.tiny, .reveal-modal.tiny {
height: 100%;
overflow-y: auto;
}
dialog.large, .reveal-modal.large {
height: 100%;
overflow-y: auto;
@ -1837,3 +1832,19 @@ a.text-warning:hover {color: #FD7262;}
font-weight: normal;
}
.reveal-modal .close-reveal-modal, dialog .close-reveal-modal {
padding: 5px 10px;
position: relative;
font-weight: normal;
border: 1px solid #bbb;
font-size: 22px;
background:#eee;
right:0;
top:0;
text-transform: uppercase;
}
.reveal-modal .close-reveal-modal:hover, dialog .close-reveal-modal:hover {
background:#ddd;
}

View file

@ -116,7 +116,6 @@
display: none;
}
.tab-bar h1 {
font-weight: 100;
text-align: center;

View file

@ -48,14 +48,18 @@ angular.module('copayApp.controllers').controller('HomeWalletController', functi
};
var $outScope = $scope;
$scope.openTxModal = function(tx) {
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.tx = tx;
$scope.getShortNetworkName = function() {
var w = $rootScope.wallet;
return w.getNetworkName().substring(0, 4);
$scope.sign = function(ntxid) {
$outScope.sign(ntxid);
$modalInstance.dismiss('cancel');
};
$scope.reject = function(ntxid) {
$outScope.reject(ntxid);
$modalInstance.dismiss('cancel');
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};

View file

@ -399,7 +399,11 @@ angular.module('copayApp.controllers').controller('SendController',
if (err) {
copay.logger.warn(err);
$scope.resetForm();
$scope.error = err.toString();
var msg = err.toString();
if (msg.match('HTTP')) {
msg = 'Could not fetch payment information';
}
$scope.error = msg;
} else {
$scope._merchantData = merchantData;
$scope._domain = merchantData.domain;

View file

@ -13,51 +13,39 @@
</div>
<div class="row" ng-if="blockchain_txs[0].txid">
<div class="large-12 columns">
<div class="panel" ng-repeat="btx in blockchain_txs | orderBy:'-ts'" ng-click="openTxModal(btx)">
<div class="row size-14">
<div class="panel oh">
<div ng-repeat="btx in blockchain_txs | orderBy:'-ts'" ng-click="openTxModal(btx)" ng-class="{'line-b':!$last}" class="last-transactions-content">
<div class="large-2 medium-3 small-4 columns">
<div class="tx-date oh">
<time ng-if="btx.ts">{{btx.ts | amTimeAgo}}</time>
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
</div>
</div>
<div class="large-4 medium-9 small-8 columns text-right">
<span class="tx-amount " ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<b>{{btx.amount}} {{$root.wallet.settings.unitName}}</b>
<span class="alt-currency" ng-class="{
'green' : btx.action == 'received',
'red': btx.action == 'sent',
'gray': btx.action == 'moved'}" ng-show="btx.alternativeAmount != null">
{{btx.alternativeAmount}} {{$root.wallet.settings.alternativeIsoCode}}
</span>
<div class="row">
<div class="large-6 medium-6 small-12 columns size-16">
<div class="ellipsis m10b">
<time ng-if="btx.ts">{{btx.ts | amTimeAgo}}</time>
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
<span 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',
'fi-arrow-right': btx.action == 'sent',
'fi-loop': btx.action == 'moved'}"></i>
</span>
</div>
<div class="large-6 medium-12 small-12 columns text-gray">
<div class="tx-comment" ng-show="btx.comment">
<i class="fi-comment-quotes"></i> {{btx.comment}}
</div>
</div>
</div>
<div class="large-6 medium-6 small-12 columns">
<div class="text-right" ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<span class="size-21">
<span ng-if="!$root.updatingBalance">
<span ng-if="btx.action == 'received'">+</span><span ng-if="btx.action == 'sent'">-</span>{{btx.amount}}
</span>
{{$root.wallet.settings.unitName}}
</span>
<span class="size-14 db m5t text-gray">
{{btx.alternativeAmount}} {{$root.wallet.settings.alternativeIsoCode}}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div ng-show="blockchain_txs[0].txid">
<div class="row">

View file

@ -32,9 +32,11 @@
</div>
</div>
</div>
<div class="row ">
<div class="large-12 columns line-t m10t">
<div class="right size-10">
<div class="right size-12">
<span ng-if="!$root.wallet.isShared()">Personal Wallet</span>
<span ng-if="$root.wallet.isShared()">
Multisignature wallet [{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]
@ -53,8 +55,16 @@
<div class="large-12 columns">
<div class="panel oh">
<h2 class="line-b" translate>Spend proposals</h2>
<div class="last-transactions pr" ng-repeat="tx in $root.wallet.pendingTxProposals | paged" ng-include="'views/includes/transaction.html'" ng-if="$root.wallet.pendingTxProposals[0]">
<div class="last-transactions pr" ng-repeat="tx in $root.wallet.pendingTxProposals | orderBy:'-createdTs'" ng-include="'views/includes/transaction.html'" ng-if="$root.wallet.pendingTxProposals[0]">
</div>
<div class="text-right size-12 line-t m10t p10t" ng-show="$root.wallet.balanceInfo.lockedBalance && !$root.wallet.balanceInfo.updatingBalance">
Total Locked Balance:
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
<span class="text-gray"> {{$root.wallet.balanceInfo.lockedBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}} </span>
</div>
<div class="pr" ng-if="!$root.wallet.pendingTxProposals[0]">
<p> No pending spend proposals at the moment.
</div>

View file

@ -36,18 +36,13 @@
</header>
<div class="locked" ng-show="$root.wallet.balanceInfo.lockedBalance && !walletSelection">
<span class="text-gray">
<i class="fi-lock"></i> {{'Locked'|translate}} &nbsp;
{{'Locked'|translate}} &nbsp;
</span>
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<span ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance" class="text-gray">
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
- {{$root.wallet.balanceInfo.lockedBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}
</span>
<i class="fi-info medium right text-gray size-14"
tooltip="{{'Balance locked in pending transaction proposals'|translate}}"
tooltip-placement="left"
data-options="disable_for_touch:true"
tooltip-popup-delay='500'></i>
</div>

View file

@ -1,92 +1,35 @@
<div class="last-transactions-header row collapse" ng-init="txIndex = $index" ng-click="openTxModal(tx)">
<div class="large-9 small-7 columns size-14">
<div ng-show="tx.comment">
<i class="fi-comment-quotes size-18 vm"></i>
<span class="text-light">{{tx.comment}}</span>
</div>
</div>
<div class="large-3 small-5 columns text-right">
<span class="date-message">{{tx.createdTs | amCalendar}}</span>
</div>
</div>
<div class="last-transactions-content">
<div class="last-transactions-content" ng-class="{'line-b':!$last}" ng-click="openTxModal(tx)">
<div class="row" ng-repeat="out in tx.outs">
<div class="large-5 medium-5 small-6 columns size-14">
<b>{{out.value}} {{$root.wallet.settings.unitName}}</b>
<span ng-show="out.alternativeAmount" class="alt-currency gray">
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
<div class="large-6 medium-6 small-12 columns size-16">
<div class="ellipsis m10b" ng-init="pendingForUs = !tx.signedBy[$root.wallet.getMyCopayerId()] && !tx.rejectedBy[$root.wallet.getMyCopayerId()]">
<span ng-class="{'color-alert':pendingForUs, 'hidden':!pendingForUs} "></span>
To:
<span ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock"></i> {{tx.merchant.domain}}</span>
</span>
</span>
<contact address="{{out.address}}" ng-hide="tx.merchant"> </contact>
</div>
</div>
<div class="large-2 medium-2 small-1 columns text-center">
<i class="fi-arrow-right"></i>
</div>
<div class="large-5 medium m0-5 small-5 columns ellipsis size-12">
<div ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
<div class="large-6 medium-6 small-12 columns">
<div class="text-right">
<span class="size-21">
<span ng-if="!$root.updatingBalance">
{{out.value}}
</span>
{{$root.wallet.settings.unitName}}
</span>
<span class="size-14 db m5t text-gray">
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
</span>
</div>
<contact address="{{out.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" ng-hide="tx.merchant" />
</div>
</div>
</div>
<div class="last-transactions-footer" ng-init="myId = $root.wallet.getMyCopayerId()">
<div class="row collapse">
<div class="small-12 columns" ng-show="!tx.sentTs">
<div ng-show="tx.signedBy[myId]">
<button class="secondary left m10r tiny m0 radius" ng-disabled="true"> <i class="fi-check icon-sign check"></i>
<span translate>Signed by me</span>
</button>
</div>
<div ng-show="tx.rejectedBy[myId]">
<button class="warning left m10r tiny m0 radius" ng-disabled="true"> <i class="fi-x icon-sign x"></i>
<span translate>Rejected by me</span>
</button>
</div>
<div ng-show="!tx.signedBy[myId] && !tx.rejectedBy[myId]">
<div class="row">
<div class="large-6 medium-6 small-6 columns text-left">
<button class="button warning tiny m0" ng-click="reject(tx.ntxid)" ng-disabled="loading">
<i class="fi-x icon-sign x"></i> <span translate>Reject</span>
</button>
</div>
<div class="large-6 medium-6 small-6 columns text-right">
<button class="button primary tiny m0" ng-click="sign(tx.ntxid)" ng-disabled="loading">
<i class="fi-check icon-sign check"></i> <span translate>Sign</span>
</button>
</div>
</div>
</div>
<div ng-show="!tx.missingSignatures && !tx.sentTs">
<button class="primary tiny m0" ng-click="broadcast(tx.ntxid)" ng-disabled="loading"> <i class="fi-upload-cloud"></i>
<span translate>Broadcast Transaction</span>
</button>
</div>
</div>
</div>
</div>
<div class="row collapse">
<div class="small-12 small text-gray text-center">
<span ng-click="tx.showDetails = !tx.showDetails">
<span ng-show="!tx.finallyRejected && tx.missingSignatures==1">
<i class="fi-torso"></i>
One signature missing
</span>
<span ng-show="!tx.finallyRejected && tx.missingSignatures>1">
<i class="icon-people"></i>
{{tx.missingSignatures}} signatures missing
</span>
<span ng-show="!tx.finallyRejected && tx.missingSignatures==0">
Copayers
</span>
</span>
</div>
</div>

View file

@ -1,30 +1,39 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<div class="size-14">
<h1 class="m30v">Payment Request</h1>
<p>
<b translate>Signature:</b> {{md.domain}}
<span ng-show="md.pr.ca"><i class="fi-lock color-greeni"></i> {{md.pr.ca}}</span>
<span ng-show="!md.pr.ca"><i class="fi-unlock color-yellowi"></i> Untrusted</span>
<p>
<b translate>Merchant Message:</b>
<br>
{{md.pr.pd.memo || address}}
</p>
<p>
<b translate>Amount:</b>
{{md.unitTotal}} {{$root.wallet.settings.unitName}}
<span class="text-gray" ng-if="isRateAvailable">
{{ alternative }} {{ alternativeIsoCode }}
</span>
<div ng-if="md.expirationDate" class="m10v">
<b>Expires</b>: {{md.expirationDate | amTimeAgo }}
</div>
</div>
<div class="text-right">
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
</div>
<div class="m20t text-center ">
<div class="size-48">
{{md.unitTotal}} {{$root.wallet.settings.unitName}}
</div>
<div class="size-18 m5t text-gray">
{{ alternative }} {{ alternativeIsoCode }}
</div>
</div>
<div class="line-b m10v"></div>
<div class="ellipsis m10v">
<i>To:</i> {{md.domain}}
</div>
<div class="m10v">
<i>Certified by:</i>
<span ng-show="md.pr.ca"><i class="fi-lock color-greeni"></i> {{md.pr.ca}}</span>
<span ng-show="!md.pr.ca"><i class="fi-unlock color-yellowi"></i> Untrusted</span>
</div>
<div ng-if="md.pr.pd.memo" class="m10v lh140">
<i>Merchant Message:</i> <span class="text-gray">
{{md.pr.pd.memo}}
</div>
<div ng-if="md.expirationDate" class="m10v">
<i>Expires:</i> {{md.expirationDate | amTimeAgo }}
</div>

View file

@ -1,103 +1,84 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<div class="size-14">
<div class="text-center size-72 m20t">
<div ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<i ng-class="{
'fi-arrow-left' : btx.action == 'received',
'fi-arrow-right': btx.action == 'sent',
'fi-loop': btx.action == 'moved'}"></i>
</div>
</div>
<div class="text-center" class="m10v">
<div class="tx-amount" ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<b>{{btx.amount}} {{$root.wallet.settings.unitName}}</b>
<span class="alt-currency" ng-class="{
'green' : btx.action == 'received',
'red': btx.action == 'sent',
'gray': btx.action == 'moved'}" ng-show="btx.alternativeAmount != null">
{{btx.alternativeAmount}} {{$root.wallet.settings.alternativeIsoCode}}
</span>
</div>
</div>
<div class="line-b m10t"></div>
<h2>Transaction Details</h2>
<div class="m20v" ng-show="btx.comment">
<i class="fi-comment-quotes"></i> {{btx.comment}}
</div>
<div ng-if="btx.ts || btx.createdTs " class="m10v">
<i translate>Date:</i>
<time> <span>{{ (btx.ts || btx.createdTs ) | amCalendar}}</span>
</time>
[
<time>{{ (btx.ts || btx.createdTs ) | amTimeAgo}}</time>]
</div>
<div class="m10v">
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
<span ng-show="btx.confirmations>0" class="m10v">
<i translate>Confirmations:</i>
<span class="text-gray">{{btx.confirmations}}</span>
</span>
</div>
<div ng-if="btx.addressTo" class="m10v">
<span class="ellipsis">
<i>To:</i>
<span ng-if="btx.merchant">
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
<span ng-show="!btx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{btx.merchant.domain}}</span>
</span>
<span ng-if="!btx.merchant">
<span class="text-gray"> {{btx.labelTo || btx.addressTo}}</span>
</span>
</span>
</div>
<div ng-if="btx.merchant" class="m10v">
{{btx.merchant.pr.pd.memo}}
</div>
<div ng-if="btx.actionList[0]" class="m10v">
<i>Signatures</i>
<ul class="tx-copayers m10t" ng-if="btx.actionList[0]">
<li ng-repeat="c in btx.actionList" ng-class="{'bottom-line-copayers':!$last}">
<span>
<i ng-if="c.actions.rejected" class="fi-x icon-sign x"></i>
<i ng-if="c.actions.sign" class="fi-check icon-sign check"></i>
<i ng-if="!c.actions.sign && !c.actions.rejected && tx.missingSignatures" class="m10r fi-loop icon-rotate"></i>
</span>
<span>
<i ng-if="c.actions.create" class="fi-crown icon-status icon-active m10r"></i>
</span>
<span>{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}</span>
</li>
</ul>
</div>
<div class="m10t oh" ng-if="btx.txid">
<div class="ellipsis text-gray" > ID: {{btx.txid}} </span>
</div>
<a class="right button-setup" ng-click="$root.openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' + btx.txid)">
See it on the blockchain <i class="icon-arrow-right2 vm"></i>
</a>
</div>
<div class="text-right">
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
</div>
<div class="m20t text-center">
<div class="size-48" ng-class="{
'text-primary' : btx.action == 'received',
'text-warning': btx.action == 'sent',
'text-gray': btx.action == 'moved'}">
<span ng-if="btx.action == 'received'">+</span><span ng-if="btx.action == 'sent'">-</span>{{btx.amount}}
{{$root.wallet.settings.unitName}}
</div>
<div class="size-18 m5t text-gray">
{{btx.alternativeAmount}} {{$root.wallet.settings.alternativeIsoCode}}
</div>
</div>
<div class="line-b m10t"></div>
<div ng-if="btx.ts || btx.createdTs " class="m10v">
<time >{{ (btx.ts || btx.createdTs ) | amCalendar}}</time>
<time class="text-gray">[ {{ (btx.ts || btx.createdTs ) | amTimeAgo}} ]</time>
</div>
<div class="m10v" ng-show="btx.comment">
<i>Note:</i> {{btx.comment}}
</div>
<div ng-if="btx.addressTo" class="m10v">
<span class="ellipsis">
<i>To:</i>
<span ng-if="btx.merchant">
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
<span ng-show="!btx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{btx.merchant.domain}}</span>
</span>
<span ng-if="!btx.merchant">
<span class="text-gray"> {{btx.labelTo || btx.addressTo}}</span>
</span>
</span>
</div>
<div ng-if="btx.merchant" class="lh140 m10v">
<i>Merchant Message:</i> <span class="text-gray">{{btx.merchant.pr.pd.memo}}</span>
</div>
<div class="m10v">
<span class="label alert" ng-show="!btx.ts && (!btx.confirmations || btx.confirmations == 0)">
<span translate>Unconfirmed</span>
</span>
<span ng-show="btx.confirmations>0" class="m10v">
<i translate>Confirmations:</i>
<span class="text-gray">{{btx.confirmations}}</span>
</span>
</div>
<div ng-if="btx.actionList[0]" class="m10v">
<i>Signatures:</i>
<ul class="tx-copayers m10t" ng-if="btx.actionList[0]">
<li ng-repeat="c in btx.actionList" ng-class="{'bottom-line-copayers':!$last}" ng-if="c.actions.rejected || c.actions.sign || c.actions.create">
<span>
<i ng-if="c.actions.rejected" class="fi-x icon-sign x"></i>
<i ng-if="c.actions.sign" class="fi-check icon-sign check"></i>
</span>
<span>
<i ng-if="c.actions.create" class="fi-crown icon-status icon-active m10r"></i>
</span>
<span>{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}</span>
</li>
</ul>
</div>
<div class="ellipsis text-gray m10v" ng-if="btx.txid" > ID: {{btx.txid}} </span>
</div>
<div class="oh">
<a class="button-setup right" ng-click="$root.openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' + btx.txid)" ng-if="btx.txid">
See it on the blockchain <i class="icon-arrow-right2 vm"></i>
</a>
</div>

View file

@ -1,6 +1,5 @@
<div class="size-14">
<div class="m20tp">
<div class="text-center size-72 m10v">
<div class="text-primary">
<i class="fi-check"></i>

View file

@ -1,78 +1,74 @@
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<div class="text-right">
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
</div>
<h1 class="m30v">Transaction Proposal Details</h1>
<div class="row" ng-repeat="out in tx.outs">
<div class="large-5 medium-5 small-6 columns size-14">
<b>{{out.value}} {{$root.wallet.settings.unitName}}</b>
<span ng-show="out.alternativeAmount" class="alt-currency gray">
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
</span>
<div ng-repeat="out in tx.outs">
<div class="m20t text-center ">
<div class="size-48">
{{out.value}} {{$root.wallet.settings.unitName}}
</div>
<div class="large-2 medium-2 small-1 columns text-center">
<i class="fi-arrow-right"></i>
<div class="size-18 m5t text-gray">
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
</div>
<div class="large-5 medium m0-5 small-5 columns ellipsis size-12">
<div ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
</span>
</div>
<contact address="{{out.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" ng-hide="tx.merchant" />
</div>
<div class="text-light size-14">{{tx.comment}}</div>
<div class="line-b m10t"></div>
<div ng-if="tx.merchant" class="m20v">
{{tx.merchant.pr.pd.memo}}
</div>
<div class="line-b m10v"></div>
<div ng-if="tx.createdTs " class="m10v">
<i translate>Date:</i>
<time> <span>{{ tx.createdTs | amCalendar}}</span></time>
[<time>{{ tx.createdTs | amTimeAgo}}</time>]
</div>
<div ng-if="tx.addressTo" class="m10v">
<span class="ellipsis">
<i>To:</i>
<span ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
</span>
<span ng-if="!tx.merchant">
<span class="text-gray"> {{tx.labelTo || tx.addressTo}}</span>
</span>
<div class="ellipsis m10v">
To:
<span ng-if="tx.merchant">
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{tx.merchant.domain}}</span>
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock color-yellowi"></i> {{tx.merchant.domain}}</span>
</span>
</span>
<contact address="{{out.address}}" ng-hide="tx.merchant"></contact>
</div>
</div>
<div ng-if="tx.merchant && tx.merchant.expirationDate" class="m10v">
<i>Expires</i>: {{tx.merchant.expirationDate | amTimeAgo }}
</div>
<div ng-if="tx.ts || tx.createdTs " class="m10v">
<time>{{ (tx.ts || tx.createdTs ) | amCalendar}}</time>
<time class="text-gray">[ {{ (tx.ts || tx.createdTs ) | amTimeAgo}} ]</time>
</div>
<div class="m10v" ng-show="tx.comment">
<i>Note:</i> {{tx.comment}}
</div>
<div ng-if="tx.actionList[0]" class="m10v">
<i>Signatures</i>
<ul class="tx-copayers m10t" ng-if="tx.actionList[0]">
<li ng-repeat="c in tx.actionList" ng-class="{'bottom-line-copayers':!$last}">
<span>
<div ng-if="tx.merchant" class="lh140">
<i>Merchant Message:</i> <span class="text-gray">{{tx.merchant.pr.pd.memo}}</span>
</div>
<div ng-if="tx.merchant && tx.merchant.expirationDate" class="m10v">
<i>Expires</i>: {{tx.merchant.expirationDate | amTimeAgo }}
</div>
<div ng-if="tx.actionList[0]" class="m10v">
<i>Signatures:</i>
<ul class="tx-copayers m10t" ng-if="tx.actionList[0]">
<li ng-repeat="c in tx.actionList" ng-class="{'bottom-line-copayers':!$last}">
<span>
<i ng-if="c.actions.rejected" class="fi-x icon-sign x"></i>
<i ng-if="c.actions.sign" class="fi-check icon-sign check"></i>
<i ng-if="!c.actions.sign && !c.actions.rejected && tx.missingSignatures" class="m10r fi-loop icon-rotate"></i>
</span>
<span>
<span>
<i ng-if="c.actions.create" class="fi-crown icon-status icon-active m10r"></i>
</span>
<span>{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}</span>
</li>
</ul>
<span>{{c.cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(c.cId)}}</span>
</li>
</ul>
</div>
<div class="row collapse" ng-show="!tx.signedBy[$root.wallet.getMyCopayerId()] && !tx.rejectedBy[$root.wallet.getMyCopayerId()]">
<div class="large-6 medium-6 small-6 columns">
<button class="button warning m0" ng-click="reject(tx.ntxid)" ng-disabled="loading">
<i class="fi-x icon-sign x"></i> <span translate>Reject</span>
</button>
</div>
<div class="large-6 medium-6 small-6 columns text-right">
<button class="button primary m0" ng-click="sign(tx.ntxid)" ng-disabled="loading">
<i class="fi-check icon-sign check"></i> <span translate>Sign</span>
</button>
</div>
</div>

View file

@ -1,3 +1,8 @@
<div class="text-right">
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
</div>
<div class="text-center" ng-init="isComplete = item.isComplete(); networkName = item.getNetworkName()">
<h1>{{item.name || item.id }}</h1>
<h3>
@ -54,5 +59,4 @@
</div>
</div>
<a class="close-reveal-modal" ng-click="close()">&#215;</a>
</div>

View file

@ -1,6 +1,10 @@
<div ng-init="setWallets()">
<a class="close-reveal-modal" ng-click="cancel()">&#215;</a>
<div class="text-right">
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
</div>
<div ng-init="setWallets()">
<h1 class="line-b"> Select a wallet to make the payment</h1>

View file

@ -6,7 +6,22 @@
</div>
</div>
<div class="row">
<div class="row" ng-show="fetchingURL">
<div class="large-12 columns">
<div class="panel">
<div class="box-notification">
<div class="box-icon secondary">
<i class="fi-bitcoin-circle icon-rotate spinner size-24"></i>
</div>
<span class="text-secondary size-14">
Fetching Payment Information...
</span>
</div>
</div>
</div>
</div>
<div class="row" ng-show="!fetchingURL">
<div class="large-12 columns">
<form name="sendForm" ng-submit="submitForm(sendForm)" novalidate>
<div class="panel">
@ -17,6 +32,7 @@
<span class="text-warning size-14">
{{error|translate}}
</span>
<a class="close-notification text-warning" ng-click="error=null">&#215;</a>
</div>
<div class="box-notification" ng-show="success">
<div class="box-icon success">
@ -25,6 +41,7 @@
<span class="text-success size-14">
{{success|translate}}
</span>
<a class="close-notification text-success" ng-click="success=null">&#215;</a>
</div>
<div ng-if="!_merchantData">
@ -67,10 +84,10 @@
<span translate>Payment to</span>
</label>
<div class="input">
<input type="text" id="domain" name="domain" ng-model="_domain" ng-disabled="1">
<i class="fi-lock color-greeni"></i>
</div>
<div class="input">
<input type="text" id="domain" name="domain" ng-model="_domain" ng-disabled="1">
<i class="fi-lock color-greeni"></i>
</div>
</div>
</div>
@ -120,15 +137,6 @@
</div>
</div>
</div>
<div class="row" ng-show="fetchingURL">
<div class="large-12 columns">
<p>>>
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
Fetching payment request
</div>
</div>
<div class="row">
<div class="large-12 columns">
<label for="comment"><span translate>Note</span>