diff --git a/src/js/controllers/bitpayCard.js b/src/js/controllers/bitpayCard.js index 0123d47ab..05a823a3e 100644 --- a/src/js/controllers/bitpayCard.js +++ b/src/js/controllers/bitpayCard.js @@ -143,6 +143,7 @@ angular.module('copayApp.controllers').controller('bitpayCardController', functi $state.go('tabs.home'); } + bitpayCardService.get({ cardId: $scope.cardId, noRefresh: true, diff --git a/src/js/services/bitpayCardService.js b/src/js/services/bitpayCardService.js index 0e12e7fb8..a2ce4aa52 100644 --- a/src/js/services/bitpayCardService.js +++ b/src/js/services/bitpayCardService.js @@ -176,18 +176,18 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, }; root.getLastKnownBalance = function(cardId, cb) { - storageService.getBalanceCache(cardId, cb); + storageService.getBalanceCache(cardId, cb); }; root.addLastKnownBalance = function(card, cb) { - var now = Math.floor(Date.now()/1000); - var showRange = 600 ; // 10min; - - root.getLastKnownBalance(card.eid, function(err, data){ + var now = Math.floor(Date.now() / 1000); + var showRange = 600; // 10min; + + root.getLastKnownBalance(card.eid, function(err, data) { if (data) { data = JSON.parse(data); card.balance = data.balance; - card.updatedOn = ( data.updatedOn < now - showRange) ? data.updatedOn : null; + card.updatedOn = (data.updatedOn < now - showRange) ? data.updatedOn : null; } return cb(); }); @@ -197,7 +197,7 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, storageService.setBalanceCache(cardId, { balance: balance, - updatedOn: Math.floor(Date.now()/1000), + updatedOn: Math.floor(Date.now() / 1000), }, cb); }; @@ -232,15 +232,18 @@ angular.module('copayApp.services').factory('bitpayCardService', function($log, return cb(); } - // Async, no problem - lodash.each(cards, function(x){ + if (opts.cardId) { + cards = lodash.filter(cards, function(x) { + return opts.cardId == x.eid; + }); + } - if (opts.cardId) { - if (opts.cardId != x.eid) return; - } + // Async, no problem + lodash.each(cards, function(x) { root.addLastKnownBalance(x, function() {}); + // async refresh if (!opts.noRefresh) { root.getHistory(x.id, {}, function(err, data) { if (err) return; diff --git a/src/js/services/storageService.js b/src/js/services/storageService.js index 9a9e6d31e..5f78725a3 100644 --- a/src/js/services/storageService.js +++ b/src/js/services/storageService.js @@ -391,12 +391,12 @@ angular.module('copayApp.services') 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); - - lodash.each(allAccounts, function(x) { - x.email = account.email; + lodash.each(cards, function(x) { + x.email = email; }); allCards = allCards.concat(cards); diff --git a/www/views/includes/bitpayCardsCard.html b/www/views/includes/bitpayCardsCard.html index 08cc56889..b3b909c6e 100644 --- a/www/views/includes/bitpayCardsCard.html +++ b/www/views/includes/bitpayCardsCard.html @@ -12,7 +12,7 @@
BitPay Visa® Card ({{card.lastFourDigits}}) -

{{card.balance ? '$' + card.balance : 'Add funds to get started'|translate}} {{card.updatedOn ? (' | ' + (card.updatedOn * 1000 | amTimeAgo)) : ''}}

+

{{card.balance ? '$' + card.balance : 'Add funds to get started'|translate}} {{card.updatedOn ? (' · ' + (card.updatedOn * 1000 | amTimeAgo)) : ''}}

diff --git a/www/views/tab-home.html b/www/views/tab-home.html index 8ec616673..c750802b1 100644 --- a/www/views/tab-home.html +++ b/www/views/tab-home.html @@ -90,7 +90,7 @@ Incomplete - {{wallet.status.totalBalanceStr ? wallet.status.totalBalanceStr : ( wallet.cachedBalance ? wallet.cachedBalance + (wallet.cachedBalanceUpdatedOn ? ' | ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }} + {{wallet.status.totalBalanceStr ? wallet.status.totalBalanceStr : ( wallet.cachedBalance ? wallet.cachedBalance + (wallet.cachedBalanceUpdatedOn ? ' · ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }} [Balance Hidden]