From 938862bfe8730d753283b9a83744ccba29a28b9d Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Thu, 8 Dec 2016 16:35:25 -0300 Subject: [PATCH] Adds exchange rates during the top-up of the BitPay card --- src/js/controllers/amount.js | 14 ++++++++++++++ src/js/controllers/confirm.js | 19 ++++++++++++++++++- src/js/services/bitpayCardService.js | 9 +++++++++ www/views/amount.html | 1 + www/views/confirm.html | 1 + 5 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/js/controllers/amount.js b/src/js/controllers/amount.js index 51a42904d..5cb32dd4a 100644 --- a/src/js/controllers/amount.js +++ b/src/js/controllers/amount.js @@ -229,6 +229,20 @@ angular.module('copayApp.controllers').controller('amountController', function($ return result.replace('x', '*'); }; + $scope.getRates = function() { + bitpayCardService.getRates($scope.alternativeIsoCode, function(err, res) { + if (err) { + $log.warn(err); + return; + } + if ($scope.unitName == 'bits') { + $scope.exchangeRate = '1,000,000 bits ~ ' + res.rate + ' ' + $scope.alternativeIsoCode; + } else { + $scope.exchangeRate = '1 BTC ~ ' + res.rate + ' ' + $scope.alternativeIsoCode; + } + }); + }; + $scope.finish = function() { var _amount = evaluate(format($scope.amount)); diff --git a/src/js/controllers/confirm.js b/src/js/controllers/confirm.js index 79e20f2ff..d74a9f632 100644 --- a/src/js/controllers/confirm.js +++ b/src/js/controllers/confirm.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, gettext, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, amazonService, glideraService, bwcError) { +angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, rateService, $stateParams, $window, $state, $log, profileService, bitcore, gettext, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, amazonService, glideraService, bwcError, bitpayCardService) { var cachedTxp = {}; var toAmount; var isChromeApp = platformInfo.isChromeApp; @@ -824,4 +824,21 @@ angular.module('copayApp.controllers').controller('confirmController', function( }); }); }; + + $scope.getRates = function() { + var config = configService.getSync().wallet.settings; + var unitName = config.unitName; + var alternativeIsoCode = config.alternativeIsoCode; + bitpayCardService.getRates(alternativeIsoCode, function(err, res) { + if (err) { + $log.warn(err); + return; + } + if (unitName == 'bits') { + $scope.exchangeRate = '1,000,000 bits ~ ' + res.rate + ' ' + alternativeIsoCode; + } else { + $scope.exchangeRate = '1 BTC ~ ' + res.rate + ' ' + alternativeIsoCode; + } + }); + }; }); diff --git a/src/js/services/bitpayCardService.js b/src/js/services/bitpayCardService.js index 656078fd7..b6627057f 100644 --- a/src/js/services/bitpayCardService.js +++ b/src/js/services/bitpayCardService.js @@ -305,6 +305,15 @@ angular.module('copayApp.services').factory('bitpayCardService', function($http, }); }; + root.getRates = function(currency, cb) { + $http(_get('/rates/' + currency)).then(function(data) { + $log.info('BitPay Get Rates: SUCCESS'); + return cb(data.data.error, data.data.data); + }, function(data) { + return cb(_setError('BitPay Error: Get Rates', data)); + }); + }; + /* * CONSTANTS */ diff --git a/www/views/amount.html b/www/views/amount.html index f6c883787..0af2b12e5 100644 --- a/www/views/amount.html +++ b/www/views/amount.html @@ -42,6 +42,7 @@
Amount
Purchase Amount is limited to USD 1000 per day
+
{{exchangeRate}}
Daily buy limit: diff --git a/www/views/confirm.html b/www/views/confirm.html index df2d81bab..24a8aa41f 100644 --- a/www/views/confirm.html +++ b/www/views/confirm.html @@ -19,6 +19,7 @@
{{displayAmount || '...'}} {{displayUnit}}
+
{{exchangeRate}}
{{alternativeAmountStr || '...'}}