2014-11-30 06:08:51 -08:00
< div class = "send" ng-controller = "SendController" ng-init = "init()" >
2014-12-04 05:36:58 -08:00
< div class = "row" >
< div class = "large-12 medium-12 small-12 columns" >
< div ng-show = "txps.length != 0" class = "line-dashed-h m20b" > < / div >
< h1 class = "hide-for-large-up" > {{$root.title}}< / h1 >
< / div >
< / div >
2014-11-29 13:35:48 -08:00
< div class = "row" ng-show = "txps.length != 0" >
2014-11-04 10:14:42 -08:00
< div class = "large-12 columns" >
< h2 translate > Pending Transactions Proposals< / h2 >
2014-12-02 10:32:42 -08:00
< div class = "panel last-transactions pr"
2014-11-29 13:35:48 -08:00
ng-repeat="tx in txps | paged"
2014-11-04 10:14:42 -08:00
ng-include="'views/includes/transaction.html'">< / div >
< / div >
2014-08-06 09:59:33 -07:00
< / div >
2014-11-04 11:32:43 -08:00
< div class = "row" >
2014-11-19 20:48:22 -08:00
< div class = "large-12 columns" >
2014-12-01 12:08:03 -08:00
< h2 ng-show = "txps.length != 0" translate > Create Transaction Proposal< / h2 >
2014-11-27 06:42:40 -08:00
< form name = "sendForm" ng-submit = "submitForm(sendForm)" novalidate >
2014-11-18 12:01:43 -08:00
< div class = "panel" >
< p class = "text-warning size-16"
ng-show="error">
< i class = "fi-alert" > < / i >
{{error|translate}}
< / p >
2014-11-19 21:05:57 -08:00
< p class = "text-success size-16"
ng-show="success">
< i class = "fi-check" > < / i >
{{success|translate}}
< / p >
2014-11-18 12:01:43 -08:00
< div class = "row collapse" >
< label for = "address" class = "left" >
< span translate > To< / span >
< i class = "fi-info size-12" href = "#"
data-options="disable_for_touch:true"
tooltip-popup-delay='500'
tooltip="{{'Enter a valid Bitcoin address. Payment Protocol URLs are also supported'|translate}}"
tooltip-trigger="mouseenter"
tooltip-placement="right">< / i >
2014-12-01 14:01:10 -08:00
< small translate ng-hide = "!sendForm.address.$pristine && address" > required< / small >
2014-11-18 12:01:43 -08:00
< / label >
< span translate class = "has-error right size-12" ng-show = "sendForm.address.$invalid && address" >
< span class = "icon-input" > < i class = "fi-x" > < / i > < / span >
Not valid
< / span >
< small class = "icon-input right" ng-show = "!sendForm.address.$invalid && address" > < i class = "fi-check" > < / i > < / small >
2014-11-27 13:33:07 -08:00
< / div >
2014-11-18 12:01:43 -08:00
2014-11-27 13:33:07 -08:00
< div class = "input" >
2014-12-01 14:01:10 -08:00
< input type = "text" id = "address" name = "address" ng-disabled = "loading || !!$root.merchant || isPayUri"
placeholder="{{'Bitcoin address'|translate}}" ng-model="address" valid-address required>
2014-11-27 13:33:07 -08:00
< i class = "fi-address-book" > < / i >
< div ng-hide = "showScanner || disableScanner" >
< a class = "postfix button black" ng-click = "openScanner()" > < i class = "fi-camera size-24" > < / i > < / a >
2014-09-08 14:58:24 -07:00
< / div >
2014-11-27 13:33:07 -08:00
< div ng-show = "showScanner" >
< a translate class = "postfix button warning" ng-click = "cancelScanner()" > < i class = "fi-x size-18" > < / i > < / a >
< / div >
< / div >
2014-11-19 06:48:36 -08:00
2014-11-27 13:33:07 -08:00
< div id = "scanner"
class="row"
ng-if="showScanner"
ng-include="'views/includes/scanner.html'">
2014-09-08 14:58:24 -07:00
< / div >
2014-11-18 12:01:43 -08:00
2014-11-27 13:33:07 -08:00
2014-11-18 12:01:43 -08:00
< div class = "row" >
< div class = "large-6 medium-6 columns" >
< div class = "row collapse" >
< label for = "amount" class = "small-7 columns m5b" > < span translate > Amount< / span >
2014-12-01 14:01:10 -08:00
< small translate ng-hide = "!sendForm.amount.$pristine && amount" > required< / small >
2014-11-18 12:01:43 -08:00
< / label >
2014-12-01 14:01:10 -08:00
< span translate class = "has-error right size-12" ng-show = "sendForm.amount.$invalid & &
!sendForm.amount.$pristine & & (notValidAmount || amount)">
2014-11-18 12:01:43 -08:00
< span class = "icon-input" > < i class = "fi-x" > < / i > < / span >
Not valid
< / span >
< small class = "icon-input right" ng-show = "!sendForm.amount.$invalid & &
!sendForm.amount.$pristine">< i class = "fi-check" > < / i > < / small >
2014-11-27 13:33:07 -08:00
2014-11-18 12:01:43 -08:00
< div class = "small-9 columns" >
2014-11-27 13:33:07 -08:00
< div class = "input" >
< input type = "number" id = "amount"
2014-12-01 14:01:10 -08:00
ng-disabled="loading || ($root.merchant & & +$root.merchant.total > 0) || isPayUri"
2014-11-27 13:33:07 -08:00
name="amount" placeholder="{{'Amount'|translate}}" ng-model="amount"
2014-12-02 12:06:22 -08:00
ng-minlength="0.00000001" ng-maxlength="10000000000" valid-amount required
2014-11-27 13:33:07 -08:00
autocomplete="off">
2014-11-28 11:27:21 -08:00
< i class = "icon-bitcoin" > < / i >
2014-11-27 13:33:07 -08:00
< / div >
2014-11-18 12:01:43 -08:00
< a class = "small input-note" title = "{{'Send all funds'|translate}}"
ng-show="topAmount & & (!$root.merchant || +$root.merchant.total === 0)"
ng-click="setTopAmount(sendForm)">
< span translate > Use all funds< / span > {{$root.wallet.settings.unitName}}
< / a >
< / div >
< div class = "small-3 columns" >
< span class = "postfix" > {{$root.wallet.settings.unitName}}< / span >
< / div >
2014-07-22 06:54:12 -07:00
< / div >
2014-11-18 12:01:43 -08:00
< / div >
< div class = "large-6 medium-6 columns" >
< div class = "row collapse" >
< label for = "alternative" > < span translate > Amount in< / span > {{ alternativeName }} < / label >
< div class = "small-9 columns" >
2014-11-27 13:33:07 -08:00
< div class = "input" >
2014-12-01 14:01:10 -08:00
< input type = "number" id = "alternative"
ng-disabled="loading || !isRateAvailable || ($root.merchant & & +$root.merchant.total > 0) ||
isPayUri"
2014-12-01 00:24:19 -08:00
name="alternative" placeholder="{{'Amount'|translate}}" ng-model="alternative" requiredautocomplete="off">
2014-11-28 11:27:21 -08:00
< i class = "icon-usd" > < / i >
2014-11-27 13:33:07 -08:00
< / div >
2014-11-18 12:01:43 -08:00
< / div >
< div class = "small-3 columns" >
< span class = "postfix" > {{alternativeIsoCode}}< / span >
< / div >
2014-09-08 14:58:24 -07:00
< / div >
2014-07-22 06:54:12 -07:00
< / div >
2014-07-18 14:56:39 -07:00
< / div >
2014-07-16 13:59:28 -07:00
2014-11-18 12:01:43 -08:00
< div class = "row" >
2014-11-19 21:05:57 -08:00
< div class = "large-12 columns" ng-show = "fetchingURL" >
< h3 >
2014-11-19 22:10:43 -08:00
< i class = "fi-bitcoin-circle icon-rotate spinner" > < / i >
2014-11-19 21:05:57 -08:00
Fetching payment
< / h3 >
< p > From {{fetchingURL}}
< / div >
2014-12-01 14:01:10 -08:00
< div class = "large-12 columns" ng-show = "!!$root.merchant || isPayUri" >
< h3 ng-show = "!isPayUri" > This is a payment protocol transaction< / h3 >
2014-11-18 12:01:43 -08:00
< div class = "send-note" >
< p >
2014-12-01 14:01:10 -08:00
< span ng-show = "isPayUri" > Payment to: < / span >
< b > {{$root.merchant.pr.pd.memo || address}}< / b >
2014-11-18 12:01:43 -08:00
< / p >
2014-11-19 22:10:43 -08:00
2014-11-18 12:01:43 -08:00
< p >
2014-11-30 13:28:55 -08:00
< i > {{amount + defaultFee}} {{$root.wallet.settings.unitName}}< / i >
2014-11-19 22:10:43 -08:00
< span class = "text-gray" ng-if = "isRateAvailable" >
2014-12-01 14:01:10 -08:00
{{ alternative }} {{ alternativeIsoCode }}
2014-11-19 22:10:43 -08:00
< / span >
< span class = "text-gray" >
2014-11-18 12:01:43 -08:00
(< span translate > Including fee of< / span >
2014-11-30 13:28:55 -08:00
{{defaultFee}}
2014-11-18 12:01:43 -08:00
{{$root.wallet.settings.unitName}})
2014-11-19 22:10:43 -08:00
< / span >
2014-12-01 14:01:10 -08:00
< p ng-show = "!!$root.merchant" >
2014-11-19 22:10:43 -08:00
Expires {{$root.merchant.expiration | amTimeAgo }}
[{{$root.merchant.domain}}]
< span ng-show = "!!$root.merchant.pr.ca" > < i class = "fi-lock" > < / i > {{$root.merchant.pr.ca}}< / span >
< span ng-show = "!$root.merchant.pr.ca" style = "color:red;weight:bold;" > < i class = "fi-unlock" > < / i > Untrusted< / span >
2014-12-01 14:01:10 -08:00
< / p >
2014-11-18 12:01:43 -08:00
< / div >
2014-08-27 10:20:13 -07:00
< / div >
< / div >
2014-07-16 13:59:28 -07:00
2014-11-18 12:01:43 -08:00
< 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 >
2014-11-27 13:33:07 -08:00
< div class = "input" >
< textarea id = "comment" ng-disabled = "loading"
2014-11-18 12:01:43 -08:00
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 >
2014-11-28 11:27:21 -08:00
< i class = "icon-compose" > < / i >
2014-11-27 13:33:07 -08:00
< / div >
2014-11-18 12:01:43 -08:00
< / div >
2014-07-22 06:54:12 -07:00
< / div >
2014-11-04 11:32:43 -08:00
2014-11-18 12:01:43 -08:00
< div class = "row" >
2014-11-20 06:42:56 -08:00
< div class = "large-6 medium-6 small-6 columns text-left" >
2014-12-01 14:01:10 -08:00
< a ng-click = "cancelSend(sendForm)" class = "button warning m0" ng-show = "!!$root.merchant || isPayUri" >
2014-11-20 06:42:56 -08:00
Cancel
< / a >
< / div >
< div class = "large-6 medium-6 small-6 columns text-right" >
2014-11-18 12:01:43 -08:00
< button type = "submit" class = "button primary m0" ng-disabled = "sendForm.$invalid || loading" >
Send
< / button >
< / div >
2014-11-04 11:32:43 -08:00
< / div >
2014-11-27 06:42:40 -08:00
< / div >
< / form >
2014-11-04 11:32:43 -08:00
< / div >
< / div > <!-- end of row -->
2014-11-27 06:42:40 -08:00
2014-11-30 13:28:55 -08:00
< div class = "row m20b" ng-show = "$root.wallet.balanceInfo.alternativeConversionRate > 0" >
2014-11-19 20:48:22 -08:00
< div class = "large-12 columns size-12" >
2014-11-04 11:32:43 -08:00
< i class = "fi-bitcoin-circle" > < / i >
2014-11-30 13:28:55 -08:00
1 BTC = {{$root.wallet.balanceInfo.alternativeConversionRate}} {{alternativeIsoCode}}
2014-07-18 14:56:39 -07:00
< / div >
2014-07-22 06:54:12 -07:00
< / div >
2014-07-18 14:56:39 -07:00
2014-10-29 07:57:43 -07:00
< div class = "line-dashed-h m20b" > < / div >
2014-11-04 11:32:43 -08:00
< div class = "row" >
< div class = "large-12 columns" >
< h2 translate > Address Book< / h2 >
< p translate class = "text-gray m15b" ng-hide = "showAddressBook()" > Empty. Create an alias for your addresses< / p >
< table ng-show = "showAddressBook()" >
< thead >
< tr >
< th translate > Label< / th >
< th translate > Address< / th >
< th ng-class = "{'hide-for-small-only' : $root.wallet.isShared()}" ng-show = "$root.wallet.isShared()" translate > Creator< / th >
< th class = "hide-for-small-only" translate > Date< / th >
2014-11-14 23:04:05 -08:00
< th class = "hide-for-small-only" > Enable< / th >
2014-11-04 11:32:43 -08:00
< / tr >
< / thead >
< tbody >
< tr
ng-repeat="(addr, info) in $root.wallet.addressBook"
ng-class="{'addressbook-disabled': info.hidden}">
< td > < a ng-click = "copyAddress(addr)" title = "Copy address" > {{info.label}}< / a > < / td >
2014-12-02 18:51:37 -08:00
< td class = "size-12" > {{::addr}}< / td >
2014-11-04 11:32:43 -08:00
< td ng-show = "$root.wallet.isShared()" ng-class = "{'hide-for-small-only' : $root.wallet.isShared()}" > {{$root.wallet.publicKeyRing.nicknameForCopayer(info.copayerId)}}< / td >
2014-12-02 18:51:37 -08:00
< td class = "hide-for-small-only" > < time > {{::info.createdTs | amCalendar}}< / time > < / td >
2014-11-14 23:04:05 -08:00
< td class = "hide-for-small-only" >
< a ng-click = "toggleAddressBookEntry(addr)" title = "{{ info.hidden ? 'Enable' : 'Disable'}} address" >
< i class = "fi-checkbox"
ng-class="{'text-success':!info.hidden, 'text-gray':info.hidden}">< / i >
< / a >
< / td >
2014-07-16 13:59:28 -07:00
< / tr >
2014-11-04 11:32:43 -08:00
< / tbody >
< / table >
< button translate class = "button tiny primary" ng-click = "openAddressBookModal()" >
< i class = "fi-plus m5r" > < / i > Add< / button >
< / div >
2014-07-31 12:40:26 -07:00
< / div >
2014-07-16 13:59:28 -07:00
< / div >