pulled in latest commits from yesterday, merged and handled conflicts

This commit is contained in:
Jamal Jackson 2016-09-01 08:59:37 -04:00
commit f15d597b25
123 changed files with 1686 additions and 1291 deletions

View file

@ -19,7 +19,7 @@
<div ng-if="!fetchingNotifications">
<div class="list card">
<div class="item item-icon-left" ng-repeat="x in notifications" ng-click="x.action()">
<div class="item" ng-repeat="x in notifications" ng-click="x.action()">
<span ng-include="'views/includes/walletActivity.html'"></span>
</div>

View file

@ -1,26 +1,26 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-bar>
<ion-nav-title>{{'Add wallet' | translate}}</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="tabs.home">
Close
<i class="icon ion-chevron-left"></i> {{'Back' | translate}}
</button>
</ion-nav-buttons>
<ion-nav-title>Add wallet</ion-nav-title>
</ion-nav-bar>
<ion-content>
<ion-list>
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="add.create.personal">
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="tabs.create.personal">
<h2 translate>Create new wallet</h2>
<i class="icon ion-chevron-right icon-accessory"></i>
</ion-item>
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="add.join">
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="tabs.join">
<h2 translate>Join shared wallet</h2>
<i class="icon ion-chevron-right icon-accessory"></i>
</ion-item>
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="add.import.phrase">
<ion-item class="item-remove-animate item-icon-right" type="item-text-wrap" ui-sref="tabs.import.phrase">
<h2 translate>Import wallet</h2>
<i class="icon ion-chevron-right icon-accessory"></i>
</ion-item>

View file

@ -1,22 +1,16 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-title>Enter Amount</ion-nav-title>
<ion-nav-bar>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="tabs.send">
<i class="icon ion-chevron-left"></i> Back
<button class="button no-border" ng-click="$ionicGoBack()">
<i class="icon ion-chevron-left"></i> {{'Back' | translate}}
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-pane>
<ion-content class="calculator" scroll="false" class="amount" ng-controller="amountController" ng-init="init()">
<ion-content class="calculator" scroll="false" class="amount" ng-controller="amountController" ng-init="init()">
<div class="card">
<div class="item item-divider">
Recipient
</div>
<div class="item item-divider" translate>Recipient</div>
<div class="item item-text-wrap item-icon-left">
<i class="icon ion-ios-person-outline"></i>
@ -25,24 +19,20 @@
</div>
<div class="card">
<div class="item item-divider">
Amount
</div>
<div class="item item-divider" translate>Amount</div>
<div class="item item-text-wrap item-button-right">
<a class="postfix" ng-click="toggleAlternative()" ng-show="showAlternativeAmount">{{alternativeIsoCode}}</a>
<a class="postfix" ng-click="toggleAlternative()" ng-show="!showAlternativeAmount">{{unitName}}</a>
<a class="postfix" ng-click="toggleAlternative()" ng-show="showAlternativeAmount">{{alternativeIsoCode}}</a>
<a class="postfix" ng-click="toggleAlternative()" ng-show="!showAlternativeAmount">{{unitName}}</a>
<div class="text-light text-black m15b" ng-class="{'size-28': smallFont, 'size-36': !smallFont}"> <span> {{amount || "0.00" }}</div>
<div class="text-light text-black" ng-class="{'size-16': smallFont, 'size-17': !smallFont}" ng-show="!showAlternativeAmount">
{{globalResult}} <span class="label gray text-white radius">{{amountResult || '0.00'}} {{alternativeIsoCode}}</span>
</div>
<div class="text-light text-black size-17" ng-show="showAlternativeAmount">
{{globalResult}} <span class="label gray text-white radius">{{alternativeResult || '0.00'}} {{unitName}}</span>
</div>
<div class="text-light text-black m15b" ng-class="{'size-28': smallFont, 'size-36': !smallFont}"><span> {{amount || "0.00" }}</div>
<div class="text-light text-black" ng-class="{'size-16': smallFont, 'size-17': !smallFont}" ng-show="!showAlternativeAmount">
{{globalResult}} <span class="label gray text-white radius">{{amountResult || '0.00'}} {{alternativeIsoCode}}</span>
</div>
<div class="text-light text-black size-17" ng-show="showAlternativeAmount">
{{globalResult}} <span class="label gray text-white radius">{{alternativeResult || '0.00'}} {{unitName}}</span>
</div>
</div>
</div>
<div class="button-calc">
@ -84,6 +74,5 @@
<div class="col columns operator" ng-click="pushOperator('-')">-</div>
</div>
</div>
</ion-content>
</ion-pane>
</ion-content>
</ion-view>

View file

@ -31,11 +31,6 @@
<span ng-show="!bitpayCard.bitpayCardTwoFactorPending">Login to your account</span>
<span ng-show="bitpayCard.bitpayCardTwoFactorPending">2-Step Verification</span>
</h4>
<div class="box-notification error"
ng-show="bitpayCard.error"
ng-click="bitpayCard.error = null">
{{bitpayCard.error}}
</div>
<form
ng-show="!bitpayCard.bitpayCardTwoFactorPending"
@ -121,14 +116,9 @@
<option value="all">All Activity</option>
</select>
<div class="box-notification error"
ng-show="bitpayCard.error">
{{bitpayCard.error}}
</div>
<div
class="oh pr m20t text-gray size-12 text-center"
ng-show="!bitpayCard.error && !bitpayCard.bitpayCardTransactionHistory[0] &&
ng-show="!bitpayCard.bitpayCardTransactionHistory[0] &&
!bitpayCard.bitpayCardInvoiceHistory[0] && !loadingHistory">
No transactions yet
</div>
@ -176,11 +166,6 @@
</div>
<div ng-show="bitpayCard.bitpayCardAuthenticated && !bitpayCard.visaCardActivated && addFunds">
<div class="box-notification error"
ng-show="bitpayCard.error"
ng-click="bitpayCard.error = null">
{{bitpayCard.error}}
</div>
<form
name="createInvoiceForm"
ng-submit="bitpayCard.sendFunds()"
@ -215,7 +200,7 @@
<div class="col">
<button class="button button-block button-stable"
type="button"
ng-click="addFunds = false; bitpayCard.error = null">
ng-click="addFunds = false">
Cancel
</button>
</div>

View file

@ -12,18 +12,15 @@
<div ng-show="!buy.giftCard">
<div class="box-notification error" ng-show="buy.error" ng-click="buy.error = null">
{{buy.error}}
<div ng-show="buy.errorInfo">
There was an error when trying to buy gift card, but the funds were sent to BitPay Invoice. Please, contact
BitPay to refund your bitcoin
<div>
Amount: {{buy.errorInfo.amount}} {{buy.errorInfo.currency}}<br>
BitPay Invoice ID: {{buy.errorInfo.invoiceId}}.
</div>
<div class="text-center">
<a ng-click="openExternalLink(buy.errorInfo.invoiceUrl)">Open invoice</a>
</div>
<div class="box-notification error" ng-show="buy.errorInfo" ng-click="buy.errorInfo = null">
There was an error when trying to buy gift card, but the funds were sent to BitPay Invoice. Please, contact
BitPay to refund your bitcoin
<div>
Amount: {{buy.errorInfo.amount}} {{buy.errorInfo.currency}}<br>
BitPay Invoice ID: {{buy.errorInfo.invoiceId}}.
</div>
<div class="text-center">
<a ng-click="openExternalLink(buy.errorInfo.invoiceUrl)">Open invoice</a>
</div>
</div>

View file

@ -10,12 +10,11 @@
<ion-content ng-controller="buyGlideraController as buy" ng-init="init()">
<div class="box-notification text-center size-12 text-warning" ng-show="network == 'testnet'">
<i class="fi-info"></i>
<div class="box-notification warning" ng-show="network == 'testnet'">
Testnet wallets only work with Glidera Sandbox Accounts
</div>
<h5 class="padding" ng-show="limits && !buy.show2faCodeInput && !buy.success">
<div class="box-notification notice" ng-show="limits && !buy.show2faCodeInput && !buy.success">
<span class="text-light">Daily buy limit</span>:
{{limits.dailyBuy|currency:'':2}} {{limits.currency}}
(remaining {{limits.dailyBuyRemaining|currency:'':2}} {{limits.currency}})
@ -23,7 +22,7 @@
<span class="text-light">Monthly buy limit</span>:
{{limits.monthlyBuy|currency:'':2}} {{limits.currency}}
(remaining {{limits.monthlyBuyRemaining|currency:'':2}} {{limits.currency}})
</h5>
</div>
<div class="box-notification m20b" ng-show="limits.transactDisabledPendingFirstTransaction && !buy.success">
<span class="text-warning">
@ -37,21 +36,6 @@
ng-submit="buy.get2faCode(token)" novalidate>
<div class="list">
<label class="item item-input item-stacked-label">
<span class="input-label">Wallet</span>
<input type="text"
id="address"
name="address"
ng-disabled="buy.selectedWalletId"
ng-attr-placeholder="{{'Choose your destination wallet'}}"
ng-model="buy.selectedWalletName" required>
<a on-tap="openWalletsModal(buy.allWallets)">
<i class="icon ion-briefcase size-18"></i>
</a>
</label>
<label class="item item-input item-stacked-label">
<span class="input-label">Amount in {{showAlternative ? 'USD' : 'BTC'}}</span>
<input ng-show="!showAlternative"
@ -81,6 +65,8 @@
class="postfix"
on-tap="showAlternative = false; fiat = null; buy.buyPrice = null">USD</a>
</label>
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>
</div>
<div class="text-center text-gray size-12 m20b" ng-show="!buy.gettingBuyPrice && buy.buyPrice.qty">
@ -99,7 +85,7 @@
<button class="button button-block"
type="submit"
ng-disabled="limits.transactDisabledPendingFirstTransaction || !buy.buyPrice.qty || !buy.selectedWalletId || buy.loading">
ng-disabled="limits.transactDisabledPendingFirstTransaction || !buy.buyPrice.qty || buy.loading">
Continue
</button>
</form>
@ -128,11 +114,6 @@
</p>
</div>
</div>
<div class="box-notification m20b" ng-show="buy.error && !buy.success">
<span class="text-warning">
{{buy.error}}
</span>
</div>
<div class="text-center" ng-show="buy.success">
<h1>Purchase initiated</h1>
<p class="text-gray">

View file

@ -12,9 +12,6 @@
<ion-item class="item" ui-sref="glidera.main">
<img src="img/glidera-logo.png" width="100">
</ion-item>
<ion-item class="item" ui-sref="coinbase.main">
<img src="img/coinbase-logo.png" width="100"> TODO
</ion-item>
</ion-list>
</ion-content>
</ion-view>

View file

@ -1,61 +1,56 @@
<ion-view>
<ion-nav-bar>
<ion-nav-back-button>
{{'Back' | translate}}
</ion-nav-back-button>
</ion-nav-bar>
<ion-pane>
<ion-nav-bar class="bar-stable">
<ion-nav-title>Confirm</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="tabs.send">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-content scroll="false" ng-controller="confirmController" ng-init="init()">
<ion-content scroll="false" ng-controller="confirmController" ng-init="init()">
<div class="card">
<div class="item item-text-wrap">
<i class="icon ion-arrow-up-c"></i> <span class="text-bold size-16">Sending</span>
<div class="text-bold size-28 m15t">{{amountStr}} </div>
<div class="text-light size-20 m5t">{{alternativeAmountStr}} </div>
</div>
</div>
<div class="card">
<div class="item item-text-wrap">
<i class="icon ion-arrow-up-c"></i> <span class="text-bold size-16">Sending</span>
<div class="text-bold size-28 m15t">{{amountStr}} </div>
<div class="text-light size-20 m5t">{{alternativeAmountStr}} </div>
<div class="list card">
<div class="item">Fee: {{feeLevel}}
<span class="item-note">
{{fee || '...'}}
</span>
</div>
<div class="item item-icon-left">
<i class="icon ion-ios-person-outline"></i>
<label translate>To</label> {{toAddress}}
<p ng-show="toName">{{toName}}</p>
<div ng-show="_paypro" ng-click="openPPModal(_paypro)">
<i ng-show="_paypro.verified && _paypro.caTrusted" class="ion-locked" style="color:green"></i>
<i ng-show="!_paypro.caTrusted" class="ion-unlocked" style="color:red"></i>
{{_paypro.domain}}
</div>
</div>
<div class="list card">
<div class="item">Fee: {{feeLevel}}
<span class="item-note">
{{fee || '...'}}
</span>
</div>
<div class="item item-icon-left">
<i class="icon ion-ios-person-outline"></i>
<label translate>To</label> {{toAddress}}
<p ng-show="toName">{{toName}}</p>
<div ng-show="_paypro" ng-click="openPPModal(_paypro)">
<i ng-show="_paypro.verified && _paypro.caTrusted" class="ion-locked" style="color:green"></i>
<i ng-show="!_paypro.caTrusted" class="ion-unlocked" style="color:red"></i>
{{_paypro.domain}}
</div>
</div>
<div class="item">
<label translate>From</label>
<span class="badge badge-assertive" ng-show="notAvailable" translate>No wallet with enough funds</span>
</div>
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>
<div class="item item-icon-left item-icon-right" ng-click="showDescriptionPopup()">
<span ng-show="!description">Add Description</span>
<span ng-show="description">{{description}}</span>
<i class="icon ion-ios-chatbubble-outline size-21"></i>
<i class="icon ion-ios-plus-empty size-21"></i>
</div>
<div class="item">
<label translate>From</label>
<span class="badge badge-assertive" ng-show="notAvailable" translate>No wallet with enough funds</span>
</div>
<button class="item button button-block button-balanced" ng-click="approve()" ng-disabled="!txp">
<span translate>Send</span>
</button>
</ion-content>
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>
<div class="item item-icon-left item-icon-right" ng-click="showDescriptionPopup()">
<span ng-show="!description">Add Description</span>
<span ng-show="description">{{description}}</span>
<i class="icon ion-ios-chatbubble-outline size-21"></i>
<i class="icon ion-ios-plus-empty size-21"></i>
</div>
</div>
<button class="item button button-block button-balanced" ng-click="approve()" ng-disabled="!txp">
<span translate>Send</span>
</button>
</ion-content>
</ion-view>

View file

@ -1,11 +1,11 @@
<ion-view >
<ion-tabs class="tabs-striped tabs-color-positive tabs-color-active-positive tabs-top">
<ion-tab title="Personal Wallet" ui-sref="add.create.personal">
<ion-tab title="Personal Wallet" ui-sref="tabs.create.personal">
<ion-nav-view name="tab-create-personal"></ion-nav-view>
</ion-tab>
<ion-tab title="Shared Wallet" ui-sref="add.create.shared">
<ion-tab title="Shared Wallet" ui-sref="tabs.create.shared">
<ion-nav-view name="tab-create-shared"></ion-nav-view>
</ion-tab>

View file

@ -1,11 +1,11 @@
<ion-view >
<ion-tabs class="tabs-striped tabs-color-positive tabs-color-active-positive tabs-top">
<ion-tab title="File/Text" ui-sref="wallet.export.file">
<ion-tab title="File/Text" ui-sref="tabs.preferences.export.file">
<ion-nav-view name="tab-export-file"></ion-nav-view>
</ion-tab>
<ion-tab title="QR Code" ui-sref="wallet.export.qrCode">
<ion-tab title="QR Code" ui-sref="tabs.preferences.export.qrCode">
<ion-nav-view name="tab-export-qrCode"></ion-nav-view>
</ion-tab>

View file

@ -10,38 +10,14 @@
<ion-content ng-controller="glideraController as glidera" ng-init="init()">
<div class="box-notification text-center size-12 text-warning" ng-show="network == 'testnet'">
<i class="fi-info"></i>
<div class="box-notification warning" ng-show="network == 'testnet'">
Testnet wallets only work with Glidera Sandbox Accounts
</div>
<div class="m20b box-notification" ng-if="error">
<div class="text-warning">
<span>{{error}}</span>
</div>
</div>
<div class="m10t text-center" ng-show="error">
<button
class="button"
ng-show="error.indexOf('Forbidden') == 40"
ng-click="token = null; error = null">
Request a new token
</button>
<div ng-show="error.indexOf('Forbidden') != 40">
<button
class="button"
ng-click="init(token)">
Retry
</button>
<div class="m20t size-12">
<a class="text-gray" href ui-sref="glidera.preferences">Preferences</a>
</div>
</div>
</div>
<div ng-if="!token && !error">
<div ng-if="!token">
<div ng-init="showOauthForm = false">
<div class="text-center m20b">
<div class="text-center m20v">
<img src="img/glidera-logo.png" ng-click="update(token, permissions)" width="200">
</div>
<div class="text-center small-10 small-centered columns" ng-show="!showOauthForm">
@ -70,9 +46,6 @@
</div>
</div>
<div ng-show="showOauthForm">
<div class="text-left box-notification size-12 text-warning" ng-show="error">
{{error}}
</div>
<form name="oauthCodeForm" ng-submit="glidera.submitOauthCode(code)" novalidate>
<div class="list">
<label class="item item-input item-stacked-label">
@ -87,7 +60,7 @@
<input type="button"
value="Cancel"
class="button button-block"
ng-click="showOauthForm = false; error = null">
ng-click="showOauthForm = false">
</div>
<div class="col">
<input
@ -103,16 +76,17 @@
</div>
<div ng-if="token && permissions">
<div class="p20v text-center">
<img src="img/glidera-logo.png" ng-click="update(token, permissions)" width="100">
<div class="text-center m20v">
<img src="img/glidera-logo.png" ng-click="update(token, permissions)" width="200">
</div>
<div class="list">
<a class="item item-icon-left" href ui-sref="glidera.preferences">
<i class="icon ion-gear-a"></i>
<a class="item item-icon-left item-icon-right" href ui-sref="glidera.preferences">
<i class="icon ion-ios-gear"></i>
<span ng-show="personalInfo">{{personalInfo.firstName}} {{personalInfo.lastName}}</span>
<span class="item-note" ng-show="email">
{{email}}
</span>
<i class="icon ion-ios-arrow-right"></i>
</a>
</div>
<div class="padding">
@ -133,54 +107,56 @@
<div class="list"
ng-show="status && status.userCanTransact">
<a ng-show="status.userCanBuy"
class="item item-avatar"
class="item item-icon-right"
href ui-sref="glidera.buy">
<img src="img/buy-bitcoin.svg" alt="buy bitcoin" width="40">
<img src="img/buy-bitcoin.svg" alt="buy bitcoin" width="25">
Buy Bitcoin
<i class="icon ion-ios-arrow-right"></i>
</a>
<a class="item item-avatar"
<a class="item item-icon-right"
ng-show="status.userCanSell"
href ui-sref="glidera.sell">
<img src="img/sell-bitcoin.svg" alt="buy bitcoin" width="40">
<img src="img/sell-bitcoin.svg" alt="buy bitcoin" width="25">
Sell Bitcoin
<i class="icon ion-ios-arrow-right"></i>
</a>
</div>
<div ng-show="permissions.transaction_history">
<h4>Activity</h4>
<div class="card" ng-show="permissions.transaction_history">
<div class="item item-divider">
Activity
</div>
<div ng-show="txs.length == 0 "
class="size-12 p10 text-center text-gray">
class="item">
No activity in your account
</div>
<div class="list">
<a ng-repeat="tx in txs"
ng-click="glidera.openTxModal(token, tx)"
class="item item-avatar">
<img src="img/bought.svg" alt="bought" width="39" ng-show="tx.type == 'BUY' && tx.status == 'COMPLETE'">
<img src="img/bought-pending.svg" alt="bought" width="33" ng-show="tx.type == 'BUY' && tx.status == 'PROCESSING'">
<img src="img/sold.svg" alt="bought" width="39" ng-show="tx.type == 'SELL' && tx.status == 'COMPLETE'">
<img src="img/sold-pending.svg" alt="bought" width="33" ng-show="tx.type == 'SELL' && tx.status == 'PROCESSING'">
<a ng-repeat="tx in txs"
ng-click="glidera.openTxModal(token, tx)"
class="item">
<h2>
<span ng-show="tx.type == 'BUY'">Bought</span>
<span ng-show="tx.type == 'SELL'">Sold</span>
<b>{{tx.qty}}</b> BTC
</h2>
<p>
{{tx.subtotal|currency:'':2}} {{tx.currency}}
</p>
<div class="right">
<div class="m5t size-12 text-gray">
<div ng-show="tx.status == 'COMPLETE'">
<time ng-if="tx.transactionDate">{{tx.transactionDate | amTimeAgo}}</time>
</div>
<div ng-show="tx.status == 'PROCESSING'">
<span class="label outline gray radius text-gray text-info" ng-if="tx.status == 'PROCESSING'">Processing</span>
</div>
</div>
<span class="item-note">
<div ng-show="tx.status == 'COMPLETE'">
<time ng-if="tx.transactionDate">{{tx.transactionDate | amTimeAgo}}</time>
</div>
</a>
</div>
<div ng-show="tx.status == 'PROCESSING'">
<span ng-if="tx.status == 'PROCESSING'">Processing</span>
</div>
</span>
<img class="left m10r" src="img/bought.svg" alt="bought" width="39" ng-show="tx.type == 'BUY' && tx.status == 'COMPLETE'">
<img class="left m10r" src="img/bought-pending.svg" alt="bought" width="33" ng-show="tx.type == 'BUY' && tx.status == 'PROCESSING'">
<img class="left m10r" src="img/sold.svg" alt="bought" width="39" ng-show="tx.type == 'SELL' && tx.status == 'COMPLETE'">
<img class="left m10r" src="img/sold-pending.svg" alt="bought" width="33" ng-show="tx.type == 'SELL' && tx.status == 'PROCESSING'">
<h2>
<span ng-show="tx.type == 'BUY'">Bought</span>
<span ng-show="tx.type == 'SELL'">Sold</span>
<b>{{tx.qty}}</b> BTC
</h2>
<p>
{{tx.subtotal|currency:'':2}} {{tx.currency}}
</p>
</a>
</div>
</div>
</ion-content>

View file

@ -1,22 +1,24 @@
<div
class="topbar-container"
ng-include="'views/includes/topbar.html'"
ng-init="titleSection='Glidera'; closeToHome = true">
</div>
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="tabs.home">
Close
</button>
</ion-nav-buttons>
<ion-nav-title>Glidera</ion-nav-title>
</ion-nav-bar>
<div class="content glidera" ng-controller="glideraUriController as glidera" ng-init="glidera.checkCode()">
<ion-content ng-controller="glideraUriController" ng-init="checkCode()">
<div class="row m20t">
<div class="large-12 columns">
<div class="text-center">
<img src="img/glidera-logo.png"
ng-click="index.updateGlidera()" width="100">
</div>
<div class="box-notification warning" ng-show="network == 'testnet'">
Testnet wallets only work with Glidera Sandbox Accounts
</div>
<div class="m10t text-center" ng-show="glidera.error">
<div class="notification m10b size-12 text-warning">{{glidera.error}}</div>
<button class="outline dark-gray tiny round" ng-click="glidera.submitOauthCode(glidera.code)">Try again</button>
<div class="text-center">
<img src="img/glidera-logo.png" width="100">
<div class="m20t" translate>
Connecting...
</div>
</div>
</div>
</div>
</ion-content>
</ion-view>

View file

@ -1,15 +1,15 @@
<ion-view >
<ion-tabs class="tabs-striped tabs-color-positive tabs-color-active-positive tabs-top">
<ion-tab title="Recovery Phrare" ui-sref="add.import.phrase">
<ion-tab title="Recovery Phrare" ui-sref="tabs.import.phrase">
<ion-nav-view name="tab-import-phrase"></ion-nav-view>
</ion-tab>
<ion-tab title="File/Text" ui-sref="add.import.file">
<ion-tab title="File/Text" ui-sref="tabs.import.file">
<ion-nav-view name="tab-import-file"></ion-nav-view>
</ion-tab>
<ion-tab title="Hardware Wallet" ui-sref="add.import.hardware">
<ion-tab title="Hardware Wallet" ui-sref="tabs.import.hardware">
<ion-nav-view name="tab-import-hardware"></ion-nav-view>
</ion-tab>

View file

@ -1,10 +1,10 @@
<div>
<h1 translate>Without a backup, you could lose money</h1>
<span translate>If something happens to this device, this app is deleted, or your password forgotten, neither you nor Bitpay can revoer your funds.</span>
<button ng-click="goBack()" class="button button-block button-light">
<button ng-click="goBack()" class="button button-block button-light" translate>
Go back
</button>
<button ng-click="continue()" class="button button-block button-light">
<button ng-click="continue()" class="button button-block button-light" translate>
I understand
</button>
</div>

View file

@ -1,7 +1,7 @@
<div>
<h1 translate>Screenshots are not secure</h1>
<span translate>if you take a screenshot, your backup may be viewed by others apps. You can make a safe backup with paper and a pen.</span>
<button ng-click="close()" class="button button-block button-light">
<button ng-click="close()" class="button button-block button-light" translate>
Got it
</button>
</div>

View file

@ -1,41 +1,58 @@
<span class="wallet-activity">
<div ng-if="x.types.indexOf('NewCopayer')>=0 && x.wallet.n>1">
Copayer joined
</div>
<div ng-if="x.types.indexOf('NewCopayer')>=0 && x.wallet.n==1">
Wallet created
</div>
<div ng-if="x.types.indexOf('NewOutgoingTx')>=0">
<span>Payment Sent </span>
<div class="wallet-activity-amount">
{{x.amountStr}}
</div>
</div>
<span ng-if="x.types.indexOf('NewIncomingTx')>=0">
<i class="icon ion-arrow-down-c size-21" ng-style="{'color':x.wallet.color}"></i>
{{x.amountStr}}
<div ng-if="x.types.indexOf('NewIncomingTx')>=0">
<span>Payment Received</span>
<div class="wallet-activity-amount">
{{x.amountStr}}
</div>
</div>
<div ng-if="x.types.indexOf('TxProposalRemoved')>=0">
<i class="icon ion-ios-close-empty size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Deleted
</div>
<div ng-if="x.types.indexOf('TxProposalRejected')>=0">
<i class="icon ion-ios-close-empty size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Rejected
</div>
<div ng-if="x.types.indexOf('TxProposalRemoved') == -1 && x.types.indexOf('TxProposalRejected') == -1">
<span ng-if="x.types.indexOf('NewTxProposal')>=0 && x.types.indexOf('NewOutgoingTx')==-1 ">
<i class="icon ion-arrow-up-c size-21" ng-style="{'color':x.wallet.color}"></i>
{{x.amountStr}}
<i>{{x.message}}</i>
</span>
<span ng-if="x.types.indexOf('TxProposalAcceptedBy')>=0 && x.types.indexOf('NewTxProposal') == -1 && x.types.indexOf('NewOutgoingTx')==-1">
<i class="icon ion-checkmark-round size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Accepted
</span>
</div>
<p class="wallet-activity-note">
<!-- {{x.types}} -->
<i class="icon ion-record wallet-activity-note-child" ng-style="{'color':x.wallet.color}"></i>
<span ng-if="x.creatorName" class="wallet-activity-note-child">{{ x.creatorName}}@</span>
<span class="wallet-activity-note-child">{{x.wallet.name}}</span>
<time class="wallet-activity-note-child">{{ x.createdOn * 1000 | amTimeAgo}}</time>
</p>
</span>
<span ng-if="x.types.indexOf('TxProposalRemoved')>=0">
<i class="icon ion-ios-close-empty size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Deleted
</span>
<span ng-if="x.types.indexOf('TxProposalRejected')>=0">
<i class="icon ion-ios-close-empty size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Rejected
</span>
<span ng-if="x.types.indexOf('TxProposalRemoved') == -1 && x.types.indexOf('TxProposalRejected') == -1">
<span ng-if="x.types.indexOf('NewTxProposal')>=0 ">
<i class="icon ion-arrow-up-c size-21" ng-style="{'color':x.wallet.color}"></i>
{{x.amountStr}}
<i>{{x.message}}</i>
</span>
<span ng-if="x.types.indexOf('TxProposalAcceptedBy')>=0 && x.types.indexOf('NewTxProposal') == -1 ">
<i class="icon ion-checkmark-round size-21" ng-style="{'color':x.wallet.color}"></i>
Proposal Accepted
</span>
</span>
<div class="item-note">
<!-- {{x.types}} -->
<time>{{ x.createdOn * 1000 | amTimeAgo}}</time>
&middot;
<i class="ion-briefcase" ng-style="{'color':x.wallet.color}"></i>
<span ng-if="x.creatorName">{{ x.creatorName}}@</span>{{x.wallet.name}}
</div>

View file

@ -1,7 +1,7 @@
<div class="wallets" ng-show="wallets[0]">
<ion-slides class="slides" slider="data.slider">
<ion-slide-page ng-repeat="wallet in wallets track by $index">
<div class="item item-icon-left">
<div class="item item-icon-left item-icon-right">
<i class="icon ion-briefcase size-21" ng-style="{'color':wallet.color}"></i>
{{wallet.name || wallet.id}}
<span class="item-note" ng-show="wallet.n > 1 && wallet.isComplete()">
@ -10,6 +10,7 @@
<span class="badge badge-assertive" ng-show="!wallet.isComplete()" translate>
Incomplete
</span>
<i ng-show="wallet.needsBackup" class="icon ion-android-warning assertive"></i>
</div>
</ion-slide-page>
</ion-slides>

View file

@ -1,7 +1,7 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ui-sref="tabs.add">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>
@ -133,4 +133,3 @@
</form>
</ion-content>
</ion-view>

View file

@ -1,5 +1,5 @@
<ion-modal-view ng-controller="glideraTxDetailsController">
<ion-header-bar align-title="center" class="tab-bar">
<ion-header-bar align-title="center" class="bar-stable">
<button class="button button-clear button-positive"
ng-click="cancel()">
Close
@ -8,8 +8,7 @@
</ion-header-bar>
<ion-content>
<div class="modal-content fix-modals-touch">
<div class="header-modal bg-gray text-center">
<div class="text-center">
<div class="p20">
<img src="img/bought.svg" alt="bought" width="80" ng-show="tx.type == 'BUY' && tx.status == 'COMPLETE'">
<img src="img/bought-pending.svg" alt="bought" width="65" ng-show="tx.type == 'BUY' && tx.status == 'PROCESSING'">
@ -19,46 +18,46 @@
<span ng-show="tx.type == 'BUY'">Bought</span>
<span ng-show="tx.type == 'SELL'">Sold</span>
<b>{{tx.qty}}</b> BTC
<div class="size-36 m20b">
<div class="size-36 m20v">
{{tx.subtotal|currency:'':2}} {{tx.currency}}
</div>
</div>
<ul class="no-bullet size-14">
<ul class="list">
<li class="line-b p10 oh">
<span class="text-gray">Status</span>
<span class="text-success right" ng-if="tx.status == 'COMPLETE'">Completed</span>
<span class="text-info right" ng-if="tx.status == 'PROCESSING'">Processing</span>
<span class="text-warning right" ng-if="tx.status == 'ERROR'">Error</span>
<li class="item">
Status
<span class="item-note">
<span class="text-success" ng-if="tx.status == 'COMPLETE'">Completed</span>
<span class="text-info" ng-if="tx.status == 'PROCESSING'">Processing</span>
<span class="text-warning" ng-if="tx.status == 'ERROR'">Error</span>
</span>
</li>
<li ng-show="tx.transactionDate" class="line-b p10 oh">
<span class="text-gray">Date</span>
<span class="right">{{tx.transactionDate | amCalendar}}</span>
<li ng-show="tx.transactionDate" class="item">
Date
<span class="item-note">{{tx.transactionDate | amCalendar}}</span>
</li>
<li ng-show="tx.price" class="line-b p10 oh">
<span class="text-gray">Exchange rate</span>
<span class="right">{{tx.price|currency:'':2}} {{tx.currency}}/BTC</span>
<li ng-show="tx.price" class="item">
Exchange rate
<span class="item-note">{{tx.price|currency:'':2}} {{tx.currency}}/BTC</span>
</li>
<li ng-show="tx.subtotal" class="line-b p10 oh">
<span class="text-gray">Subtotal</span>
<span class="right">{{tx.subtotal|currency:'':2}} {{tx.currency}}</span>
<li ng-show="tx.subtotal" class="item">
Subtotal
<span class="item-note">{{tx.subtotal|currency:'':2}} {{tx.currency}}</span>
</li>
<li ng-show="tx.fees" class="line-b p10 oh">
<span class="text-gray">Fees</span>
<span class="right">{{tx.fees|currency:'':2}} {{tx.currency}}</span>
<li ng-show="tx.fees" class="item">
Fees
<span class="item-note">{{tx.fees|currency:'':2}} {{tx.currency}}</span>
</li>
<li ng-show="tx.total" class="line-b p10 oh text-bold">
<span class="text-gray">Total</span>
<span class="right">{{tx.total|currency:'':2}} {{tx.currency}}</span>
<li ng-show="tx.total" class="item">
Total
<span class="item-note">{{tx.total|currency:'':2}} {{tx.currency}}</span>
</li>
</ul>
<div class="extra-margin-bottom"></div>
</div>
</ion-content>
</ion-modal-view>

View file

@ -2,7 +2,7 @@
<ion-nav-bar class="bar-stable">
<ion-nav-buttons side="primary">
<button class="button no-border" href ui-sref="onboarding.backupRequest">
<i class="icon ion-chevron-left"></i> Back
<i class="icon ion-chevron-left"></i> {{'Back' | translate}}
</button>
</ion-nav-buttons>
</ion-nav-bar>

View file

@ -1,14 +1,14 @@
<ion-view ng-controller="collectEmailController">
<ion-nav-bar class="bar-stable">
<ion-view>
<ion-nav-bar class="bar-stable" ng-controller="backController">
<ion-nav-buttons side="secondary">
<button class="button no-border" ng-click="skip()">
Skip
<button class="button no-border" ng-click="onboardingMailSkip()">
{{'Skip' | translate}}
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-content >
Wallet Created
Where would you like to receive email notifications about payments
<ion-content ng-controller="collectEmailController">
<span translate>Wallet Created </span>
<span translate>Where would you like to receive email notifications about payments </span>
<form name="emailForm" ng-submit="save(emailForm)" novalidate>
<input type="email" id="email" name="email" ng-model="email" required></input>
<input type="submit" class="button button-block button-positive" value="{{'Save'|translate}}" ng-disabled="emailForm.$invalid">

View file

@ -1,6 +1,6 @@
<ion-view id="terms-of-use">
<ion-nav-bar class="bar-light">
<ion-nav-title>Terms of Use</ion-nav-title>
<ion-nav-bar class="bar-ligt">
<ion-nav-title>{{'Terms of Use' | translate}}</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" href ui-sref="onboarding.disclaimer">
<i class="icon ion-arrow-left-c"></i>

View file

@ -1,5 +1,5 @@
<ion-view ng-controller="tourController" ng-init="init()" class="onboarding" id="onboard-tour">
<ion-nav-bar>
<ion-nav-bar class="bar-stable">
<ion-nav-title></ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ng-click="goBack()">
@ -7,8 +7,8 @@
</button>
</ion-nav-buttons>
<ion-nav-buttons side="secondary">
<button class="button no-border" ng-show="data.index == 0" ng-click="createProfile()">
Skip
<button class="button no-border" ng-show="data.index == 0" ng-click="createDefaultWallet()">
{{'Skip' | translate}}
</button>
</ion-nav-buttons>
</ion-nav-bar>

View file

@ -1,5 +1,5 @@
<ion-view id="onboard-welcome" class="onboarding">
<ion-content>
<ion-content ng-controller="welcomeController" ng-init="createProfile()">
<img src="../img/onboarding-welcome-shopping24.png" id="shopping-24" />
<div class="text-center">
<div class="row">
@ -16,6 +16,5 @@
<div class="row">
<button class="button button-block restore col col-75" translate>Restore</button>
</div>
</div>
</ion-content>
</ion-view>

View file

@ -9,7 +9,7 @@
<div class="item item-divider">
Preferences
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesAlias">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesAlias">
<span translate>Wallet Name</span>
<span class="item-note">
{{alias||wallet.walletName}}
@ -28,7 +28,7 @@
{{wallet.externalSource}}
</span>
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesColor">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesColor">
<span ng-style="{'color': wallet.color}">&block;</span>
<span translate>Wallet Color</span>
<span class="item-note">
@ -36,7 +36,7 @@
</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesEmail">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesEmail">
<span translate>Email Notifications</span>
<span class="item-note">
<span ng-if="!wallet.email" translate>Disabled</span>
@ -47,7 +47,7 @@
<div class="item item-divider">
Security
</div>
<div class="item item-icon-right" href ui-sref="wallet.backup" ng-hide="wallet.isPrivKeyExternal()">
<div class="item item-icon-right" href ui-sref="tabs.preferences.backup" ng-hide="wallet.isPrivKeyExternal()">
<span translate>Backup</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
@ -61,14 +61,14 @@
<span class="toggle-label" translate>Request Fingerprint</span>
</ion-toggle>
</div>
<div class="item item-icon-right" href ui-sref="wallet.deleteWords" ng-show ="!deleted">
<div class="item item-icon-right" href ui-sref="tabs.preferences.deleteWords" ng-show ="!deleted">
<span translate>Delete recovery phrase</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-divider">
Advanced
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesAdvanced">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesAdvanced">
<span translate>Advanced</span>
<i class="icon ion-ios-arrow-right"></i>
</div>

View file

@ -26,15 +26,15 @@
</div>
<div class="item item-divider">
</div>
<div class="item item-icon-left" href ui-sref="settings.termsOfUse">
<div class="item item-icon-left" href ui-sref="tabs.termsOfUse">
<i class="icon ion-ios-bell-outline"></i>
<span translate>Terms of Use</span>
</div>
<div class="item item-icon-left" href ui-sref="settings.translators">
<div class="item item-icon-left" href ui-sref="tabs.translators">
<i class="icon ion-ios-bell-outline"></i>
<span translate>Translators</span>
</div>
<div class="item item-icon-left" href ui-sref="settings.logs">
<div class="item item-icon-left" href ui-sref="tabs.logs">
<i class="icon ion-ios-bell-outline"></i>
<span translate>Session log</span>
</div>

View file

@ -9,27 +9,27 @@
<div class="list">
<div class="item item-divider">
</div>
<div class="item item-icon-right" href ui-sref="wallet.information">
<div class="item item-icon-right" href ui-sref="tabs.preferences.information">
<span translate>Wallet Information</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" ng-show="index.network == 'livenet'" href ui-sref="wallet.paperWallet">
<div class="item item-icon-right" ng-show="index.network == 'livenet'" href ui-sref="tabs.preferences.paperWallet">
<span translate>Sweep paper wallet</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" href ui-sref="wallet.export.file">
<div class="item item-icon-right" href ui-sref="tabs.preferences.export.file">
<span translate>Export Wallet</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesBwsUrl">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesBwsUrl">
<span translate>Wallet Service URL</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" href ui-sref="wallet.preferencesHistory">
<div class="item item-icon-right" href ui-sref="tabs.preferences.preferencesHistory">
<span translate>Transaction History</span>
<i class="icon ion-ios-arrow-right"></i>
</div>
<div class="item item-icon-right" href ui-sref="wallet.delete">
<div class="item item-icon-right" href ui-sref="tabs.preferences.delete">
<span translate>Delete Wallet</span>
<i class="icon ion-ios-arrow-right"></i>
</div>

View file

@ -10,7 +10,11 @@
<ion-content ng-controller="sellGlideraController as sell" ng-init="init()">
<h4 class="padding" ng-show="limits && !sell.show2faCodeInput && !sell.success">
<div class="box-notification warning" ng-show="network == 'testnet'">
Testnet wallets only work with Glidera Sandbox Accounts
</div>
<div class="box-notification notice" ng-show="limits && !sell.show2faCodeInput && !sell.success">
<span class="text-light">Daily sell limit</span>:
{{limits.dailySell|currency:'':2}} {{limits.currency}}
(remaining {{limits.dailySellRemaining|currency:'':2}} {{limits.currency}})
@ -18,7 +22,7 @@
<span class="text-light">Monthly sell limit</span>:
{{limits.monthlySell|currency:'':2}} {{limits.currency}}
(remaining {{limits.monthlySellRemaining|currency:'':2}} {{limits.currency}})
</h4>
</div>
<div class="box-notification m20b" ng-show="limits.transactDisabledPendingFirstTransaction">
<span class="text-warning">
@ -31,19 +35,6 @@
ng-submit="sell.get2faCode(token)" novalidate>
<div class="list">
<label class="item item-input item-stacked-label">
<span class="input-label">Wallet</span>
<input type="text"
id="address"
name="address"
ng-disabled="sell.selectedWalletId"
ng-attr-placeholder="{{'Choose your source wallet'}}"
ng-model="sell.selectedWalletName" required>
<a on-tap="openWalletsModal(sell.allWallets)">
<i class="icon ion-briefcase size-18"></i>
</a>
</label>
<label class="item item-input item-stacked-label">
<span class="input-label"><span>Amount in</span> {{showAlternative ? 'USD' : 'BTC'}}</span>
<input ng-show="!showAlternative"
@ -73,6 +64,8 @@
class="postfix"
on-tap="showAlternative = false; fiat = null; sell.sellPrice = null">USD</a>
</label>
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>
</div>
<div class="text-center text-gray size-12 m20b" ng-show="!sell.gettingSellPrice && sell.sellPrice.qty">
@ -92,7 +85,7 @@
<button class="button button-block"
type="submit"
ng-disabled="limits.transactDisabledPendingFirstTransaction || !sell.sellPrice.qty || !sell.selectedWalletId ">
ng-disabled="limits.transactDisabledPendingFirstTransaction || !sell.sellPrice.qty">
Continue
</button>
</form>
@ -122,11 +115,6 @@
</p>
</div>
</div>
<div class="box-notification" ng-show="sell.error && !sell.success">
<span class="text-warning size-14">
{{sell.error}}
</span>
</div>
<div class="text-center" ng-show="sell.success">
<h1>Sale initiated</h1>
<p class="text-gray">

View file

@ -1,7 +1,7 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ui-sref="tabs.add">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>
@ -28,7 +28,7 @@
ng-blur="create.formFocus(false)">
</label>
<ion-toggle ng-model="showAdv" toggle-class="toggle-stable">
<ion-toggle ng-model="showAdv" toggle-class="toggle-stable" ng-change="showAdvChange()">
<span translate ng-show="!showAdv">Show advanced options</span>
<span translate ng-show="showAdv">Hide advanced options</span>
</ion-toggle>

View file

@ -1,6 +1,6 @@
<ion-nav-bar class="bar-stable">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ui-sref="tabs.add">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>
@ -61,7 +61,7 @@
</select>
</label>
<ion-toggle ng-model="showAdv" toggle-class="toggle-stable">
<ion-toggle ng-model="showAdv" toggle-class="toggle-stable" ng-change="showAdvChange()">
<span translate ng-show="!showAdv">Show advanced options</span>
<span translate ng-show="showAdv">Hide advanced options</span>
</ion-toggle>

View file

@ -1,7 +1,7 @@
<ion-nav-bar class="bar-stable">
<ion-nav-title>Export Wallet</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="wallet.preferencesAdvanced">
<button class="button no-border" ui-sref="tabs.preferences.preferencesAdvanced">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>

View file

@ -1,7 +1,7 @@
<ion-nav-bar class="bar-stable">
<ion-nav-title>Export Wallet</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="wallet.preferencesAdvanced">
<button class="button no-border" ui-sref="tabs.preferences.preferencesAdvanced">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>

View file

@ -1,5 +1,4 @@
<ion-view>
<ion-view id="tab-home">
<ion-nav-bar class="bar-stable">
<ion-nav-title>Home</ion-nav-title>
</ion-nav-bar>
@ -7,85 +6,106 @@
<ion-content class="padding" ng-controller="tabHomeController" ng-init="updateAllWallets(); nextStep()">
<div class="card">
<div class="item item-divider">
<div class="item item-divider item-icon-right">
Recent Activity
<i class="icon ion-ios-arrow-right" ui-sref="activity"></i>
</div>
<div ng-if="fetchingNotifications" class="item text-center">
<ion-spinner icon="lines"></ion-spinner>
<div translate>Updating activity. Please stand by</div>
</div>
<div ng-if="!fetchingNotifications">
<a class="item item-icon-left" ng-repeat="x in notifications" ng-click="x.action()">
<a class="item" ng-repeat="x in notifications" ng-click="x.action()">
<span ng-include="'views/includes/walletActivity.html'"></span>
</a>
<a class="item text-center" ui-sref="activity" ng-show="notificationsMore">
<span translate>More</span> ({{notificationsMore}})
<span style="font-size:12px;color:gray">(ToDo: Cache, refresh & seft not. 1-1 no here yet)</span>
</a>
<div class="item" ng-show="!notifications[0]">
<span translate>Nothing to show here.</span>
</div>
</div>
</div>
<div class="card">
<div class="item item-divider item-icon-right">
<div class="list card" ng-hide="!wallets[0]">
<div class="item item-icon-right item-heading">
Wallets
<i class="icon ion-ios-plus-empty" ui-sref="add.main"></i>
<a ui-sref="tabs.add"><i class="icon ion-ios-plus-empty list-add-button"></i></a>
</div>
<div class="item" ng-if="!wallets[0]">
<span translate>No Wallet</span>
</div>
<a ng-repeat="item in wallets track by $index"
class="item item-icon-left"
ui-sref="wallet.details({'walletId': item.id})">
<i class="icon ion-briefcase size-21" ng-style="{'color':item.color}"></i>
{{item.name || item.id}}
<span ng-show="item.n > 1" class="text-light">
{{item.m}}-of-{{item.n}}
<a ng-repeat="wallet in wallets track by $index"
class="item item-icon-left item-big-icon-left item-icon-right"
ui-sref="tabs.details({'walletId': wallet.id})">
<i class="icon big-icon-svg">
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}"/>
</i>
<h2>{{wallet.name || wallet.id}}</h2>
<span ng-show="wallet.n > 1" class="text-light">
{{wallet.m}}-of-{{wallet.n}}
</span>
<span class="badge badge-assertive" ng-show="!item.isComplete()" translate>
<span class="badge badge-assertive" ng-show="!wallet.isComplete()" translate>
Incomplete
</span>
<span class="item-note" ng-show="item.isComplete()">
{{item.status.availableBalanceStr}}
</span>
<p ng-show="wallet.isComplete() && !wallet.balanceHidden">
{{wallet.status.availableBalanceStr}}
</p>
<p ng-show="wallet.isComplete() && wallet.balanceHidden">
<strong class="size-12" translate>[Balance Hidden]</strong>
</p>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
<a ui-sref="bitpayCard.main" ng-show="externalServices.BitpayCard" class="item item-icon-left">
<i class="icon ion-card"></i>BitPay Card
<i class="icon ion-card"></i>
<h2>BitPay Card</h2>
</a>
<a ui-sref="amazon.main" ng-show="externalServices.AmazonGiftCards" class="item item-icon-left">
<i class="icon ion-ios-cart"></i>Gift Cards
<i class="icon ion-ios-cart"></i>
<h2>Gift Cards</h2>
</a>
</div>
<div class="card" ng-show="externalServices.BuyAndSell && (glideraEnabled || coinbaseEnabled)">
<div class="item item-divider">
<div class="list card" ng-show="externalServices.BuyAndSell && (glideraEnabled || coinbaseEnabled)">
<div class="item item-heading">
Buy & Sell Bitcoin
</div>
<a ng-show="glideraEnabled" ui-sref="glidera.main" class="item">
<img src="img/glidera-logo.png" width="90">
<a ng-show="glideraEnabled" ui-sref="glidera.main" class="item item-icon-right">
<img src="img/glidera-logo.png" width="90"/>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
<a ng-show="coinbaseEnabled" ui-sref="exchange.coinbase" class="item">
<!-- disable coinbase for this release -->
<!-- <a ng-show="coinbaseEnabled" ui-sref="exchange.coinbase" class="item">
<img src="img/coinbase-logo.png" width="90"> TODO
</a>
</a> -->
</div>
<div class="card" ng-show="!externalServices.AmazonGiftCards || !externalServices.BitpayCard || !externalServices.BuyAndSell">
<div class="item item-divider">
<div class="list card"
ng-show="!externalServices.AmazonGiftCards || !externalServices.BitpayCard || !externalServices.BuyAndSell || !wallets[1]">
<div class="item item-heading">
Next steps
</div>
<a ui-sref="bitpayCard.main" ng-show="!externalServices.BitpayCard" class="item item-icon-left">
<i class="icon ion-card"></i>Add BitPay Card
<a ng-show="!wallets[1]" ui-sref="tabs.add" class="item item-icon-left item-big-icon-left item-icon-right">
<i class="icon big-icon-svg">
<img class="icon-create-wallet"/>
</i>
<span>Create a bitcoin wallet</span>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
<a ng-show="!externalServices.BuyAndSell" ui-sref="buyandsell" class="item item-icon-left">
<i class="icon ion-bag"></i>Buy and Sell Bitcoin
<a ng-show="!externalServices.BuyAndSell" ui-sref="buyandsell" class="item item-icon-left item-big-icon-left item-icon-right">
<i class="icon big-icon-svg">
<img class="icon-buy-bitcoin"/>
</i>
<span>Buy Bitcoin</span>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
<a ui-sref="amazon.main" ng-show="!externalServices.AmazonGiftCards" class="item item-icon-left">
<i class="icon ion-ios-cart"></i>Buy a Gift Cards
<a ui-sref="bitpayCard.main" ng-show="!externalServices.BitpayCard" class="item item-icon-left item-big-icon-left item-icon-right">
<i class="icon big-icon-svg">
<img class="icon-bitpay-card"/>
</i>
<span>Add BitPay Card</span>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
<a ui-sref="amazon.main" ng-show="!externalServices.AmazonGiftCards" class="item item-icon-left item-big-icon-left item-icon-right">
<i class="icon big-icon-svg">
<img class="icon-gift"/>
</i>
<span>Add Amazon Gift Card</span>
<i class="icon ion-ios-arrow-right nav-item-arrow-right"></i>
</a>
</div>

View file

@ -1,6 +1,6 @@
<ion-nav-bar class="bar-stable">
<ion-nav-bar class="bar-stable" ng-controller="backController">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ng-click="importGoBack()">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>

View file

@ -1,6 +1,6 @@
<ion-nav-bar class="bar-stable">
<ion-nav-bar class="bar-stable" ng-controller="backController">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ng-click="importGoBack()">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>

View file

@ -1,6 +1,6 @@
<ion-nav-bar class="bar-stable">
<ion-nav-bar class="bar-stable" ng-controller="backController">
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="add.main">
<button class="button no-border" ng-click="importGoBack()">
<i class="icon ion-chevron-left"></i> Back
</button>
</ion-nav-buttons>

View file

@ -1,42 +1,37 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-title>Receive</ion-nav-title>
<ion-nav-bar>
<ion-nav-title>{{'Receive' | translate}}</ion-nav-title>
</ion-nav-bar>
<ion-content ng-controller="tabReceiveController" ng-init="init()">
<div class="text-center m30v" copy-to-clipboard="addr" ng-show="addr">
<qrcode size="220" data="bitcoin:{{addr}}" ng-show="addr"></qrcode>
<div class="m30v text-center" copy-to-clipboard="addr">
<qrcode size="220" data="bitcoin:{{addr}}"></qrcode>
<div ng-if="wallet.needsBackup" class="assertive" translate>
Before receiving funds, you must backup your wallet. If this device is lost, it is impossible to access your funds without a backup.
</div>
</div>
<div class="padding assertive" ng-show="error">
{{error|translate}}
</div>
<div ng-show="generatingAddress" class="m30v">
<div style="height:220px; width:220px; margin:auto; background: #eee; text-align:center">
<div class="padding-top">
<ion-spinner class="spinner-dark" icon="lines"></ion-spinner>
</div>
</div>
</div>
<div class="list card padding text-center" ng-if="!wallets[0]">
<span translate>No Wallet</span>
</div>
<div class="list" ng-if="wallets[0]">
<div class="item item-icon-left" ng-click="shareAddress(addr)" ng-show="isCordova && addr" ng-disabled="generatingAddress">
<div class="item item-icon-left" ng-click="shareAddress(addr)" ng-show="isCordova && addr">
<i class="icon ion-ios-upload-outline"></i>
<span translate>Share address</span>
</div>
<div class="item item-icon-left" ng-click="setAddress(null, true)" ng-disabled="">
<div class="item item-icon-left" ng-click="setAddress(null, true)">
<i class="icon ion-ios-loop"></i>
<span translate>Next Address</span>
</div>
<div class="item item-icon-left">
<i class="icon ion-social-bitcoin-outline"></i>
<span ng-show="generatingAddress">...</span>
<span ng-show="!generatingAddress" copy-to-clipboard="addr">{{addr}}</span>
<span ng-if="generatingAddress">...</span>
<span ng-if="!generatingAddress" copy-to-clipboard="addr">{{addr}}</span>
</div>
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>

View file

@ -1,16 +1,12 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-title>Send</ion-nav-title>
<ion-nav-bar>
<ion-nav-title>{{'Send' | translate}}</ion-nav-title>
</ion-nav-bar>
<ion-content ng-controller="tabSendController" ng-init="init()">
<div class="card">
<div class="item item-divider">
Recipient
</div>
<div class="item item-divider" translate>Recipient</div>
<div class="list list-inset">
<label class="item item-input">
<i class="icon ion-search placeholder-icon"></i>
@ -25,7 +21,7 @@
<div class="card" ng-if="list[0]">
<div class="item item-divider item-icon-right">
Contacts & Wallets
<span translate>Contacts & Wallets</span>
<i class="icon ion-person-add" ng-click="openAddressbookModal()"></i>
</div>
<div class="item text-center" ng-show="!list[0]" translate>No Wallet - Contact</div>

View file

@ -14,7 +14,7 @@
<div class="item item-divider">Preferences</div>
<div class="item item-icon-left" href ui-sref="settings.language">
<div class="item item-icon-left" href ui-sref="tabs.language">
<i class="icon ion-ios-chatbubble-outline"></i>
<span translate>Language</span>
<span class="item-note">
@ -22,7 +22,7 @@
</span>
</div>
<div class="item item-icon-left" href ui-sref="settings.unit">
<div class="item item-icon-left" href ui-sref="tabs.unit">
<i class="icon ion-ios-calculator-outline"></i>
<span translate>Unit</span>
<span class="item-note">
@ -30,7 +30,7 @@
</span>
</div>
<div class="item item-icon-left" href ui-sref="settings.altCurrency">
<div class="item item-icon-left" href ui-sref="tabs.altCurrency">
<i class="icon ion-social-usd-outline"></i>
<span translate>Alternative Currency</span>
<span class="item-note">
@ -38,7 +38,7 @@
</span>
</div>
<div class="item item-icon-left" href ui-sref="settings.fee">
<div class="item item-icon-left" href ui-sref="tabs.fee">
<i class="icon ion-ios-film-outline"></i>
<span translate>Bitcoin Network Fee Policy</span>
<span class="item-note">
@ -77,9 +77,26 @@
<span class="toggle-label" translate>Use Unconfirmed Funds</span>
</ion-toggle>
<div class="item item-icon-left" href ui-sref="settings.about">
<div class="list">
<div class="item item-divider">Wallets Settings</div>
<div ng-repeat="item in wallets track by $index">
<div class="item item-icon-left" href ui-sref="tabs.preferences.main({'walletId': item.id})">
<i class="icon ion-briefcase size-21" ng-style="{'color':item.color}"></i>
{{item.name || item.id}}
<span ng-show="item.n > 1" class="text-light">
{{item.m}}-of-{{item.n}}
</span>
<span class="badge badge-assertive" ng-show="!item.isComplete()" translate>
Incomplete
</span>
</div>
</div>
</div>
<div class="item item-divider"></div>
<div class="item item-icon-left" href ui-sref="tabs.about">
<i class="icon ion-ios-film-outline"></i>
<span translate>About Copay</span>
<span translate>About Bitpay Wallet</span>
</div>
</div>
</ion-content>

View file

@ -3,14 +3,9 @@
<ion-view>
<ion-nav-bar class="bar-stable">
<ion-nav-title>{{wallet.name}}</ion-nav-title>
<ion-nav-buttons side="primary">
<button class="button no-border" ui-sref="tabs.home">
Close
</button>
</ion-nav-buttons>
<ion-nav-buttons side="secondary">
<button class="button button-icon icon ion-ios-settings" ui-sref="wallet.preferences"></button>
</ion-nav-buttons>
<ion-nav-back-button>
{{'Back' | translate}}
</ion-nav-back-button>
</ion-nav-bar>
<ion-content ng-controller="walletDetailsController" ng-init="init()" delegate-handle="my-handle">
@ -44,7 +39,7 @@
</div>
<div ng-click='updateAll()' ng-show="!updateStatusError && wallet.walletScanStatus != 'error' && !shouldHideBalance" on-hold="hideToggle()">
<div ng-click='updateAll()' ng-show="!updateStatusError && wallet.walletScanStatus != 'error' && !wallet.balanceHidden" on-hold="hideToggle()">
<strong class="size-36">{{status.totalBalanceStr}}</strong>
<div class="size-14" ng-if="status.totalBalanceAlternative">{{status.totalBalanceAlternative}} {{status.alternativeIsoCode}}</div>
<div class="size-14" ng-if="status.pendingAmount">
@ -52,7 +47,7 @@
</div>
</div>
<div ng-show="!updateStatusError && wallet.walletScanStatus != 'error' && shouldHideBalance" on-hold="hideToggle()">
<div ng-show="!updateStatusError && wallet.walletScanStatus != 'error' && wallet.balanceHidden" on-hold="hideToggle()">
<strong class="size-24" translate>[Balance Hidden]</strong>
<div class="size-14" translate>
Tap and hold to show