Merge pull request #5554 from matiu/bug/card-fixes

Bug/card fixes
This commit is contained in:
Gustavo Maximiliano Cortez 2017-02-01 12:15:07 -03:00 committed by GitHub
commit 61b32dbecb
5 changed files with 22 additions and 18 deletions

View file

@ -143,6 +143,7 @@ angular.module('copayApp.controllers').controller('bitpayCardController', functi
$state.go('tabs.home'); $state.go('tabs.home');
} }
bitpayCardService.get({ bitpayCardService.get({
cardId: $scope.cardId, cardId: $scope.cardId,
noRefresh: true, noRefresh: true,

View file

@ -176,18 +176,18 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log,
}; };
root.getLastKnownBalance = function(cardId, cb) { root.getLastKnownBalance = function(cardId, cb) {
storageService.getBalanceCache(cardId, cb); storageService.getBalanceCache(cardId, cb);
}; };
root.addLastKnownBalance = function(card, cb) { root.addLastKnownBalance = function(card, cb) {
var now = Math.floor(Date.now()/1000); var now = Math.floor(Date.now() / 1000);
var showRange = 600 ; // 10min; var showRange = 600; // 10min;
root.getLastKnownBalance(card.eid, function(err, data){ root.getLastKnownBalance(card.eid, function(err, data) {
if (data) { if (data) {
data = JSON.parse(data); data = JSON.parse(data);
card.balance = data.balance; card.balance = data.balance;
card.updatedOn = ( data.updatedOn < now - showRange) ? data.updatedOn : null; card.updatedOn = (data.updatedOn < now - showRange) ? data.updatedOn : null;
} }
return cb(); return cb();
}); });
@ -197,7 +197,7 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log,
storageService.setBalanceCache(cardId, { storageService.setBalanceCache(cardId, {
balance: balance, balance: balance,
updatedOn: Math.floor(Date.now()/1000), updatedOn: Math.floor(Date.now() / 1000),
}, cb); }, cb);
}; };
@ -232,15 +232,18 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log,
return cb(); return cb();
} }
// Async, no problem if (opts.cardId) {
lodash.each(cards, function(x){ cards = lodash.filter(cards, function(x) {
return opts.cardId == x.eid;
});
}
if (opts.cardId) { // Async, no problem
if (opts.cardId != x.eid) return; lodash.each(cards, function(x) {
}
root.addLastKnownBalance(x, function() {}); root.addLastKnownBalance(x, function() {});
// async refresh
if (!opts.noRefresh) { if (!opts.noRefresh) {
root.getHistory(x.id, {}, function(err, data) { root.getHistory(x.id, {}, function(err, data) {
if (err) return; if (err) return;

View file

@ -391,12 +391,12 @@ angular.module('copayApp.services')
var allCards = []; var allCards = [];
lodash.each(allAccounts, function(account) { lodash.each(allAccounts, function(account, email) {
// Add account's email to card list, for convenience
var cards = lodash.clone(account.cards); var cards = lodash.clone(account.cards);
lodash.each(cards, function(x) {
lodash.each(allAccounts, function(x) { x.email = email;
x.email = account.email;
}); });
allCards = allCards.concat(cards); allCards = allCards.concat(cards);

View file

@ -12,7 +12,7 @@
<div class="bg icon-bitpay-card"></div> <div class="bg icon-bitpay-card"></div>
</i> </i>
<span>BitPay Visa&reg; Card ({{card.lastFourDigits}})</span> <span>BitPay Visa&reg; Card ({{card.lastFourDigits}})</span>
<p>{{card.balance ? '$' + card.balance : 'Add funds to get started'|translate}} {{card.updatedOn ? (' | ' + (card.updatedOn * 1000 | amTimeAgo)) : ''}}</p> <p>{{card.balance ? '$' + card.balance : 'Add funds to get started'|translate}} {{card.updatedOn ? (' &middot; ' + (card.updatedOn * 1000 | amTimeAgo)) : ''}}</p>
<i class="icon bp-arrow-right"></i> <i class="icon bp-arrow-right"></i>
</a> </a>
</div> </div>

View file

@ -90,7 +90,7 @@
Incomplete Incomplete
</span> </span>
<span ng-if="wallet.isComplete()"> <span ng-if="wallet.isComplete()">
<span ng-if="!wallet.balanceHidden"> {{wallet.status.totalBalanceStr ? wallet.status.totalBalanceStr : ( wallet.cachedBalance ? wallet.cachedBalance + (wallet.cachedBalanceUpdatedOn ? ' | ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }} </span> <span ng-if="!wallet.balanceHidden"> {{wallet.status.totalBalanceStr ? wallet.status.totalBalanceStr : ( wallet.cachedBalance ? wallet.cachedBalance + (wallet.cachedBalanceUpdatedOn ? ' &middot; ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }} </span>
<span ng-if="wallet.balanceHidden" translate>[Balance Hidden]</span> <span ng-if="wallet.balanceHidden" translate>[Balance Hidden]</span>
<span class="tab-home__wallet__multisig-number" ng-if="wallet.n > 1"> <span class="tab-home__wallet__multisig-number" ng-if="wallet.n > 1">