diff --git a/src/js/controllers/servicesController.js b/src/js/controllers/servicesController.js index 270841013..d3a542a9b 100644 --- a/src/js/controllers/servicesController.js +++ b/src/js/controllers/servicesController.js @@ -1,8 +1,9 @@ 'use strict'; -angular.module('copayApp.controllers').controller('servicesController', function($scope, $ionicScrollDelegate, $timeout) { +angular.module('copayApp.controllers').controller('servicesController', function($scope, $ionicScrollDelegate, $timeout, servicesService) { $scope.hide = false; + $scope.services = servicesService.get(); $scope.toggle = function() { $scope.hide = !$scope.hide; diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index ee28e83cf..ebfd01a90 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('tabHomeController', - function($rootScope, $timeout, $scope, $state, $stateParams, $ionicModal, $ionicScrollDelegate, $window, gettextCatalog, lodash, popupService, ongoingProcess, externalLinkService, latestReleaseService, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, appConfigService, startupService, addressbookService, feedbackService, bwcError, nextStepsService, buyAndSellService, homeIntegrationsService, bitpayCardService, pushNotificationsService, timeService, bitcoincomService, pricechartService, firebaseEventsService) { + function($rootScope, $timeout, $scope, $state, $stateParams, $ionicModal, $ionicScrollDelegate, $window, gettextCatalog, lodash, popupService, ongoingProcess, externalLinkService, latestReleaseService, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, appConfigService, startupService, addressbookService, feedbackService, bwcError, nextStepsService, buyAndSellService, homeIntegrationsService, bitpayCardService, pushNotificationsService, timeService, bitcoincomService, pricechartService, firebaseEventsService, servicesService, shapeshiftService) { var wallet; var listeners = []; var notifications = []; diff --git a/src/js/services/servicesService.js b/src/js/services/servicesService.js new file mode 100644 index 000000000..f2344dd01 --- /dev/null +++ b/src/js/services/servicesService.js @@ -0,0 +1,39 @@ +'use strict' +angular.module('copayApp.services').factory('servicesService', function(configService, $log, lodash) { + var root = {}; + var services = []; + + root.register = function(serviceInfo) { + $log.info('Adding Services entry:' + serviceInfo.name); + + if (!lodash.find(services, function(x) { + return x.name == serviceInfo.name; + })) { + services.push(serviceInfo); + } + } + + root.unregister = function(serviceName) { + + var newS = lodash.filter(services, function(x) { + return x.name != serviceName; + }); + + // Found? + if (newS.length == services.length) return; + + $log.info('Removing Services entry:' + serviceName); + // This is to preserve services pointer + while (services.length) + services.pop(); + + while (newS.length) + services.push(newS.pop()); + }; + + root.get = function() { + return services; + }; + + return root; +}); diff --git a/src/js/services/shapeshiftService.js b/src/js/services/shapeshiftService.js new file mode 100644 index 000000000..8a9b8fcaa --- /dev/null +++ b/src/js/services/shapeshiftService.js @@ -0,0 +1,19 @@ +'use strict'; +angular.module('copayApp.services').factory('shapeshiftService', function($http, $log, lodash, moment, storageService, configService, platformInfo, servicesService) { + var root = {}; + var credentials = {}; + + var servicesItem = { + name: 'shapeshift', + title: 'Shapeshift', + icon: 'icon-shapeshift', + sref: 'tabs.shapeshift', + }; + + var register = function() { + servicesService.register(servicesItem); + }; + + register(); + return root; +}); diff --git a/www/css/bitcoin.com.css b/www/css/bitcoin.com.css index 1e94ec50f..3d4f3807d 100644 --- a/www/css/bitcoin.com.css +++ b/www/css/bitcoin.com.css @@ -249,6 +249,11 @@ div.slide-success__background.fill-screen { background-image: url('../img/chart.svg'); } +.icon-shapeshift { + background-color: #494949; + background-image: url('../img/shapeshifticon.png'); +} + .tabs .tab-item .icon { background-size: contain; } diff --git a/www/views/includes/services.html b/www/views/includes/services.html index 7e94cf9fc..56780c90e 100644 --- a/www/views/includes/services.html +++ b/www/views/includes/services.html @@ -1,16 +1,16 @@
-
- Services +
+ Next steps
-
- +
+ - +
- Shapeshift + {{service.title || service.name}}