From 577756fd448f9675ff2bb75860ce7d0b6859f346 Mon Sep 17 00:00:00 2001 From: Sebastiaan Pasma Date: Thu, 9 Aug 2018 17:14:05 +0200 Subject: [PATCH 1/3] button color + Time ago fix --- src/sass/buttons.scss | 2 +- www/views/includes/walletList.html | 4 ++-- www/views/walletDetails.html | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/sass/buttons.scss b/src/sass/buttons.scss index ab066b734..f1bd971bf 100644 --- a/src/sass/buttons.scss +++ b/src/sass/buttons.scss @@ -73,7 +73,7 @@ color: #FFF; } &-outline { - @include button-style(transparent, #FFFFFF, #FAFAFA, #FFF, #FFFFFF); + @include button-style(transparent, #FFFFFF, #FFFFFF, #FFFFFF, #FFFFFF); @include button-outline(#FFFFFF); background: none; box-shadow: none; diff --git a/www/views/includes/walletList.html b/www/views/includes/walletList.html index d5fb65302..2ad8f3e81 100644 --- a/www/views/includes/walletList.html +++ b/www/views/includes/walletList.html @@ -8,10 +8,10 @@ - + {{(!wallet.status.totalBalanceStr && wallet.cachedBalanceUpdatedOn ? ' · ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '')}} - + {{( !wallet.status.totalBalanceAlternative && wallet.cachedBalance ? (wallet.cachedBalanceUpdatedOn ? ' · ' + ( wallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' )}} Scanning funds... diff --git a/www/views/walletDetails.html b/www/views/walletDetails.html index f10759ca6..2480099b5 100644 --- a/www/views/walletDetails.html +++ b/www/views/walletDetails.html @@ -10,6 +10,11 @@ +
From afb3a1d49fe7115cd339f19e7e13da370c668333 Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Fri, 10 Aug 2018 12:46:00 +1200 Subject: [PATCH 2/3] wallet-balance directive displaying basic crypto balance. --- src/js/directives/walletBalanceDirective.js | 88 +++++++++++++++++++++ src/sass/components/components.scss | 1 + src/sass/components/wallet-balance.scss | 3 + www/views/includes/wallet-balance.html | 3 + www/views/tab-send.html | 3 +- 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 src/js/directives/walletBalanceDirective.js create mode 100644 src/sass/components/wallet-balance.scss create mode 100644 www/views/includes/wallet-balance.html diff --git a/src/js/directives/walletBalanceDirective.js b/src/js/directives/walletBalanceDirective.js new file mode 100644 index 000000000..aaf9de99b --- /dev/null +++ b/src/js/directives/walletBalanceDirective.js @@ -0,0 +1,88 @@ +'use strict'; + +(function(){ + + angular + .module('bitcoincom.directives') + .directive('walletBalance', function() { + return { + restrict: 'E', + scope: { + displayAsFiat: '@', + totalBalanceSat: '@', + wallet: '@' + }, + templateUrl: 'views/includes/wallet-balance.html', + controller: walletBalanceController + } + }); + + function walletBalanceController($log, $scope, $timeout, uxLanguage) { + console.log('walletBalanceController'); + var cryptoBalanceHasBeenDisplayed = false; + + formatBalance(); + $scope.$watchGroup(['displayAsFiat', 'totalBalanceSat'], function onWalletBalanceWatch() { + formatBalance(); + }); + + function displayCryptoBalance(wallet) { + console.log('displayCryptoBalance()'); + if (wallet.status) { + if (wallet.status.totalBalanceStr) { + $scope.displayAmount = wallet.status.totalBalanceStr; + $scope.cachedBalanceUpdatedOn = ''; + console.log('Displaying wallet.status.totalBalanceStr'); + + } else if (wallet.status.cachedBalance) { + $scope.displayAmount = wallet.status.cachedBalance; + $scope.cachedBalanceUpdatedOn = wallet.status.cachedBalanceUpdatedOn; + console.log('Displaying wallet.status.cachedBalance'); + + } else { + $scope.displayAmount = ''; + $scope.cachedBalanceUpdatedOn = ''; + console.log('Displaying "" from status'); + } + } else if (wallet.cachedBalance) { + $scope.displayAmount = cachedBalance; + $scope.cachedBalanceUpdatedOn = ''; + console.log('Displaying cachedBalance'); + + } else { + $scope.displayAmount = ''; + $scope.cachedBalanceUpdatedOn = ''; + console.log('Displaying "" without status'); + } + cryptoBalanceHasBeenDisplayed = true; + } + + function displayFiatBalance(wallet) { + + } + + function formatBalance() { + //console.log('formatBalance() with wallet:', $scope.wallet,); + console.log('formatBalance() with displayAsFiat: "' + $scope.displayAsFiat + '"'); + var wallet = null; + try { + wallet = JSON.parse($scope.wallet); + } catch (e) { + $log.error('Error parsing wallet to display balance.', e); + $scope.displayAmount = ''; + $scope.cachedBalanceUpdatedOn = ''; + } + + if (!$scope.displayAsFiat || $scope.displayAsFiat && !cryptoBalanceHasBeenDisplayed) { + displayCryptoBalance(wallet); + } + + if ($scope.displayAsFiat) { + displayFiatBalance(wallet); + } + + + } + } +})(); + diff --git a/src/sass/components/components.scss b/src/sass/components/components.scss index fb53508b0..4d2bd695e 100644 --- a/src/sass/components/components.scss +++ b/src/sass/components/components.scss @@ -9,3 +9,4 @@ @import "expand-content"; @import "fee-summary"; @import "formatted-amount"; +@import "wallet-balance"; diff --git a/src/sass/components/wallet-balance.scss b/src/sass/components/wallet-balance.scss new file mode 100644 index 000000000..faf4e8611 --- /dev/null +++ b/src/sass/components/wallet-balance.scss @@ -0,0 +1,3 @@ +.wallet-balance-directive { + display: inline-block; +} \ No newline at end of file diff --git a/www/views/includes/wallet-balance.html b/www/views/includes/wallet-balance.html new file mode 100644 index 000000000..0cd1ee659 --- /dev/null +++ b/www/views/includes/wallet-balance.html @@ -0,0 +1,3 @@ +
+ {{displayAmount}}{{· (cachedBalanceUpdatedOn * 1000 | amTimeAgo)}} +
\ No newline at end of file diff --git a/www/views/tab-send.html b/www/views/tab-send.html index 3378b53ed..236c3db6f 100644 --- a/www/views/tab-send.html +++ b/www/views/tab-send.html @@ -16,8 +16,9 @@ >

{{fromWallet.name}}

+ - + From 355ed27b87accb55bc22901366b57666649744ce Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Fri, 10 Aug 2018 13:04:44 +1200 Subject: [PATCH 3/3] wallet balance directive displaying fiat balance from wallet status. --- src/js/directives/walletBalanceDirective.js | 62 ++++++++++++--------- www/views/includes/wallet-balance.html | 2 +- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/js/directives/walletBalanceDirective.js b/src/js/directives/walletBalanceDirective.js index aaf9de99b..a13d30a98 100644 --- a/src/js/directives/walletBalanceDirective.js +++ b/src/js/directives/walletBalanceDirective.js @@ -28,37 +28,41 @@ function displayCryptoBalance(wallet) { console.log('displayCryptoBalance()'); - if (wallet.status) { - if (wallet.status.totalBalanceStr) { - $scope.displayAmount = wallet.status.totalBalanceStr; - $scope.cachedBalanceUpdatedOn = ''; - console.log('Displaying wallet.status.totalBalanceStr'); - } else if (wallet.status.cachedBalance) { - $scope.displayAmount = wallet.status.cachedBalance; - $scope.cachedBalanceUpdatedOn = wallet.status.cachedBalanceUpdatedOn; - console.log('Displaying wallet.status.cachedBalance'); - - } else { - $scope.displayAmount = ''; - $scope.cachedBalanceUpdatedOn = ''; - console.log('Displaying "" from status'); - } - } else if (wallet.cachedBalance) { - $scope.displayAmount = cachedBalance; - $scope.cachedBalanceUpdatedOn = ''; - console.log('Displaying cachedBalance'); - - } else { - $scope.displayAmount = ''; - $scope.cachedBalanceUpdatedOn = ''; - console.log('Displaying "" without status'); + if (wallet.status && wallet.status.totalBalanceStr) { + setDisplay(wallet.status.totalBalanceStr, ''); + cryptoBalanceHasBeenDisplayed = true; + return; } - cryptoBalanceHasBeenDisplayed = true; + + if (wallet.cachedBalance) { + setDisplay(wallet.cachedBalance, wallet.cachedBalanceUpdatedOn); + return; + } + + if (wallet.cachedStatus && wallet.cachedStatus.totalBalanceStr) { + setDisplay(wallet.cachedStatus.totalBalanceStr, ''); + return; + } + + setDisplay('', ''); } function displayFiatBalance(wallet) { - + var displayAmount = ''; + if (wallet.status && wallet.status.alternativeBalanceAvailable) { + displayAmount = wallet.status.totalBalanceAlternative + ' ' + wallet.status.alternativeIsoCode; + setDisplay(displayAmount, ''); + return; + } + + if (wallet.cachedStatus && wallet.cachedStatus.alternativeBalanceAvailable) { + displayAmount = wallet.cachedStatus.totalBalanceAlternative + ' ' + wallet.cachedStatus.alternativeIsoCode; + setDisplay(displayAmount, ''); + return; + } + + getFiatBalance(wallet); } function formatBalance() { @@ -80,8 +84,14 @@ if ($scope.displayAsFiat) { displayFiatBalance(wallet); } + } + function getFiatBalance(wallet) { + } + function setDisplay(amount, cachedBalanceUpdatedOn) { + $scope.displayAmount = amount; + $scope.cachedBalanceUpdatedOn = cachedBalanceUpdatedOn; } } })(); diff --git a/www/views/includes/wallet-balance.html b/www/views/includes/wallet-balance.html index 0cd1ee659..03baa8cac 100644 --- a/www/views/includes/wallet-balance.html +++ b/www/views/includes/wallet-balance.html @@ -1,3 +1,3 @@ -
+
{{displayAmount}}{{· (cachedBalanceUpdatedOn * 1000 | amTimeAgo)}}
\ No newline at end of file