mirror of https://github.com/BTCPrivate/copay.git
175 lines
6.6 KiB
HTML
175 lines
6.6 KiB
HTML
<nav class="tab-bar">
|
|
<section class="left-small">
|
|
<a ng-click="cancel()">
|
|
<i class="icon-arrow-left3 icon-back"></i>
|
|
<span class="text-back" translate>Back</span>
|
|
</a>
|
|
</section>
|
|
<section class="middle tab-bar-section">
|
|
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
|
|
Payment Proposal
|
|
</h1>
|
|
</section>
|
|
</nav>
|
|
<div class="modal-content fix-modals-touch"
|
|
ng-swipe-disable-mouse
|
|
ng-swipe-right="cancel()"
|
|
ng-init="updateCopayerList()">
|
|
<h4 class="title m0" translate>Details</h4>
|
|
<ul class="no-bullet size-14 m0">
|
|
<li ng-if="!tx.hasMultiplesOutputs"
|
|
class="line-b p10 oh"
|
|
ng-click="copyAddress(tx.toAddress)">
|
|
<span class="text-gray" translate>To</span>:
|
|
<contact class="right enable_text_select" address="{{tx.toAddress}}"></contact>
|
|
</li>
|
|
<li class="line-b p10">
|
|
<span ng-show="tx.hasMultiplesOutputs" class="text-gray" translate>Total</span>
|
|
<span ng-show="!tx.hasMultiplesOutputs" class="text-gray" translate>Amount</span>:
|
|
<span class="right">{{tx.amountStr}}
|
|
<span ng-show="tx.alternativeAmountStr" class="label gray radius">{{tx.alternativeAmountStr}}</span>
|
|
</span>
|
|
</li>
|
|
<li class="line-b p10 oh">
|
|
<span class="text-gray" translate>Note</span>:
|
|
<span class="right">{{tx.message}}</span>
|
|
</li>
|
|
|
|
<li ng-show="tx.hasMultiplesOutputs" class="line-b p10 oh"
|
|
ng-click="showMultiplesOutputs = !showMultiplesOutputs">
|
|
<span class="text-gray" translate>Recipients</span>:
|
|
<span class="right">{{tx.recipientCount}}
|
|
<i ng-show="showMultiplesOutputs" class="icon-arrow-up3 size-24"></i>
|
|
<i ng-show="!showMultiplesOutputs" class="icon-arrow-down3 size-24"></i>
|
|
</span>
|
|
</li>
|
|
|
|
<div class="line-b" ng-show="tx.hasMultiplesOutputs && showMultiplesOutputs"
|
|
ng-repeat="output in tx.outputs"
|
|
ng-include="'views/includes/output.html'">
|
|
</div>
|
|
|
|
<li class="line-b p10">
|
|
<span class="text-gray" translate>Fee</span>:
|
|
<span class="right">{{tx.feeStr}}</span>
|
|
</li>
|
|
<li class="line-b p10">
|
|
<span class="text-gray" translate>Time</span>:
|
|
<span class="right">
|
|
<time>{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
|
|
</span>
|
|
</li>
|
|
<li class="line-b p10 oh">
|
|
<span class="text-gray" translate>Created by</span>:
|
|
<span class="right">{{tx.creatorName}}</span>
|
|
</li>
|
|
</ul>
|
|
<div class="p10 text-center size-12" ng-show="!currentSpendUnconfirmed && tx.hasUnconfirmedInputs">
|
|
<span class="text-warning" translate>Warning: this transaction has unconfirmed inputs</span>
|
|
</div>
|
|
<div ng-if="tx.paypro">
|
|
<h4 class="title m0" translate>Payment details</h4>
|
|
<ul class="no-bullet size-14 m0">
|
|
<li class="line-b p10">
|
|
<span class="text-gray" translate>To</span>:
|
|
<span class="right">
|
|
<span>
|
|
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.paypro.domain}}</span>
|
|
<span ng-show="!tx.merchant.pr.ca"><i class="fi-unlock"></i> {{tx.paypro.domain}}</span>
|
|
</span>
|
|
<contact address="{{tx.toAddress}}" ng-hide="tx.merchant"></contact>
|
|
</span>
|
|
</li>
|
|
<li class="line-b p10">
|
|
<span class="text-gray" translate>Expires</span>:
|
|
<span class="right">
|
|
<time>{{tx.paypro.expirationDate | amTimeAgo }}</time>
|
|
</span>
|
|
</li>
|
|
<li class="line-b p10">
|
|
<span class="text-gray">Merchant Message:</span>
|
|
<span class="db">{{tx.paypro.pr.pd.memo}}</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div ng-if="tx.actions[0] && !txRejected && !txBroadcasted">
|
|
<h4 class="title m0" translate>Participants</h4>
|
|
<ul class="no-bullet size-14 m0">
|
|
<li class="line-b p10 text-gray" ng-repeat="ac in tx.actions">
|
|
<i class="icon-contact size-24"></i>
|
|
{{ac.copayerName}} <span ng-if="ac.copayerId == copayerId">({{'Me'|translate}})</span>
|
|
<span class="right">
|
|
<i ng-if="ac.type == 'reject'" class="fi-x icon-sign x db"></i>
|
|
<i ng-if="ac.type == 'accept'" class="fi-check icon-sign check db"></i>
|
|
<i ng-if="!ac.type" class="fi-loop"></i>
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="box-notification m20t" ng-show="error">
|
|
<span class="text-warning size-14">
|
|
{{error|translate}}
|
|
</span>
|
|
</div>
|
|
|
|
<div class="row column m20t text-center text-warning" ng-if="tx.removed" translate>
|
|
The payment was removed by creator
|
|
</div>
|
|
|
|
<div class="row m20t" ng-if="tx.pendingForUs">
|
|
<div class="large-5 medium-5 small-6 columns">
|
|
<button class="button outline round dark-gray expand" ng-click="reject(tx);"
|
|
ng-disabled="loading">
|
|
<i class="fi-x"></i>
|
|
<span translate>Reject</span>
|
|
</button>
|
|
</div>
|
|
<div class="large-5 medium-5 small-6 columns text-right" ng-show="canSign">
|
|
<button class="button primary round expand" ng-click="sign(tx)"
|
|
ng-style="{'background-color':color}"
|
|
ng-disabled="loading">
|
|
<i class="fi-check"></i>
|
|
<span translate>Accept</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="text-center text-gray m20t" ng-show="tx.status != 'pending'">
|
|
<div ng-show="tx.status=='accepted' && !tx.isGlidera" >
|
|
<div class="m10b size-12" translate>Payment accepted, but not yet broadcasted</div>
|
|
|
|
<button class="primary round"
|
|
ng-click="broadcast(tx)"
|
|
ng-disabled="loading"
|
|
> <i class="fi-upload-cloud"></i>
|
|
<span translate>Broadcast Payment</span>
|
|
</button>
|
|
</div>
|
|
<div ng-show="tx.status=='accepted' && tx.isGlidera" >
|
|
<div class="m10 size-12" translate>Payment accepted. It will be broadcasted by Glidera. In case there is a problem, it can be deleted 6 hours after it was created.</div>
|
|
</div>
|
|
<div class="text-success m10t"
|
|
ng-show="tx.status=='broadcasted'" translate>
|
|
Payment Sent
|
|
</div>
|
|
<div class="text-center text-warning m10t"
|
|
ng-show="tx.status=='rejected'" translate>
|
|
Payment Rejected
|
|
</div>
|
|
</div>
|
|
|
|
<div class="columns text-center m20t" ng-if="tx.canBeRemoved && isShared">
|
|
<div class="text-gray size-12 m20b" ng-if="!tx.isGlidera" translate>
|
|
* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created.
|
|
</div>
|
|
<button class="tiny round outline dark-gray warning" ng-click="remove(tx)"
|
|
ng-disabled="loading" ng-show="tx.canBeRemoved">
|
|
<i class="fi-trash size-14 m5r"></i>
|
|
<span translate>Delete Payment Proposal</span>
|
|
</button>
|
|
</div>
|
|
|
|
<div class="extra-margin-bottom"></div>
|
|
</div>
|