fix merge conflicts
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8 KiB |
|
Before Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 643 B |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
1
www/img/logo-negative.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="116.6 16.8 86.8 30.5"><path d="M203.4 24h-4.5l-2.6 11-.4 1.5c-.3.1-.5.1-.8.2-.5.1-.9.1-1.4.1-.6 0-1-.1-1.4-.3-.3-.2-.6-.4-.7-.7-.1-.3-.2-.7-.2-1.1 0-.4.1-.9.2-1.3l1.4-5.7.9-3.8h-4.6l-2.1 8.8c-.3 1.1-.4 2.1-.4 3 0 1 .1 1.8.4 2.5.3.7.9 1.3 1.7 1.7.8.4 1.9.6 3.3.6 1 0 1.9-.1 2.6-.3h.1c-.2.9-.6 1.6-1.3 2.2-.7.6-1.6.9-2.9.9-.5 0-1.1 0-1.5-.1l-.9 3.7c.6.1 1.3.1 2 .1 1.4 0 2.6-.2 3.6-.5s1.9-.8 2.7-1.4c.7-.6 1.4-1.4 1.9-2.4s.9-2.1 1.2-3.4l3.1-13.1.6-2.2zm-18.9 9.4c-.3 1.1-.4 2.3-.3 3.5.1 1.2.6 2.9 1 3.8h-4.4c-.5-.9-.5-1.3-.6-1.6-.6.5-1.2.8-1.9 1.1-.7.3-1.4.5-2.3.5-1 0-1.9-.2-2.6-.5-.7-.3-1.3-.8-1.8-1.4-.5-.6-.8-1.3-1-2.1-.2-.8-.3-1.6-.3-2.6 0-1.4.3-2.7.7-3.9.5-1.2 1.2-2.3 2.1-3.2.9-.9 3-3 6.5-3h7l-2.1 9.4zm-3.2-5.6c-2.1 0-2.5 0-3.4.4-.6.3-1.1.8-1.6 1.4-.4.5-.8 1.2-1.1 1.9-.3.7-.4 1.5-.4 2.3 0 1 .2 1.7.5 2.3s.9.8 1.8.8c.5 0 .9-.1 1.3-.3.4-.2.8-.5 1.2-.9 0-.5.1-1 .2-1.6s.2-1.1.3-1.5l1.2-4.8m-12.1 2.8c0 1.5-.3 2.8-.7 4.1-.5 1.2-1.2 2.3-2 3.2-.9.9-1.9 1.6-3.1 2.1-1.2.5-2.5.8-3.9.8-.7 0-1.4-.1-2.1-.2l-1.4 5.5h-4.5l5.2-22h6c1.1 0 2.1.2 2.9.5.8.3 1.5.8 2 1.4.5.6.9 1.3 1.2 2.1.3.7.4 1.6.4 2.5zm-11.1 6.2c.3.1.8.1 1.3.1.8 0 1.5-.1 2.2-.4.6-.3 1.2-.7 1.7-1.2s.8-1.2 1.1-1.9c.3-.7.4-1.6.4-2.5 0-.9-.2-1.6-.6-2.2-.4-.6-1.1-.9-2-.9h-1.8l-2.3 9zm-9.4 0c-.6 0-1-.1-1.4-.3-.3-.2-.6-.4-.7-.7-.1-.3-.2-.7-.2-1.1s.1-.9.2-1.3l1.4-5.7h5.1l.9-3.8h-5.2l1.2-4.8-4.8.8-3 12.9c-.3 1.1-.4 2.1-.4 3 0 1 .1 1.8.4 2.5.3.7.9 1.3 1.7 1.7.8.4 1.9.6 3.3.6 1 0 1.9-.1 2.6-.3.1 0 .2 0 .3-.1l.9-3.9c-.3.1-.6.2-.9.2-.5.3-.9.3-1.4.3zM137.2 24l-4 16.7h4.5l4-16.7zm4.9-2l.7-2.9h-4.5l-.7 2.9zm-14.9 2c1 0 1.8.2 2.5.5s1.3.8 1.8 1.4c.5.6.8 1.3 1 2.1s.3 1.6.3 2.5c0 1.4-.3 2.7-.8 4-.5 1.2-1.2 2.3-2.1 3.3s-1.9 1.6-3.2 2.2c-1.2.5-2.5.8-3.9.8h-1c-.5 0-1 0-1.6-.1-.6-.1-1.2-.2-1.9-.4s-1.3-.4-1.9-.7l5.2-22 4.7-.7-1.9 7.8c.4-.2.8-.3 1.2-.4.7-.3 1.1-.3 1.6-.3zm-4 13c.7 0 1.4-.2 2-.5.6-.3 1.2-.8 1.6-1.4.5-.6.8-1.2 1.1-1.9.3-.7.4-1.5.4-2.3 0-1-.2-1.7-.5-2.3-.3-.5-1-.8-1.9-.8-.3 0-.6 0-1 .1-.5.1-.8.3-1.2.6l-2 8.3c.6.1.8.1.9.1.2.1.4.1.6.1z" fill="#FFF"/></svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
1
www/img/logo.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="252.5 17 185 64"><path d="M437.6 32.1H428l-5.6 23.4-.8 3.1c-.6.2-1 .2-1.7.4-1 .2-1.9.2-2.9.2-1.3 0-2.1-.2-2.9-.6-.6-.4-1.3-.8-1.5-1.5-.2-.6-.4-1.5-.4-2.3s.2-1.9.4-2.7l2.9-12.2 1.9-8.1h-9.8l-4.5 18.7c-.6 2.3-.8 4.5-.8 6.4 0 2.1.2 3.8.8 5.3.6 1.5 1.9 2.7 3.6 3.6 1.7.8 4.1 1.3 7 1.3 2.1 0 4.1-.2 5.6-.6h.2c-.4 1.9-1.3 3.4-2.7 4.7-1.5 1.3-3.4 1.9-6.2 1.9-1 0-2.3 0-3.1-.2l-2 7.9c1.3.2 2.7.2 4.3.2 2.9 0 5.6-.4 7.7-1 2.1-.6 4.1-1.7 5.8-2.9 1.5-1.3 2.9-2.9 4.1-5.1 1-2.1 1.9-4.5 2.5-7.2l6.6-27.8 1.1-4.9zM397.4 52c-.6 2.3-.8 4.9-.6 7.4.2 2.5 1.3 6.2 2.1 8.1h-9.3c-1-1.9-1-2.7-1.3-3.4-1.3 1-2.5 1.7-4.1 2.3-1.5.6-2.9 1-4.9 1-2.1 0-4.1-.4-5.6-1s-2.7-1.7-3.8-2.9c-1-1.3-1.7-2.7-2.1-4.5s-.6-3.4-.6-5.6c0-2.9.6-5.8 1.5-8.3 1-2.5 2.5-4.9 4.5-6.8 1.9-1.9 6.4-6.4 13.8-6.4h14.9L397.4 52zm-6.8-11.8c-4.5 0-5.3 0-7.2.8-1.3.6-2.3 1.7-3.4 2.9-.8 1-1.7 2.5-2.3 4.1-.6 1.5-.8 3.1-.8 4.9 0 2.1.4 3.6 1 4.9.6 1.2 1.9 1.7 3.8 1.7 1 0 1.9-.2 2.7-.6.8-.4 1.7-1 2.5-1.9 0-1 .2-2.1.4-3.4.2-1.3.4-2.3.6-3.1l2.7-10.3m-25.8 6c0 3.1-.6 6-1.5 8.7-1 2.5-2.5 4.9-4.3 6.8-1.9 1.9-4.1 3.4-6.6 4.5s-5.3 1.7-8.3 1.7c-1.5 0-2.9-.2-4.5-.4l-2.9 11.6h-9.5l11-46.8H351c2.3 0 4.5.4 6.2 1s3.1 1.7 4.3 2.9c1 1.3 1.9 2.7 2.5 4.5.6 1.6.8 3.5.8 5.5zm-23.5 13.1c.6.2 1.7.2 2.7.2 1.7 0 3.1-.2 4.7-.8 1.3-.6 2.5-1.5 3.6-2.5 1-1 1.7-2.5 2.3-4.1.6-1.5.8-3.4.8-5.3s-.4-3.4-1.3-4.7c-.8-1.3-2.3-1.9-4.3-1.9H346l-4.7 19.1zm-20 0c-1.3 0-2.1-.2-2.9-.6-.6-.4-1.3-.8-1.5-1.5-.2-.6-.4-1.5-.4-2.3 0-.8.2-1.9.4-2.7l2.9-12.2h10.8l1.9-8.1h-11l2.5-10.2-10.2 1.7-6.4 27.4c-.6 2.3-.8 4.5-.8 6.4 0 2.1.2 3.8.8 5.3.6 1.5 1.9 2.7 3.6 3.6 1.7.9 4.1 1.3 7 1.3 2.1 0 4.1-.2 5.6-.6.2 0 .4 0 .6-.2l1.9-8.3c-.6.2-1.3.4-1.9.4-1 .6-1.9.6-2.9.6zm-24.4-27.2l-8.5 35.5h9.5l8.5-35.5zm10.3-4.3l1.5-6.1h-9.5l-1.5 6.1zm-31.6 4.3c2.1 0 3.8.4 5.3 1s2.7 1.7 3.8 2.9c1 1.3 1.7 2.7 2.1 4.5s.6 3.4.6 5.3c0 2.9-.6 5.8-1.7 8.5-1 2.5-2.5 4.9-4.5 7-1.9 2.1-4.1 3.4-6.8 4.7-2.5 1-5.3 1.7-8.3 1.7H264c-1.1 0-2.1 0-3.4-.2-1.3-.2-2.5-.4-4.1-.8-1.5-.4-2.7-.8-4.1-1.5l11.1-46.6 10-1.5-4.1 16.6c.8-.4 1.7-.6 2.5-.8 1.8-.8 2.6-.8 3.7-.8zm-8.5 27.6c1.5 0 2.9-.4 4.3-1s2.5-1.7 3.4-2.9c1-1.3 1.7-2.5 2.3-4.1s.8-3.1.8-4.9c0-2.1-.4-3.6-1-4.9-.6-1-2.1-1.7-4.1-1.7-.6 0-1.3 0-2.1.2-1 .2-1.7.6-2.5 1.3L264 59.4c1.3.2 1.7.2 1.9.2.3.1.8.1 1.2.1z" fill="#002855"/></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
|
@ -8,7 +8,7 @@
|
|||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" type="text/css" href="css/copay.css">
|
||||
<title>{{appConfig.nameCase}} - {{appConfig.description}}</title>
|
||||
<link rel="shortcut icon" href="img/favicon.ico">
|
||||
<link rel="shortcut icon" href="img/app/favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="add-address">
|
||||
<ion-view id="add-address" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
<span translate>Add Contact</span>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="view-address-book">
|
||||
<ion-view id="view-address-book" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
</div>
|
||||
</ion-content>
|
||||
<ion-content class="ng-hide" ng-show="!isEmptyList">
|
||||
<div class="bar bar-header item-input-inset" ng-show="!isEmptyList">
|
||||
<div class="bar bar-header item-input-inset" ng-show="!isEmptyList && addressbook.length >= 5">
|
||||
<label class="item-input-wrapper">
|
||||
<i class="icon ion-ios-search placeholder-icon"></i>
|
||||
<input type="search"
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
<ion-list>
|
||||
<ion-item ng-repeat="addrEntry in addressbook"
|
||||
class="item-icon-right item-avatar"
|
||||
ui-sref="tabs.addressbook.view({address:addrEntry.address})">
|
||||
ui-sref="tabs.addressbook.view({address:addrEntry.address, email: addrEntry.email, name: addrEntry.name})">
|
||||
<gravatar name="{{addrEntry.name}}" width="50" email="{{addrEntry.email}}"></gravatar>
|
||||
<h2>{{addrEntry.name}}</h2>
|
||||
<p>{{addrEntry.address}}</p>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="address-book-view">
|
||||
<ion-view id="address-book-view" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="view-amount">
|
||||
<ion-view id="view-amount" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
{{'Enter Amount'|translate}}
|
||||
|
|
@ -12,15 +12,17 @@
|
|||
<div>
|
||||
<div class="item item-no-bottom-border" translate>Recipient</div>
|
||||
|
||||
<div class="item item-text-wrap item-icon-left bitcoin-address" ng-class="{'item-big-icon-left':isCard}">
|
||||
<i ng-if="isWallet" class="icon ion-briefcase size-21"></i>
|
||||
<div class="item item-text-wrap item-icon-left bitcoin-address" ng-class="{'item-big-icon-left':cardId}">
|
||||
<i class="icon big-icon-svg" ng-if="isWallet">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': toColor}" class="bg"/>
|
||||
</i>
|
||||
<span ng-if="!isWallet">
|
||||
<gravatar ng-if="!isCard" class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar>
|
||||
<i ng-if="isCard" class="icon big-icon-svg">
|
||||
<gravatar ng-if="!cardId" class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar>
|
||||
<i ng-if="cardId" class="icon big-icon-svg">
|
||||
<div class="bg icon-bitpay-card"></div>
|
||||
</i>
|
||||
</span>
|
||||
<span ng-class="{'m10l':isCard}">{{toName || toAddress}}</span>
|
||||
<span class="m10l">{{toName || toAddress}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="wallet-backup-phrase">
|
||||
<ion-view id="wallet-backup-phrase" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
{{viewTitle}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="backup-warning" class="onboarding" ng-controller="backupWarningController">
|
||||
<ion-view id="backup-warning" class="onboarding" ng-controller="backupWarningController" hide-tabs>
|
||||
<ion-nav-bar>
|
||||
<ion-nav-buttons side="primary">
|
||||
<button class="button button-back button-clear" ng-click="goBack()">
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
<ion-nav-title>BitPay Card</ion-nav-title>
|
||||
<ion-nav-buttons side="secondary" ng-show="bitpayCard.bitpayCardAuthenticated">
|
||||
<button class="button back-button" ui-sref="tabs.bitpayCard.preferences">
|
||||
<ion-nav-title>BitPay Visa® Card</ion-nav-title>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button class="button back-button" ng-show="!error" ui-sref="tabs.bitpayCard.preferences">
|
||||
<i class="icon ion-ios-gear-outline"></i>
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
|
|
@ -16,145 +16,80 @@
|
|||
Sandbox version. Only for testing purpose
|
||||
</div>
|
||||
|
||||
<div class="m20t text-center size-12 text-gray" ng-show="!bitpayCard.bitpayCardAuthenticated && bitpayCard.loadingSession">
|
||||
Loading...
|
||||
</div>
|
||||
|
||||
<div ng-show="!bitpayCard.bitpayCardAuthenticated && !bitpayCard.loadingSession">
|
||||
<div class="text-center m20t">
|
||||
<img src="img/bitpay-card-visa.svg" width="200">
|
||||
<div class="oh pr" ng-show="!error">
|
||||
<div class="amount">
|
||||
<div ng-if="bitpayCard.bitpayCardCurrentBalance" ng-click="bitpayCard.update()">
|
||||
<div class="size-36 m20b">${{bitpayCard.bitpayCardCurrentBalance}}</div>
|
||||
<a class="button button-positive button-small"
|
||||
ui-sref="tabs.bitpayCard.amount({'cardId': cardId, 'toName': 'BitPay Card'})" translate>
|
||||
Add Funds
|
||||
</a>
|
||||
</div>
|
||||
<h4 class="text-center">
|
||||
<span ng-show="!bitpayCard.bitpayCardTwoFactorPending">Login to your account</span>
|
||||
<span ng-show="bitpayCard.bitpayCardTwoFactorPending">2-Step Verification</span>
|
||||
</h4>
|
||||
|
||||
<form
|
||||
ng-show="!bitpayCard.bitpayCardTwoFactorPending"
|
||||
name="authenticateForm"
|
||||
ng-submit="bitpayCard.authenticate(email, password)"
|
||||
novalidate>
|
||||
|
||||
<div class="card list">
|
||||
<label class="item item-input item-stacked-label">
|
||||
<span class="input-label">Email</span>
|
||||
<input name="email"
|
||||
type="email"
|
||||
ng-model="email"
|
||||
ng-disabled="bitpayCard.authenticating"
|
||||
required>
|
||||
</label>
|
||||
|
||||
<label class="item item-input item-stacked-label">
|
||||
<span class="input-label">Password</span>
|
||||
<input name="password"
|
||||
type="password"
|
||||
ng-model="password"
|
||||
ng-disabled="bitpayCard.authenticating"
|
||||
required>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<input class="button button-block button-positive"
|
||||
type="submit"
|
||||
ng-disabled="!authenticateForm.$valid || bitpayCard.authenticating"
|
||||
value="Login">
|
||||
</form>
|
||||
|
||||
<p ng-show="bitpayCard.bitpayCardTwoFactorPending" class="size-12 text-center text-gray">
|
||||
Enter the verification code generated by the authenticator app on your phone.
|
||||
</p>
|
||||
|
||||
<form
|
||||
ng-show="bitpayCard.bitpayCardTwoFactorPending"
|
||||
name="authenticate2FAForm"
|
||||
ng-submit="bitpayCard.authenticate2FA(twoFactorCode)"
|
||||
novalidate>
|
||||
|
||||
<div class="list">
|
||||
<label class="item item-input item-stacked-label">
|
||||
<span class="input-label">Verification Code</span>
|
||||
<input name="twoFactorCode"
|
||||
type="text"
|
||||
ng-model="twoFactorCode"
|
||||
ng-disabled="bitpayCard.authenticating"
|
||||
required>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<input class="button button-block button-positive"
|
||||
type="submit"
|
||||
ng-disabled="!authenticate2FAForm.$valid || bitpayCard.authenticating"
|
||||
value="Login">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div ng-show="bitpayCard.bitpayCardAuthenticated">
|
||||
<div class="oh pr">
|
||||
<div class="amount">
|
||||
<div ng-if="!loadingHistory && bitpayCard.bitpayCardCurrentBalance" ng-click="bitpayCard.update()">
|
||||
<div class="size-36 m20b">${{bitpayCard.bitpayCardCurrentBalance}}</div>
|
||||
<a class="button button-positive button-small" ui-sref="tabs.bitpayCard.amount({'isCard': true, 'toName': 'BitPay Card'})">
|
||||
<i class="icon ion-ios-plus-empty"></i> {{'Add Funds'|translate}}
|
||||
</a>
|
||||
</div>
|
||||
<div ng-if="loadingHistory" class="m10t">
|
||||
<strong class="size-36">...</strong>
|
||||
</div>
|
||||
<div ng-if="!bitpayCard.bitpayCardCurrentBalance" class="m10t">
|
||||
<strong class="size-36">...</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="m10t text-center padding"
|
||||
ng-show="!bitpayCard.bitpayCardTransactionHistory[0] &&
|
||||
!bitpayCard.bitpayCardInvoiceHistory[0] && (!loadingHistory || !bitpayCardCached)">
|
||||
<i class="icon ion-ios-arrow-thin-up size-24"></i>
|
||||
<h1>Get started</h1>
|
||||
<h4>Your BitPay Card is ready. Add funds to your card to start using your card at stores and ATMs worldwide.</h4>
|
||||
<div class="wallet-details-wallet-info">
|
||||
<img style="height:0.6em" ng-show="loadingHistory" src="img/icon-sync-white.svg">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list" ng-if="bitpayCardCached">
|
||||
<div class="item item-divider">
|
||||
<select class="select-style" ng-model="dateRange" ng-change="bitpayCard.update(dateRange)">
|
||||
<option value="last30Days">Recent Activity</option>
|
||||
<option value="lastMonth">Last Month</option>
|
||||
<option value="all">All Activity</option>
|
||||
<div ng-show="error" class="text-center m10t assertive">
|
||||
{{error}}
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="m10t text-center padding ng-hide"
|
||||
ng-show="bitpayCard.getStarted">
|
||||
<i class="icon ion-ios-arrow-thin-up size-24"></i>
|
||||
<h1>Get started</h1>
|
||||
<h4>Your BitPay Card is ready. Add funds to your card to start using your card at stores and ATMs worldwide.</h4>
|
||||
</div>
|
||||
|
||||
<div class="list" ng-show="!bitpayCard.getStarted">
|
||||
<label class="item item-input item-select">
|
||||
<div class="input-label" translate>
|
||||
Activity
|
||||
</div>
|
||||
<select ng-model="dateRange.value" ng-change="bitpayCard.update()">
|
||||
<option value="last30Days" selected translate>Recent</option>
|
||||
<option value="lastMonth" translate>Last Month</option>
|
||||
<option value="all" translate>All</option>
|
||||
</select>
|
||||
</label>
|
||||
<div ng-if="bitpayCard.bitpayCardTransactionHistory[0]"
|
||||
ng-repeat="tx in bitpayCard.bitpayCardTransactionHistory | orderBy: ['pending','-timestamp']"
|
||||
class="item row">
|
||||
<div class="col col-10">
|
||||
<img class="m5t" ng-src="img/mcc-icons/{{tx.icon}}.svg" width="22">
|
||||
</div>
|
||||
<div
|
||||
ng-repeat="tx in bitpayCard.bitpayCardTransactionHistory | orderBy: ['pending','-timestamp']"
|
||||
class="item row"
|
||||
ng-init="bitpayCard.getMerchantInfo(tx)">
|
||||
<div class="col col-10" ng-init="icon = bitpayCard.getIconName(tx)">
|
||||
<img class="m5t" ng-src="img/mcc-icons/{{icon}}.svg" width="22">
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="size-12 text-bold">
|
||||
{{tx.merchant.name}}
|
||||
</div>
|
||||
<div class="size-12">
|
||||
{{tx.merchant.city}}, {{tx.merchant.state}}
|
||||
</div>
|
||||
<div class="col col-50">
|
||||
<div class="size-12 text-bold">
|
||||
{{tx.merchant.name}}
|
||||
</div>
|
||||
<div
|
||||
ng-init="desc = bitpayCard.processDescription(tx)"
|
||||
class="col size-12">
|
||||
{{desc}}
|
||||
<div class="size-12">
|
||||
{{tx.merchant.city}}, {{tx.merchant.state}}
|
||||
</div>
|
||||
<div class="col">
|
||||
<img ng-show="!tx.pending" ng-src="img/check.svg" width="14">
|
||||
<img ng-show="tx.pending" ng-src="img/sync.svg" width="14">
|
||||
</div>
|
||||
<div class="col text-right size-12 text-gray">
|
||||
<div class="size-14"
|
||||
ng-class="{
|
||||
'text-success': tx.amount.indexOf('-') == -1 && !tx.pending,
|
||||
'text-gray': tx.amount.indexOf('-') == -1 && tx.pending}">
|
||||
{{tx.amount | currency:'$':2 }}
|
||||
</div>
|
||||
<time>{{tx.timestamp | amTimeAgo}}</time>
|
||||
</div>
|
||||
<!--
|
||||
<div class="col size-12">
|
||||
{{tx.desc}}
|
||||
</div>
|
||||
-->
|
||||
<div class="col col-10 text-center p10t">
|
||||
<img ng-show="!tx.pending" ng-src="img/check.svg" width="14">
|
||||
<img ng-show="tx.pending" ng-src="img/sync.svg" width="14">
|
||||
</div>
|
||||
<div class="col text-right size-12 text-gray">
|
||||
<div class="size-14"
|
||||
ng-class="{
|
||||
'text-success': tx.amount.indexOf('-') == -1 && !tx.pending,
|
||||
'text-gray': tx.amount.indexOf('-') == -1 && tx.pending}">
|
||||
{{tx.amount | currency:'$':2 }}
|
||||
</div>
|
||||
<time ng-if="!tx.pending">{{tx.timestamp | amTimeAgo}}</time>
|
||||
<span ng-if="tx.pending" class="tu" translate>Pending</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
45
www/views/bitpayCardIntro.html
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<ion-view id="bitpayCard-intro" hide-tabs>
|
||||
<ion-nav-bar class="bar-stable">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
<ion-nav-title></ion-nav-title>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button class="button back-button button-clear" ng-click="orderBitPayCard()">
|
||||
<i class="icon ion-ios-information-outline"></i>
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content scroll="false">
|
||||
<div class="text-center padding">
|
||||
<img src="img/bitpay-card-visa.svg" width="100%">
|
||||
</div>
|
||||
<ion-slide-box>
|
||||
<ion-slide>
|
||||
<p translate>
|
||||
Turn bitcoin into dollars, swipe anywhere Visa® is accepted.
|
||||
</p>
|
||||
</ion-slide>
|
||||
<ion-slide>
|
||||
<p translate>
|
||||
<span translate>Get local cash anywhere you go, from any Visa®-compatible ATM.</span>
|
||||
<div translate class="size-10 text-center">
|
||||
*ATM bank fees may apply
|
||||
</div>
|
||||
</p>
|
||||
</ion-slide>
|
||||
<ion-slide>
|
||||
<p translate>
|
||||
Pay 0% fees to turn bitcoin into dollars.
|
||||
</p>
|
||||
</ion-slide>
|
||||
</ion-slide-box>
|
||||
<div class="cta-button">
|
||||
<button class="button button-block button-primary" ng-click="orderBitPayCard()" translate>
|
||||
Order the BitPay Card
|
||||
</button>
|
||||
<button class="button button-block button-transparent text-white m10t" ng-click="connectBitPayCard()" translate>
|
||||
Connect my BitPay Card
|
||||
</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
</div>
|
||||
<div class="m10t">
|
||||
<button class="button button-positive"
|
||||
ng-click="openExternalLink('https://www.amazon.com/gc/redeem?claimCode=' + buy.giftCard.claimCode, '_system')">
|
||||
ng-click="openExternalLink('https://www.amazon.com/gc/redeem?claimCode=' + buy.giftCard.claimCode)">
|
||||
Redeem Now
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view id="view-confirm">
|
||||
<ion-view id="view-confirm" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
{{'Confirm'|translate}}
|
||||
|
|
@ -22,9 +22,21 @@
|
|||
<div class="info">
|
||||
<div class="item">
|
||||
<span class="label" translate>To</span>
|
||||
<span class="payment-proposal-to" copy-to-clipboard="toAddress">
|
||||
<img src="img/icon-bitcoin-small.svg">
|
||||
<contact class="ellipsis" address="{{toAddress}}">{{toAddress}}</contact>
|
||||
<span class="payment-proposal-to">
|
||||
<img ng-if="!cardId" src="img/icon-bitcoin-small.svg">
|
||||
<img ng-if="cardId" src="img/icon-card.svg" width="34">
|
||||
|
||||
<contact ng-if="!toName && !_paypro" class="ellipsis" address="{{toAddress}}" copy-to-clipboard="toAddress">
|
||||
</contact>
|
||||
|
||||
<span class="m15l size-14" ng-if="toName && !_paypro" copy-to-clipboard="toAddress">{{toName}}</span>
|
||||
|
||||
<div ng-if="_paypro" ng-click="openPPModal(_paypro)" class="m15l size-14 w100p pointer">
|
||||
<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>
|
||||
<span class="ellipsis" ng-show="!toName">{{_paypro.domain || _paypro.toAddress}}</span>
|
||||
<span ng-show="toName">{{toName}}</span>
|
||||
</div>
|
||||
<!-- <contact ng-if="!tx.hasMultiplesOutputs" class="ellipsis" address="{{toAddress}}"></contact>
|
||||
<span ng-if="tx.hasMultiplesOutputs" translate>Multiple recipients</span> -->
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -5,17 +5,17 @@
|
|||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
|
||||
<ion-content ng-init="file = true">
|
||||
<ion-content>
|
||||
<div class="row text-center top-tabs">
|
||||
<div class="col" ng-click="file = true" ng-style="file && {'border-bottom-style': 'solid'}">
|
||||
<div class="col" ng-click="file.value = true" ng-style="file.value && {'border-bottom-style': 'solid'}">
|
||||
<span class="" translate>File/Text</span>
|
||||
</div>
|
||||
<div class="col" ng-click="file = false" ng-style="!file && {'border-bottom-style': 'solid'}">
|
||||
<div class="col" ng-click="generateQrCode();" ng-style="!file.value && {'border-bottom-style': 'solid'}">
|
||||
<span class="" translate>QR Code</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-include="'views/tab-export-file.html'" ng-if="file"></div>
|
||||
<div ng-include="'views/tab-export-qrCode.html'" ng-if="!file"></div>
|
||||
<div ng-include="'views/tab-export-file.html'" ng-if="file.value"></div>
|
||||
<div ng-include="'views/tab-export-qrCode.html'" ng-if="!file.value"></div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -1,17 +1,22 @@
|
|||
<ion-view>
|
||||
<ion-view id="glidera">
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
<ion-nav-title>Glidera</ion-nav-title>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button class="button back-button" ng-show="token" ui-sref="tabs.buyandsell.glidera.preferences">
|
||||
<i class="icon ion-ios-gear-outline"></i>
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
|
||||
<ion-content>
|
||||
|
||||
<div class="box-notification error" ng-show="!network">
|
||||
<div class="box-notification error m0" ng-show="!network">
|
||||
Glidera is disabled for this application
|
||||
</div>
|
||||
|
||||
<div class="box-notification warning" ng-show="network == 'testnet'">
|
||||
<div class="box-notification warning m0" ng-show="network == 'testnet'">
|
||||
Testnet wallets only work with Glidera Sandbox Accounts
|
||||
</div>
|
||||
|
||||
|
|
@ -19,25 +24,24 @@
|
|||
|
||||
<div ng-init="showOauthForm = false">
|
||||
<div class="text-center m20v">
|
||||
<img src="img/glidera-logo.png" ng-click="update(token, permissions)" width="200">
|
||||
<img src="img/glidera-logo.png" ng-click="update({'fullUpdate': true})" width="200">
|
||||
</div>
|
||||
<div class="text-center small-10 small-centered columns" ng-show="!showOauthForm">
|
||||
<p class="m10b">You can buy and sell Bitcoin with a US bank account directly in Copay.</p>
|
||||
<p class="glidera-lead">You can buy and sell Bitcoin with a US bank account directly in this app.</p>
|
||||
|
||||
<p class="m20t padding text-gray size-12 text-left">
|
||||
<p class="disclosure">
|
||||
DISCLOSURE.<br>
|
||||
Glidera Inc. (Glidera) is providing the service of buying or selling bitcoins to Copay users. To enable this
|
||||
Glidera Inc. (Glidera) is providing the service of buying or selling bitcoin to BitPay users. To enable this
|
||||
service, Glidera has registered with US Treasury Department’s FinCEN as a Money Service Business
|
||||
(#31000042625755). Users of Copay must agree to the service agreement presented by Glidera prior to obtaining
|
||||
(#31000042625755). Users of BitPay must agree to the service agreement presented by Glidera prior to obtaining
|
||||
Glidera’s service of buying or selling bitcoins. Service available in U.S. and Canada only. In U.S. (buy & sell) CA, GA, IL, KS,
|
||||
MA, MD, MO, MT, MN, SC, TX, AZ, CO, DE, ME, NJ, PA, TN, UT, NV, WI. In Canada (buy & sell) AB, BC, MB, NB, NL, NS, NT, NU,
|
||||
ON, PE, SK, YT.
|
||||
</p>
|
||||
|
||||
<p class="m20t text-gray size-12">Connect your Glidera account to get started</p>
|
||||
|
||||
<button class="button button-standard button-primary"
|
||||
ng-click="openExternalLink(glidera.getAuthenticateUrl(), '_system'); showOauthForm = true">
|
||||
ng-click="openExternalLink(glidera.getAuthenticateUrl()); showOauthForm = true">
|
||||
Connect to Glidera
|
||||
</button>
|
||||
<div class="m10t">
|
||||
|
|
@ -60,7 +64,7 @@
|
|||
<div class="col">
|
||||
<input type="button"
|
||||
value="Cancel"
|
||||
class="button button-block button-light"
|
||||
class="button button-standard button-light"
|
||||
ng-click="showOauthForm = false">
|
||||
</div>
|
||||
<div class="col">
|
||||
|
|
@ -76,34 +80,20 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="token && permissions">
|
||||
<div ng-if="token">
|
||||
<div class="text-center m20v">
|
||||
<img src="img/glidera-logo.png" ng-click="update(token, permissions)" width="200">
|
||||
<img src="img/glidera-logo.png" ng-click="update({'fullUpdate': true})" width="200">
|
||||
</div>
|
||||
<div class="list">
|
||||
<a class="item item-icon-left item-icon-right" href ui-sref="tabs.buyandsell.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 bp-arrow-right"></i>
|
||||
<div class="text-center m30v size-12"
|
||||
ng-show="status && !status.userCanTransact">
|
||||
<h4 class="text-bold">Complete Setup</h4>
|
||||
<div>Your Glidera account is not ready to transact. Please, verify it at <b>Glidera.io</b></div>
|
||||
<a class="button"
|
||||
ng-init="glideraUrl = network == 'testnet' ? 'https://sandbox.glidera.io/login' : 'https://glidera.io/login'"
|
||||
ng-click="openExternalLink(glideraUrl)">
|
||||
Go to Glidera
|
||||
</a>
|
||||
</div>
|
||||
<div class="padding">
|
||||
<div class="text-center m30v size-12"
|
||||
ng-show="status && !status.userCanTransact">
|
||||
<h4 class="text-bold"> Complete Setup</h4>
|
||||
<div>Your Glidera account is not ready to transact. Please, verify it at <b>Glidera.io</b></div>
|
||||
<a class="button"
|
||||
ng-init="glideraUrl = network == 'testnet' ? 'https://sandbox.glidera.io/login' :
|
||||
'https://glidera.io/login'"
|
||||
ng-click="openExternalLink(glideraUrl)">
|
||||
Go to Glidera
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list"
|
||||
ng-show="status && status.userCanTransact">
|
||||
|
|
@ -123,7 +113,7 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<div class="list card" ng-show="permissions.transaction_history">
|
||||
<div class="list card" ng-show="permissions && permissions.transaction_history">
|
||||
<div class="item item-heading">
|
||||
Activity
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
<li class="p10 oh" copy-to-clipboard="output.toAddress">
|
||||
<div class="item" copy-to-clipboard="output.toAddress">
|
||||
<span class="text-gray" translate>To</span>:
|
||||
<span class="right enable_text_select">{{output.toAddress || output.address}}</span>
|
||||
</li>
|
||||
<li class="p10" copy-to-clipboard="output.amountStr">
|
||||
</div>
|
||||
|
||||
<div class="item" copy-to-clipboard="output.amountStr">
|
||||
<span class="text-gray" translate>Amount</span>:
|
||||
<span class="right enable_text_select">{{output.amountStr}}
|
||||
<span ng-show="output.alternativeAmountStr" class="label gray radius">{{output.alternativeAmountStr}}</span>
|
||||
<span ng-show="output.alternativeAmountStr">({{output.alternativeAmountStr}})</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="p10 oh" copy-to-clipboard="output.message">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item" copy-to-clipboard="output.message" ng-show-"output.message">
|
||||
<span class="text-gray" translate>Note</span>:
|
||||
<span class="right enable_text_select">{{output.message}}</span>
|
||||
</li>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
<div class="wallets" ng-show="wallets[0]">
|
||||
<ion-slides class="slides" slider="data.slider">
|
||||
<ion-slides class="slides" slider="data.slider" options="sliderOptions">
|
||||
<ion-slide-page ng-repeat="wallet in wallets track by $index">
|
||||
<div class="card" ng-click="slider.slideTo($index)">
|
||||
<div class="item item-icon-left text-right">
|
||||
<div class="item item-icon-left text-right" ng-class="{'noBalance': !wallet.status.availableBalanceStr}">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<span>{{wallet.name || wallet.id}}</span>
|
||||
<span class="wallet-name">{{wallet.name || wallet.id}}</span>
|
||||
<span class="item-note m10l">
|
||||
{{wallet.status.availableBalanceStr}}
|
||||
</span>
|
||||
<span class="item-note m10l" ng-show="wallet.n > 1 && wallet.isComplete()">
|
||||
{{wallet.m}}-of-{{wallet.n}}
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</div>
|
||||
<div class="m10t" ng-show="card.cardStatus == 'Fulfilled'">
|
||||
<button class="button button-positive"
|
||||
ng-click="openExternalLink('https://www.amazon.com/gc/redeem?claimCode=' + card.claimCode, '_system')">
|
||||
ng-click="openExternalLink('https://www.amazon.com/gc/redeem?claimCode=' + card.claimCode)">
|
||||
Redeem Now
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,13 +7,23 @@
|
|||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content class="has-header" scroll="false">
|
||||
<ion-scroll ng-include="'views/includes/terms.html'" direction="y" ng-style="{'height': '60%'}"></ion-scroll>
|
||||
<div id="agree-to-terms">
|
||||
<a ng-click="openExternalLink('https://copay.io/disclaimer')" ng-show="lang != 'en'" translate>Official English Disclaimer</a>
|
||||
<ion-checkbox ng-model="terms.accept3"></ion-checkbox>
|
||||
<p translate>I have read, understood, and agree with the Terms of use.</p>
|
||||
<button ng-disabled="!terms.accept3" class="button button-block button-positive" ng-click="termsModal.hide(); confirm()" translate>Confirm & Finish</button>
|
||||
</div>
|
||||
<ion-content class="has-header">
|
||||
<div ng-include="'views/includes/terms.html'" direction="y"></div>
|
||||
</ion-content>
|
||||
<div id="agree-to-terms">
|
||||
<div class="text-center">
|
||||
<a ng-click="openExternalLink('https://copay.io/disclaimer', true, 'View Terms of Service', 'The official English Terms of Service are available on the BitPay website. Would you like to view them?', 'Open Website', 'Go Back')" ng-show="lang != 'en'" translate>Official English Disclaimer</a>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col col-20">
|
||||
<ion-checkbox ng-model="terms.accept3"></ion-checkbox>
|
||||
</div>
|
||||
<div class="col col-80">
|
||||
<p translate>I have read, understood, and agree with the Terms of use.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button ng-disabled="!terms.accept3" class="button utton-block button-positive" ng-click="termsModal.hide(); confirm()" translate>Confirm & Finish</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-modal-view>
|
||||
|
|
|
|||
|
|
@ -55,9 +55,9 @@
|
|||
</div>
|
||||
|
||||
<div class="list">
|
||||
<div class="item item-icon-left" ng-show="btx.action == 'sent'">
|
||||
<div class="item item-icon-left" ng-show="btx.action == 'sent' && !btx.hasMultiplesOutputs && btx.addressTo && btx.addressTo != 'N/A'">
|
||||
<i class="icon icon-svg"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<div ng-if="!btx.hasMultiplesOutputs && btx.addressTo && btx.addressTo != 'N/A'" copy-to-clipboard="btx.addressTo">
|
||||
<div copy-to-clipboard="btx.addressTo">
|
||||
<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>
|
||||
|
|
@ -69,8 +69,22 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-show="btx.hasMultiplesOutputs" class="item item-icon-right item-heading" ng-click="showMultiplesOutputs = !showMultiplesOutputs">
|
||||
{{'Recipients'|translate}}
|
||||
[ {{btx.recipientCount}} ]
|
||||
|
||||
<i class="icon bp-arrow-up" ng-show="showMultiplesOutputs"></i>
|
||||
<i class="icon bp-arrow-down" ng-show="!showMultiplesOutputs"></i>
|
||||
</div>
|
||||
|
||||
<div class="item" ng-show="btx.hasMultiplesOutputs && showMultiplesOutputs"
|
||||
ng-repeat="output in btx.outputs"
|
||||
ng-include="'views/includes/output.html'">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item item-icon-left"
|
||||
ng-click="openExternalLink('https://' + (getShortNetworkName() == 'test' ? 'test-' : '') + 'insight.bitpay.com/tx/' + btx.txid)">
|
||||
ng-click="openExternalLink('https://' + (getShortNetworkName() == 'test' ? 'test-' : '') + 'insight.bitpay.com/tx/' + btx.txid, true, 'View Transaction on Insight', 'Would you like to view this transaction on the Insight blockchain explorer?
', 'Open Insight', 'Go back')">
|
||||
<i class="icon ion-ios-upload-outline"></i>
|
||||
<span class="text-gray" translate>View transaction on the blockchain</span>
|
||||
</div>
|
||||
|
|
@ -120,20 +134,6 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<div ng-show="btx.hasMultiplesOutputs" class="item" ng-click="showMultiplesOutputs = !showMultiplesOutputs">
|
||||
{{'Recipients'|translate}}
|
||||
<span class="item-note">
|
||||
{{btx.recipientCount}}
|
||||
<i ng-show="showMultiplesOutputs" class="icon-arrow-up3 size-24"></i>
|
||||
<i ng-show="!showMultiplesOutputs" class="icon-arrow-down3 size-24"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="item" ng-show="btx.hasMultiplesOutputs && showMultiplesOutputs"
|
||||
ng-repeat="output in btx.outputs"
|
||||
ng-include="'views/includes/output.html'">
|
||||
</div>
|
||||
|
||||
<div ng-if="btx.action == 'invalid'" class="item">
|
||||
<span class="right" translate>
|
||||
This transaction has become invalid; possibly due to a double spend attempt.
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
v{{version}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item item-icon-left" ng-click="openExternalLink('https://github.com/bitpay/'+name+'/tree/'+commitHash)">
|
||||
<div class="item item-icon-left" ng-click="openExternalLink('https://github.com/bitpay/'+name+'/tree/'+commitHash+'', true, 'Open GitHub Project', 'You can see the latest developments and contribute to this open source app by visiting our project on GitHub.', 'Open GitHub', 'Go Back')">
|
||||
<i class="icon ion-social-github-outline"></i>
|
||||
<span translate>Commit hash</span>
|
||||
<span class="item-note">
|
||||
|
|
|
|||
|
|
@ -2,14 +2,21 @@
|
|||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
<ion-nav-title>Preferences</ion-nav-title>
|
||||
<ion-nav-title>BitPay Visa® Cards</ion-nav-title>
|
||||
</ion-nav-bar>
|
||||
|
||||
<ion-content ng-controller="preferencesBitpayCardController">
|
||||
<ul class="list">
|
||||
<li class="item assertive" ng-click="logout()">
|
||||
Log out
|
||||
</li>
|
||||
</ul>
|
||||
<ion-content>
|
||||
<div class="list">
|
||||
<div class="item item-divider" translate>
|
||||
Cards
|
||||
</div>
|
||||
<div class="item" ng-repeat="card in bitpayCards">
|
||||
xxxx-xxxx-xxxx-{{card.lastFourDigits}}
|
||||
</div>
|
||||
<div class="item item-divider"></div>
|
||||
<div class="item assertive" ng-click="remove()">
|
||||
Removes all data from this device
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -9,10 +9,11 @@
|
|||
<ion-content>
|
||||
<div class="settings-explaination">
|
||||
<div class="settings-description" translate>
|
||||
You'll receive email notifications about payments sent and received from this wallet.
|
||||
You'll receive email notifications about payments sent and received from {{wallet.name}}.
|
||||
</div>
|
||||
<a href ng-if="emailForExist" class="settings-description-disabled" ng-click="save(null)" translate>Remove email notifications</a>
|
||||
</div>
|
||||
<form name="emailForm" ng-submit="save(emailForm)" novalidate>
|
||||
<form name="emailForm" ng-submit="save(email.value)" novalidate>
|
||||
<div class="list settings-input-group">
|
||||
<label class="item item-input item-stacked-label">
|
||||
<span class="input-label" translate>Email Address</span>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view>
|
||||
<ion-view class="settings">
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{'Transaction History' | translate}}</ion-nav-title>
|
||||
<ion-nav-back-button>
|
||||
|
|
@ -6,17 +6,20 @@
|
|||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div class="item item-divider"></div>
|
||||
<div class="item" ng-show="csvReady && !isCordova" ng-csv="csvContent" csv-header="csvHeader" filename="Copay-{{wallet.name}}.csv">
|
||||
<a class="item ng-hide" href ng-show="csvReady && !isCordova" ng-csv="csvContent" csv-header="csvHeader" filename="Copay-{{wallet.name}}.csv">
|
||||
<span translate>Export to file</span>
|
||||
</div>
|
||||
<div class="item" ng-show="!csvReady && !isCordova">
|
||||
</a>
|
||||
<a class="item ng-hide" href ng-show="!csvReady && !isCordova">
|
||||
<span translate>Export to file</span>
|
||||
<span class="item-note" translate>
|
||||
<span class="item-note ng-hide" ng-show="!err" translate>
|
||||
preparing...
|
||||
</span>
|
||||
</div>
|
||||
<div class="item assertive" ng-click="clearTransactionHistory()">
|
||||
<span translate>Clear cache</span>
|
||||
</div>
|
||||
<span class="item-note ng-hide" ng-show="err">
|
||||
{{err | translate}}
|
||||
</span>
|
||||
</a>
|
||||
<a class="item" ng-click="clearTransactionHistory()">
|
||||
<span class="assertive" translate>Clear cache</span>
|
||||
</a>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -13,11 +13,13 @@
|
|||
</ion-radio>
|
||||
</div>
|
||||
<div class="padding">
|
||||
<span translate>All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at</span>
|
||||
<a ng-click="openExternalLink('https://crowdin.com/project/copay', '_system')">https://crowdin.com/project/copay</a>.
|
||||
<span translate>We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.</span>
|
||||
<button class="button button-standard button-primary" ng-click="openExternalLink(true, 'Open Translation Community', 'You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!
|
||||
', 'Open Crowdin', 'Go Back')" translate>Contribute Translations
|
||||
</button>
|
||||
<span translate>
|
||||
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
||||
</span>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@
|
|||
</button>
|
||||
|
||||
<div ng-show="isCordova">
|
||||
<h4 translate>Export options</h4>
|
||||
<button class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<ion-content class="padding">
|
||||
<ion-refresher
|
||||
ng-if="isCordova"
|
||||
ng-if="isAndroid"
|
||||
pulling-icon="ion-ios-refresh"
|
||||
spinner="ios-small"
|
||||
on-refresh="onRefresh()">
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
<a ui-sref="tabs.add" ng-if="wallets[0]"><i class="icon ion-ios-plus-empty list-add-button"></i></a>
|
||||
</div>
|
||||
<div>
|
||||
<a ng-if="!wallets[0]" ui-sref="tabs.add" class="item item-icon-left item-big-icon-left item-icon-right next-step ng-hide">
|
||||
<a ng-if="!wallets[0]" ui-sref="tabs.add" class="item item-icon-left item-big-icon-left item-icon-right next-step">
|
||||
<i class="icon big-icon-svg">
|
||||
<div class="bg icon-create-wallet"></div>
|
||||
</i>
|
||||
|
|
@ -78,7 +78,6 @@
|
|||
{{wallet.m}}-of-{{wallet.n}}
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<p>
|
||||
<span ng-if="!wallet.isComplete()" class="assertive" translate>
|
||||
Incomplete
|
||||
|
|
@ -91,15 +90,26 @@
|
|||
</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
<a ui-sref="tabs.bitpayCard"
|
||||
ng-if="wallets[0] && externalServices.BitpayCard && bitpayCardEnabled"
|
||||
class="item item-sub item-icon-left item-big-icon-left item-icon-right">
|
||||
|
||||
<a ng-repeat="card in bitpayCards"
|
||||
ui-sref="tabs.bitpayCard({id:card.id})"
|
||||
ng-if="bitpayCardEnabled && bitpayCards[0]"
|
||||
class="item item-icon-left item-big-icon-left item-icon-right">
|
||||
<i class="icon big-icon-svg">
|
||||
<div class="bg icon-bitpay-card"></div>
|
||||
</i>
|
||||
<h2>BitPay Card</h2>
|
||||
<p ng-if="!bitpayCard" translate>Add funds to get started</p>
|
||||
<span ng-if="bitpayCard">${{bitpayCard.balance}}</span>
|
||||
<h2>BitPay Visa® Card</h2>
|
||||
<p>{{cardsHistory[card.id].balance ? '$' + cardsHistory[card.id].balance : 'Add funds to get started'|translate}}</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
<a ui-sref="tabs.bitpayCardIntro"
|
||||
ng-if="bitpayCardEnabled && !bitpayCards[0] && externalServices.BitpayCard"
|
||||
class="item item-icon-left item-big-icon-left item-icon-right">
|
||||
<i class="icon big-icon-svg">
|
||||
<div class="bg icon-bitpay-card"></div>
|
||||
</i>
|
||||
<h2>BitPay Visa® Card</h2>
|
||||
<p translate>Add your card</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -138,7 +148,7 @@
|
|||
<i class="icon bp-arrow-down" ng-show="hideNextSteps"></i>
|
||||
</div>
|
||||
<div ng-show="!hideNextSteps">
|
||||
<a ui-sref="tabs.bitpayCard" ng-if="!externalServices.BitpayCard && bitpayCardEnabled" class="item item-sub item-icon-left item-big-icon-left item-icon-right next-step">
|
||||
<a ui-sref="tabs.bitpayCardIntro" ng-if="!externalServices.BitpayCard && bitpayCardEnabled" class="item item-icon-left item-big-icon-left item-icon-right next-step">
|
||||
<i class="icon big-icon-svg">
|
||||
<div class="bg icon-bitpay-card"></div>
|
||||
</i>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{'Receive' | translate}}</ion-nav-title>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<ion-content scroll="false">
|
||||
<div class="list card padding text-center" ng-if="!wallets[0]">
|
||||
<span translate>No Wallet</span>
|
||||
</div>
|
||||
|
|
@ -59,23 +59,21 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col" ng-show="isCordova && addr">
|
||||
<div class="item item-icon-left" ng-click="shareAddress(addr)">
|
||||
<i class="icon ion-ios-upload-outline"></i>
|
||||
<span translate>Share</span>
|
||||
</div>
|
||||
<div id="qr-options" class="row text-center">
|
||||
<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</span>
|
||||
</div>
|
||||
<div class="col" ng-class="{'center-block col-50': !isCordova || !addr}">
|
||||
<div ng-class="{'center-block': !isCordova || !addr}">
|
||||
<div class="item item-icon-left" ng-click="setAddress(true)">
|
||||
<i class="icon ion-ios-loop"></i>
|
||||
<span translate>Next Address</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-top">
|
||||
<div id="bit-address" class="row border-top">
|
||||
<div class="col col-90 center-block bit-address text-center">
|
||||
<div class="item item-icon-left">
|
||||
<div class="item item-icon-left item-icon-right">
|
||||
<i class="icon icon-svg receive-tab-bitcoin-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<span class="bit-address-gen-address" ng-if="generatingAddress">...</span>
|
||||
<span class="bit-address-gen-address" ng-if="!generatingAddress" copy-to-clipboard="addr">{{addr}}</span>
|
||||
|
|
@ -90,15 +88,4 @@
|
|||
</div>
|
||||
</article>
|
||||
</ion-content>
|
||||
<div id="first-time-tip" ng-if="firstTime">
|
||||
<i class="ion-close close"></i>
|
||||
<div class="row">
|
||||
<h3 class="col col-60 center-block">Receive bitcoin by sharing your address</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<p class="col col-60 center-block">
|
||||
Other bitcoin users can scan this code to send you money
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<span translate>Address Book</span>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
<a class="item item-icon-left item-icon-right" ng-click=openExternalLink("https://help.bitpay.com")>
|
||||
<a class="item item-icon-left item-icon-right" ng-click="openExternalLink('https://help.bitpay.com', true, 'BitPay Help Center', 'Help and support information is available at the BitPay Help Center website. Would you like to go there now?', 'Open Help Center', 'Go Back')">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-help-support.svg" class="bg"/>
|
||||
</i>
|
||||
|
|
@ -99,9 +99,11 @@
|
|||
<i class="icon big-icon-svg circle">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': item.color}" class="bg"/>
|
||||
</i>
|
||||
{{item.name || item.id}}
|
||||
<span ng-show="item.n > 1" class="text-light">
|
||||
{{item.m}}-of-{{item.n}}
|
||||
<span>
|
||||
{{item.name || item.id}}
|
||||
<span class="size-12 text-light" ng-show="item.n > 1">
|
||||
{{item.m}}-of-{{item.n}}
|
||||
</span>
|
||||
</span>
|
||||
<span class="right text-light assertive" ng-show="!item.isComplete()" translate>
|
||||
Incomplete
|
||||
|
|
@ -135,7 +137,6 @@
|
|||
<span translate>About</span> {{appName}}
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
|
||||
<div class="item item-divider"></div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-tabs class="tabs-icon-top tabs-color-active-positive ion-tabs-transparent" ng-class="{'tabs-item-hide': hideTabs}">
|
||||
<ion-tabs class="tabs-icon-top tabs-color-active-positive ion-tabs-transparent {{$root.hideTabs}}">
|
||||
|
||||
<ion-tab title="Home" icon-off="ico-home" icon-on="ico-home-selected" ui-sref="tabs.home">
|
||||
<ion-nav-view name="tab-home"></ion-nav-view>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
</div>
|
||||
<button class="button button-standard button-primary"
|
||||
ng-show="lang != 'en'"
|
||||
ng-click="openExternalLink(disclaimerUrl)" translate>
|
||||
ng-click="openExternalLink(disclaimerUrl, true, 'View Terms of Service', 'The official English Terms of Service are available on the BitPay website. Would you like to view them?', 'Open Website', 'Go Back')" translate>
|
||||
Official English Disclaimer
|
||||
</button>
|
||||
</ion-content>
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
</div>
|
||||
<div class="padding">
|
||||
<p>
|
||||
<span translate>All contributions to Copay's translation are welcome. Sign up at crowdin.com and join the Copay project at</span>
|
||||
<a ng-click="openExternalLink('https://crowdin.com/project/copay', '_system')">https://crowdin.com/project/copay</a>.
|
||||
<span translate>We’re always looking for translation contributions! You can make corrections or help to make this app available in your native language by joining our community on Crowdin.</span>
|
||||
<button class="button button-standard button-primary" ng-click="openExternalLink(true, 'Open Translation Community', 'You can make contributions by signing up on our Crowdin community translation website. We’re looking forward to hearing from you!
|
||||
', 'Open Crowdin', 'Go Back')" translate>Contribute Translations
|
||||
</button>
|
||||
</p>
|
||||
<span translate>
|
||||
Don't see your language on Crowdin? Contact the Owner on Crowdin! We'd love to support your language.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<ion-content has-bouncing="false">
|
||||
<ion-refresher
|
||||
ng-if="isCordova"
|
||||
ng-if="isAndroid"
|
||||
pulling-icon="ion-ios-refresh"
|
||||
spinner="ios-small"
|
||||
on-refresh="onRefresh()">
|
||||
|
|
@ -90,10 +90,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wallet-details-release size-12" ng-show="newRelease" ng-click="openExternalLink('https://github.com/bitpay/copay/releases/latest')">
|
||||
<span>{{newRelease}}</span><i class="icon-arrow-right3 right size-18"></i>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card list" ng-if="txps[0]">
|
||||
<div class="item item-heading" translate>
|
||||
|
|
|
|||