mirror of https://github.com/BTCPrivate/copay.git
133 lines
5.3 KiB
HTML
133 lines
5.3 KiB
HTML
<nav class="tab-bar text-right hide-for-large-up">
|
|
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
|
</nav>
|
|
<div class="modal-mobile">
|
|
<div class="header-modal">
|
|
<div class="row collapse" ng-repeat="out in tx.outs">
|
|
<div class="small-10 columns">
|
|
<div class="ellipsis p10b size-16 m20r">
|
|
<span class="tx-proposal size-12 m5r"> <i ng-class="{'active':pendingForUs}" class="fi-arrow-right"></i> </span>
|
|
<span class="text-gray">
|
|
<span translate>To:</span>
|
|
<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>
|
|
<contact address="{{out.address}}" ng-hide="tx.merchant"></contact>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="p25l" ng-class="{'text-gray':!pendingForUs}">
|
|
<div class="size-21 text-bold m5b">
|
|
{{out.value}} {{$root.wallet.settings.unitName}}
|
|
</div>
|
|
<span class="alt-currency black size-12" ng-class="{'gray':!pendingForUs}">
|
|
{{out.alternativeAmount}} {{out.alternativeIsoCode}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a class="close-reveal-modal show-for-large-up" ng-click="cancel()"><i class="fi-x size-18"></i></a>
|
|
</div>
|
|
|
|
<div class="m10v line-b size-14" ng-show="tx.comment">
|
|
<div class="oh" ng-if="tx.ts || tx.createdTs ">
|
|
<p class="left m5b">{{$root.iden.getName()}}</p>
|
|
<div class="text-gray text-right m5t size-12">
|
|
<time>{{ (tx.ts || tx.createdTs ) | amTimeAgo}}</time>
|
|
</div>
|
|
</div>
|
|
<div class="text-gray m10b">
|
|
{{tx.comment}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="m10v line-b size-14" ng-if="tx.merchant">
|
|
<div class="oh">
|
|
<p class="left m5b" translate>Merchant Message:</p>
|
|
<div class="text-gray text-right m5t size-12" ng-if="tx.merchant && tx.merchant.expirationDate">
|
|
<span><i>Expires</i>: {{tx.merchant.expirationDate | amTimeAgo }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="text-gray m10b">
|
|
{{tx.merchant.pr.pd.memo}}
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-if="tx.actionList[0]" class="m10v">
|
|
<i translate>Signatures:</i>
|
|
<ul class="tx-copayers m10t" ng-if="tx.actionList[0]">
|
|
<li ng-repeat="cId in registeredCopayerIds"
|
|
ng-class="{'bottom-line-copayers':!$last}">
|
|
<span>
|
|
<i ng-if="$root.wallet.txProposals.txps[tx.ntxid].rejectedBy[cId]" class="fi-x icon-sign x"></i>
|
|
<i ng-if="$root.wallet.txProposals.txps[tx.ntxid].signedBy[cId]" class="fi-check icon-sign check"></i>
|
|
<i ng-if="!$root.wallet.txProposals.txps[tx.ntxid].rejectedBy[cId]
|
|
&& !$root.wallet.txProposals.txps[tx.ntxid].signedBy[cId]" class="m10r fi-loop icon-rotate"></i>
|
|
</span>
|
|
<span>
|
|
<i ng-if="$root.wallet.txProposals.txps[tx.ntxid].creator == cId"
|
|
class="fi-crown icon-status icon-active m10r"></i>
|
|
</span>
|
|
<span>{{cId === $root.wallet.getMyCopayerId() ? 'Me' : $root.wallet.publicKeyRing.nicknameForCopayer(cId)}}</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="box-notification" ng-show="error">
|
|
<div class="box-icon error">
|
|
<i class="fi-x size-24"></i>
|
|
</div>
|
|
<span class="text-warning size-14">
|
|
{{error|translate}}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="row collapse m10t"
|
|
ng-init="hideSign = false; hideReject = false"
|
|
ng-show="!tx.signedBy[$root.wallet.getMyCopayerId()] && !tx.rejectedBy[$root.wallet.getMyCopayerId()] &&
|
|
$root.wallet.txProposals.txps[tx.ntxid].builder.build().countInputMissingSignatures(0) != 0">
|
|
<div class="large-5 medium-5 small-5 columns">
|
|
<button class="button warning m0 expand" ng-click="hideTxInfo = true; hideSign = true; reject(tx.ntxid);"
|
|
ng-disabled="loading" ng-show="!hideReject">
|
|
<i class="fi-x icon-sign x"></i>
|
|
<span translate>Reject</span>
|
|
</button>
|
|
</div>
|
|
<div class="large-5 medium-5 small-5 columns text-right">
|
|
<button class="button primary m0 expand" ng-click="hideTxInfo = true; hideReject = true; sign(tx.ntxid)"
|
|
ng-disabled="loading" ng-show="!hideSign">
|
|
<i class="fi-check icon-sign check"></i>
|
|
<span translate>Sign</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-show="!hideTxInfo">
|
|
<div class="row collapse m10t"
|
|
ng-show="!$root.wallet.txProposals.txps[tx.ntxid].sentTs
|
|
&& $root.wallet.txProposals.txps[tx.ntxid].builder.build().countInputMissingSignatures(0) == 0">
|
|
<button class="primary tiny m0 expand"
|
|
ng-click="broadcast(tx.ntxid)"
|
|
ng-disabled="loading"> <i class="fi-upload-cloud"></i>
|
|
<span translate>Broadcast Transaction</span>
|
|
</button>
|
|
</div>
|
|
<div class="text-success m10t oh"
|
|
ng-show="$root.wallet.txProposals.txps[tx.ntxid].sentTs
|
|
&& $root.wallet.txProposals.txps[tx.ntxid].isFullySigned()">
|
|
<a class="button outline light-gray tiny right"
|
|
ng-click="$root.openExternalLink('http://' + getShortNetworkName() + '.insight.is/tx/' +
|
|
$root.wallet.txProposals.txps[tx.ntxid].sentTxid)">
|
|
<span translate>See it on the blockchain</span> <i class="icon-arrow-right2 vm"></i>
|
|
</a>
|
|
<div class="m10t" translate>Transaction sent!</div>
|
|
</div>
|
|
<div class="text-center text-warning"
|
|
ng-show="!$root.wallet.txProposals.txps[tx.ntxid].sentTs &&
|
|
$root.wallet.txProposals.txps[tx.ntxid].isFinallyRejected($root.wallet.maxRejectCount())" translate>
|
|
Transaction finally rejected
|
|
</div>
|
|
</div>
|
|
</div>
|