diff --git a/src/js/controllers/preferencesPriceDisplay.js b/src/js/controllers/preferencesPriceDisplay.js new file mode 100644 index 000000000..0f37c9f6c --- /dev/null +++ b/src/js/controllers/preferencesPriceDisplay.js @@ -0,0 +1,42 @@ +'use strict'; + +angular.module('copayApp.controllers').controller('preferencesPriceDisplayController', function($scope, $q, $timeout, configService, $ionicNavBarDelegate) { + + $scope.save = function(priceDisplay) { + + if ($scope.noSave) return; + + var opts = { + wallet: { + settings: { + priceDisplay: priceDisplay + } + } + }; + + configService.set(opts, function(err) { + if (err) $log.debug(err); + $timeout(function() { + $scope.$apply(); + }); + }); + }; + + $scope.$on("$ionicView.enter", function(event, data) { + $ionicNavBarDelegate.showBar(true); + }); + + $scope.$on("$ionicView.beforeEnter", function(event, data) { + $scope.init(); + }); + + $scope.init = function () { + configService.whenAvailable(function(config) { + $scope.selectedPriceDisplay = config.wallet.settings.priceDisplay; + + $timeout(function() { + $scope.$apply(); + }); + }); + }; +}); diff --git a/src/js/controllers/tab-settings.js b/src/js/controllers/tab-settings.js index 7c380d27f..6cfc80def 100644 --- a/src/js/controllers/tab-settings.js +++ b/src/js/controllers/tab-settings.js @@ -16,6 +16,8 @@ angular.module('copayApp.controllers').controller('tabSettingsController', funct isoCode: config.wallet.settings.alternativeIsoCode }; + $scope.selectedPriceDisplay = config.wallet.settings.priceDisplay; + // TODO move this to a generic service bitpayAccountService.getAccounts(function(err, data) { if (err) $log.error(err); diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index 009c7a80d..c724dde9a 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -367,6 +367,15 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun }); $scope.$on("$ionicView.beforeEnter", function(event, data) { + + configService.whenAvailable(function (config) { + $scope.selectedPriceDisplay = config.wallet.settings.priceDisplay; + + $timeout(function () { + $scope.apply(); + }); + }); + $scope.walletId = data.stateParams.walletId; $scope.wallet = profileService.getWallet($scope.walletId); if (!$scope.wallet) return; diff --git a/src/js/routes.js b/src/js/routes.js index bcd46e784..337363fcc 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -413,6 +413,15 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } } }) + .state('tabs.priceDisplay', { + url: '/priceDisplay', + views: { + 'tab-settings@tabs': { + controller: 'preferencesPriceDisplayController', + templateUrl: 'views/preferencesPriceDisplay.html' + } + } + }) .state('tabs.about', { url: '/about', views: { diff --git a/src/js/services/configService.js b/src/js/services/configService.js index 17f556ce3..b7072372d 100644 --- a/src/js/services/configService.js +++ b/src/js/services/configService.js @@ -69,6 +69,7 @@ angular.module('copayApp.services').factory('configService', function(storageSer unitCode: 'btc', alternativeName: 'US Dollar', alternativeIsoCode: 'USD', + priceDisplay: 'fiat', // 'fiat' || 'crypto' } }, @@ -181,6 +182,11 @@ angular.module('copayApp.services').factory('configService', function(storageSer configCache.wallet.settings.unitCode = defaultConfig.wallet.settings.unitCode; } + // If display is not configure, take the default value + if (!configCache.wallet.settings.priceDisplay) { + configCache.wallet.settings.display = defaultConfig.wallet.settings.priceDisplay; + } + // Convert tarascash wallet to new style cash wallet if (configCache.bwsbcc && configCache.bwsbcc.url && configCache.bwsbcc.url.indexOf('bwsbcc') >= 0) { configCache.bwsbcc = defaultConfig.bwscash.url; diff --git a/www/css/bitcoin.com.css b/www/css/bitcoin.com.css index ce73da50e..9b69005c4 100644 --- a/www/css/bitcoin.com.css +++ b/www/css/bitcoin.com.css @@ -28,6 +28,10 @@ body { font-family:'ProximaNova' !important; } +.capitalize { + text-transform: capitalize; +} + .textlogo { color: #FFF; font-size: 20px; diff --git a/www/views/preferencesPriceDisplay.html b/www/views/preferencesPriceDisplay.html new file mode 100644 index 000000000..93ea9b0f6 --- /dev/null +++ b/www/views/preferencesPriceDisplay.html @@ -0,0 +1,19 @@ + + + + {{'Price display'|translate}} + + + + + + + + fiat + + + cryptocurrency + + + + diff --git a/www/views/tab-settings.html b/www/views/tab-settings.html index 0c6004c3a..1105937d4 100644 --- a/www/views/tab-settings.html +++ b/www/views/tab-settings.html @@ -55,7 +55,7 @@ {{currentLanguageName|translate}} - + @@ -67,6 +67,17 @@ + + + + + + {{'Price Display' | translate}} + + {{selectedPriceDisplay}} + + + diff --git a/www/views/walletDetails.html b/www/views/walletDetails.html index fc5f8c8bb..64bdc090e 100644 --- a/www/views/walletDetails.html +++ b/www/views/walletDetails.html @@ -30,7 +30,21 @@ + {{status.totalBalanceAlternative}} {{status.alternativeIsoCode}} + + {{status.totalBalanceStr}} + + + +