diff --git a/src/js/directives/walletBalanceDirective.js b/src/js/directives/walletBalanceDirective.js index 5b2a41b6c..1fea59203 100644 --- a/src/js/directives/walletBalanceDirective.js +++ b/src/js/directives/walletBalanceDirective.js @@ -10,7 +10,12 @@ scope: { displayAsFiat: '@', totalBalanceSat: '@', - wallet: '@' + // The Wallet object is sometimes not stringify()-able, so not interpolatable, + // so can't be passed to a directive. + walletStatus: '@', + walletCachedBalance: '@', + walletCachedBalanceUpdatedOn: '@', + walletCachedStatus: '@' }, templateUrl: 'views/includes/wallet-balance.html', controller: walletBalanceController @@ -25,38 +30,38 @@ formatBalance(); }); - function displayCryptoBalance(wallet) { + function displayCryptoBalance(walletStatus, walletCachedBalance, walletCachedBalanceUpdatedOn, walletCachedStatus) { console.log('displayCryptoBalance()'); - if (wallet.status && wallet.status.isValid && wallet.status.totalBalanceStr) { - setDisplay(wallet.status.totalBalanceStr, ''); + if (walletStatus && walletStatus.isValid && walletStatus.totalBalanceStr) { + setDisplay(walletStatus.totalBalanceStr, ''); cryptoBalanceHasBeenDisplayed = true; return; } - if (wallet.cachedBalance) { - setDisplay(wallet.cachedBalance, wallet.cachedBalanceUpdatedOn); + if (walletCachedBalance) { + setDisplay(walletCachedBalance, walletCachedBalanceUpdatedOn); return; } - if (wallet.cachedStatus && wallet.status.isValid && wallet.cachedStatus.totalBalanceStr) { - setDisplay(wallet.cachedStatus.totalBalanceStr, ''); + if (walletCachedStatus && walletCachedStatus.isValid && walletCachedStatus.totalBalanceStr) { + setDisplay(walletCachedStatus.totalBalanceStr, ''); return; } setDisplay('', ''); } - function displayFiatBalance(wallet) { + function displayFiatBalance(walletStatus, walletCachedStatus) { var displayAmount = ''; - if (wallet.status && wallet.status.isValid && wallet.status.alternativeBalanceAvailable) { - displayAmount = wallet.status.totalBalanceAlternative + ' ' + wallet.status.alternativeIsoCode; + if (walletStatus && walletStatus.isValid && walletStatus.alternativeBalanceAvailable) { + displayAmount = walletStatus.totalBalanceAlternative + ' ' + walletStatus.alternativeIsoCode; setDisplay(displayAmount, ''); return; } - if (wallet.cachedStatus && wallet.cachedStatus.isValid && wallet.cachedStatus.alternativeBalanceAvailable) { - displayAmount = wallet.cachedStatus.totalBalanceAlternative + ' ' + wallet.cachedStatus.alternativeIsoCode; + if (walletCachedStatus && walletCachedStatus.isValid && walletCachedStatus.alternativeBalanceAvailable) { + displayAmount = walletCachedStatus.totalBalanceAlternative + ' ' + walletCachedStatus.alternativeIsoCode; setDisplay(displayAmount, ''); return; } @@ -66,21 +71,30 @@ function formatBalance() { var displayAsFiat = $scope.displayAsFiat === 'true'; - var wallet = null; + + var walletStatusObj = null; + var walletCachedBalance = null; + var walletCachedBalanceUpdatedOn = null; + var walletCachedStatusObj = null; + try { - wallet = JSON.parse($scope.wallet); + walletStatusObj = JSON.parse($scope.walletStatus); } catch (e) { - $log.error('Error parsing wallet to display balance.', e); - setDisplay('', ''); - return; + $log.warn('Failed to parse walletStatus.', e); + } + + try { + walletCachedStatusObj = JSON.parse($scope.walletCachedStatus); + } catch (e) { + $log.warn('Failed to parse walletCachedStatus.', e); } if (!displayAsFiat || displayAsFiat && !cryptoBalanceHasBeenDisplayed) { - displayCryptoBalance(wallet); + displayCryptoBalance(walletStatusObj, walletCachedBalance, walletCachedBalanceUpdatedOn, walletCachedStatusObj); } if (displayAsFiat) { - displayFiatBalance(wallet); + displayFiatBalance(walletStatusObj, walletCachedStatusObj); } } diff --git a/src/sass/views/amount.scss b/src/sass/views/amount.scss index ca32c6ac4..bf4d3506a 100644 --- a/src/sass/views/amount.scss +++ b/src/sass/views/amount.scss @@ -305,7 +305,8 @@ &.very-long { input, .unit, .primary-amount-display { - font-size: 0.9em; + font-size: 1.2em; // OK for iPhone 5 / SE with BCH to 8dp + @media (min-width: 375px) { font-size: 1.3em; @@ -382,41 +383,46 @@ .available-funds { color: #6F6F70; + text-align: left; + } + + .change-currency { + text-align: right; } .warning { color: $v-warning-color-2; } - .extra, - button.extra { - /*display: flex;*/ - flex: 0 1 auto; - } - - button.extra { - background: none; - border: none; - color: #000; - font-family: 'ProximaNova'; - font-size: 14px; + .extra { + flex: 1; line-height: normal; - min-height: auto; - min-width: auto; - padding: 0; - } - .button .icon:before { - font-size: 14px; - line-height: normal; - } - + .button { + background: none; + border: none; + border-radius: 0; + color: #000; + font-family: 'ProximaNova'; + font-size: 14px; + line-height: normal; + min-height: auto; + min-width: auto; + padding: 0; + } - .button { - span { - display: flex; - align-items: center; - justify-content: center; + .button .icon:before { + font-size: 14px; + line-height: normal; + } + + + .button { + span { + display: flex; + align-items: center; + justify-content: center; + } } } } diff --git a/www/views/amount.html b/www/views/amount.html index 8d263eae3..b69431b6b 100644 --- a/www/views/amount.html +++ b/www/views/amount.html @@ -14,14 +14,14 @@