better tx details

This commit is contained in:
Matias Alejo Garcia 2014-12-09 14:27:09 -03:00
parent 583be2ca19
commit 5f5d74944f
6 changed files with 71 additions and 81 deletions

View File

@ -417,20 +417,6 @@ a:hover {
border-radius: 3px 3px 0 3px;
}
a.missing-copayers {
background: #7A8C9E;
position: absolute;
display: block;
right: -1px;
bottom: -18px;
padding: 0.2rem 0.5rem;
font-size: 10px;
border-radius: 0 0 3px 3px;
text-transform: uppercase;
color: #fff;
font-weight: 700;
}
ul.tx-copayers {
background: #E4E8EC;
padding: 0.3rem 0.8rem;

View File

@ -174,7 +174,7 @@ angular.module('copayApp.controllers').controller('HomeController', function($sc
}
}
});
}
};
function getParam(sname) {
var params = location.search.substr(location.search.indexOf("?") + 1);

View File

@ -1,6 +1,6 @@
'use strict';
angular.module('copayApp.controllers').controller('HomeWalletController', function($scope, $rootScope, $timeout, $filter, $location, rateService, notification, identityService) {
angular.module('copayApp.controllers').controller('HomeWalletController', function($scope, $rootScope, $timeout, $filter, $modal, rateService, notification, identityService) {
$scope.initHome = function() {
var w = $rootScope.wallet;
@ -125,4 +125,28 @@ angular.module('copayApp.controllers').controller('HomeWalletController', functi
_updateTxs();
};
$scope.openTxModal = function(btx) {
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.btx = btx;
$scope.getShortNetworkName = function() {
var w = $rootScope.wallet;
return w.getNetworkName().substring(0, 4);
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};
$modal.open({
templateUrl: 'views/modals/tx-details.html',
windowClass: 'tiny',
controller: ModalInstanceCtrl,
});
};
});

View File

@ -13,8 +13,8 @@
</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'">
<div class="row size-14" ng-click="openTxModal(btx)">
<div class="panel" ng-repeat="btx in blockchain_txs | orderBy:'-ts'" ng-click="openTxModal(btx)">
<div class="row size-14">
<div class="large-2 medium-3 small-4 columns">
<div class="tx-date oh">

View File

@ -1,5 +1,4 @@
<div class="last-transactions-header row collapse" ng-init="txIndex = $index">
<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>
@ -22,25 +21,21 @@
<div class="large-2 medium-2 small-1 columns text-center">
<i class="fi-arrow-right"></i>
</div>
<div class="large-5 medium-5 small-5 columns ellipsis size-12">
<contact address="{{out.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right" />
<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>
<div class="m10t" ng-show="!!tx.merchant">
<div class="send-note">
<span><b>{{tx.merchant.pr.pd.memo}}</b></span> <br>
<span>Expires {{tx.merchant.pr.pd.expires * 1000 | amTimeAgo }} </span>
<span ng-show="tx.merchant.domain">[{{tx.merchant.domain}}]</span>
<span ng-show="!!tx.merchant.pr.ca"><i class="icon-locked size-14"></i> {{tx.merchant.pr.ca}}</span>
<span ng-show="!tx.merchant.pr.ca" style="color:red;weight:bold;"><i class="fi-unlock"></i> Untrusted</span>
</div>
</div>
<div class="line-b"></div>
</div>
<div class="last-transactions-footer">
<div class="row collapse">
<div class="large-6 medium-12 small-12 columns" ng-show="!tx.sentTs">
<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>
@ -52,64 +47,45 @@
</button>
</div>
<div ng-show="!tx.signedBy[myId] && !tx.rejectedBy[myId]">
<div class="hide-for-small-only">
<button class="primary tiny m0 m15r" ng-click="sign(tx.ntxid)" ng-disabled="loading">
<i class="fi-check icon-sign check"></i> <span translate>Sign</span>
</button>
<button class="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="show-for-small-only row">
<button class="primary tiny small-5 columns m10b" ng-click="sign(tx.ntxid)" ng-disabled="loading">
<i class="fi-check icon-sign check"></i> <span translate>Sign</span>
</button>
<button class="warning tiny small-5 columns m10b" ng-click="reject(tx.ntxid)" ng-disabled="loading">
<i class="fi-x icon-sign x" ></i> <span translate>Reject</span>
</button>
<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="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>
</button>
</div>
</div>
<div class="large-6 columns small text-gray show-for-large-up text-right">
<div>
<strong translate>Fee</strong>: {{tx.fee}} {{$root.wallet.settings.unitName}}
</div>
</div>
</div>
</div>
<a class="missing-copayers" ng-click="tx.showDetails = !tx.showDetails">
<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">
<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">
<span ng-show="!tx.finallyRejected && tx.missingSignatures==0">
Copayers
</span>
<i ng-class="{'icon-arrow-up2':tx.showDetails, 'icon-arrow-down2':!tx.showDetails}"></i>
</a>
<ul class="tx-copayers" ng-show="tx.showDetails">
<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>
<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>

View File

@ -33,9 +33,9 @@
<h1 class="m30v">Transaction Details</h1>
<div class="ellipsis"> <b>ID:</b> <span class="text-gray"> {{btx.txid}} </span></div>
<div ng-if="btx.ts" class="m10v">
<time><b>{{btx.ts | amTimeAgo}}</b></time>
:
<time> <span class="text-gray">{{btx.ts | amCalendar}}</span></time>
<time> <span>{{btx.ts | amCalendar}}</span></time>
[<time>{{btx.ts | amTimeAgo}}</time>]
</div>
<div class="m10v">
@ -51,15 +51,19 @@
<div ng-if="btx.addressTo" class="m10v">
<span class="ellipsis">
<b>To:</b>
<span class="text-gray"> {{btx.labelTo || btx.addressTo}}</span>
<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">
Payment Protocol Information:
<br>{{btx.merchant.pr.pd.memo}}</b>
<br>{{btx.paymentAckMemo}}
<span ng-show="tx.merchant.domain">[{{btx.merchant.domain}}]</span>
<div ng-if="btx.merchant" class="m10v">
{{btx.merchant.pr.pd.memo}}
</div>
<div ng-if="btx.actionList[0]" class="m10v">