diff --git a/src/js/controllers/amazon.js b/src/js/controllers/amazon.js index 954c35c24..453cced4e 100644 --- a/src/js/controllers/amazon.js +++ b/src/js/controllers/amazon.js @@ -5,8 +5,8 @@ angular.module('copayApp.controllers').controller('amazonController', $scope.network = amazonService.getEnvironment(); - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; var initAmazon = function() { @@ -83,7 +83,7 @@ angular.module('copayApp.controllers').controller('amazonController', }); }; - $scope.$on("$ionicView.beforeEnter", function(event, data){ + $scope.$on("$ionicView.beforeEnter", function(event, data) { initAmazon(); }); }); diff --git a/src/js/controllers/buyAmazon.js b/src/js/controllers/buyAmazon.js index 903e2a682..ca2aede91 100644 --- a/src/js/controllers/buyAmazon.js +++ b/src/js/controllers/buyAmazon.js @@ -16,12 +16,14 @@ angular.module('copayApp.controllers').controller('buyAmazonController', $log.debug('Wallet changed: ' + w.name); }); - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; this.confirm = function() { - var message = gettextCatalog.getString('Amazon.com Gift Card purchase for ${{amount}} USD', {amount: $scope.formData.fiat}); + var message = gettextCatalog.getString('Amazon.com Gift Card purchase for ${{amount}} USD', { + amount: $scope.formData.fiat + }); var ok = gettextCatalog.getString('Buy'); popupService.showConfirm(null, message, ok, null, function(res) { if (res) self.createTx(); @@ -209,8 +211,10 @@ angular.module('copayApp.controllers').controller('buyAmazonController', }); }; - $scope.$on("$ionicView.enter", function(event, data){ - $scope.formData = { fiat: null }; + $scope.$on("$ionicView.enter", function(event, data) { + $scope.formData = { + fiat: null + }; $scope.wallets = profileService.getWallets({ network: network, onlyComplete: true diff --git a/src/js/controllers/glidera.js b/src/js/controllers/glidera.js index 9f701e984..c3b9380c9 100644 --- a/src/js/controllers/glidera.js +++ b/src/js/controllers/glidera.js @@ -5,8 +5,8 @@ angular.module('copayApp.controllers').controller('glideraController', $scope.network = glideraService.getEnvironment(); - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; var initGlidera = function(accessToken) { @@ -27,7 +27,9 @@ angular.module('copayApp.controllers').controller('glideraController', } $scope.token = glidera.token; $scope.permissions = glidera.permissions; - $scope.update({fullUpdate: true}); + $scope.update({ + fullUpdate: true + }); }); }; @@ -113,7 +115,7 @@ angular.module('copayApp.controllers').controller('glideraController', }); }; - $scope.$on("$ionicView.beforeEnter", function(event, data){ + $scope.$on("$ionicView.beforeEnter", function(event, data) { initGlidera(); }); diff --git a/src/js/controllers/modals/amazonCardDetails.js b/src/js/controllers/modals/amazonCardDetails.js index 9cadccb10..ffe54b713 100644 --- a/src/js/controllers/modals/amazonCardDetails.js +++ b/src/js/controllers/modals/amazonCardDetails.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('amazonCardDetailsController', function($scope, $log, $timeout, bwcError, amazonService, lodash, ongoingProcess, popupService, gettextCatalog) { +angular.module('copayApp.controllers').controller('amazonCardDetailsController', function($scope, $log, $timeout, bwcError, amazonService, lodash, ongoingProcess, popupService, gettextCatalog, externalLinkService) { $scope.cancelGiftCard = function() { ongoingProcess.set('Canceling gift card...', true); @@ -62,4 +62,8 @@ angular.module('copayApp.controllers').controller('amazonCardDetailsController', $scope.amazonCardDetailsModal.hide(); }; + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); + }; + }); diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index adb7ddda6..7f3dacf10 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -139,8 +139,8 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio }); }; - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; $scope.getShortNetworkName = function() { diff --git a/src/js/controllers/onboarding/terms.js b/src/js/controllers/onboarding/terms.js index 0c4773c04..f06b8ca20 100644 --- a/src/js/controllers/onboarding/terms.js +++ b/src/js/controllers/onboarding/terms.js @@ -15,8 +15,8 @@ angular.module('copayApp.controllers').controller('termsController', function($s }); }; - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; }); diff --git a/src/js/controllers/preferencesAbout.js b/src/js/controllers/preferencesAbout.js index 64f10de54..e8369abd7 100644 --- a/src/js/controllers/preferencesAbout.js +++ b/src/js/controllers/preferencesAbout.js @@ -8,7 +8,7 @@ angular.module('copayApp.controllers').controller('preferencesAbout', $scope.commitHash = $window.commitHash; $scope.name = $window.appConfig.gitHubRepoName; - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; }); diff --git a/src/js/controllers/tab-settings.js b/src/js/controllers/tab-settings.js index 2981745ca..773a6a5f3 100644 --- a/src/js/controllers/tab-settings.js +++ b/src/js/controllers/tab-settings.js @@ -24,8 +24,8 @@ angular.module('copayApp.controllers').controller('tabSettingsController', funct $scope.wallets = profileService.getWallets(); }; - $scope.openExternalLink = function(url, target) { - externalLinkService.open(url, target); + $scope.openExternalLink = function(url, optIn, title, message, okText, cancelText) { + externalLinkService.open(url, optIn, title, message, okText, cancelText); }; $scope.$on("$ionicView.beforeEnter", function(event, data) { diff --git a/src/js/routes.js b/src/js/routes.js index ec6471742..8e9a6729c 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -970,8 +970,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr if (lodash.isEmpty(profileService.getWallets())) { $log.debug('No wallets and no disclaimer... redirecting'); $state.go('onboarding.welcome'); - } - else { + } else { $log.debug('Display disclaimer... redirecting'); $state.go('onboarding.disclaimer', { resume: true @@ -980,8 +979,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr } else { throw new Error(err); // TODO } - } - else { + } else { profileService.storeProfileIfDirty(); $log.debug('Profile loaded ... Starting UX.'); scannerService.gentleInitialize(); diff --git a/src/js/services/externalLinkService.js b/src/js/services/externalLinkService.js index 190206dfd..8154601d0 100644 --- a/src/js/services/externalLinkService.js +++ b/src/js/services/externalLinkService.js @@ -1,8 +1,8 @@ 'use strict'; -angular.module('copayApp.services').service('externalLinkService', function($window, $timeout, $log, platformInfo, nodeWebkitService) { +angular.module('copayApp.services').service('externalLinkService', function(platformInfo, nodeWebkitService, popupService, gettextCatalog, $window, $log, $timeout) { - this.open = function(url, target) { + this.open = function(url, optIn, title, message, okText, cancelText) { var old = $window.handleOpenURL; $window.handleOpenURL = function(url) { @@ -17,8 +17,16 @@ angular.module('copayApp.services').service('externalLinkService', function($win if (platformInfo.isNW) { nodeWebkitService.openExternalLink(url); } else { - target = target || '_blank'; - var ref = window.open(url, target, 'location=no'); + if (optIn) { + var message = gettextCatalog.getString(message), + title = gettextCatalog.getString(title), + okText = gettextCatalog.getString(okText), + cancelText = gettextCatalog.getString(cancelText), + openBrowser = function(res) { + if (res) window.open(url, '_system'); + }; + popupService.showConfirm(title, message, okText, cancelText, openBrowser); + } else window.open(url, '_system'); } }; diff --git a/www/views/buyAmazon.html b/www/views/buyAmazon.html index 04ae91843..8dc95908e 100644 --- a/www/views/buyAmazon.html +++ b/www/views/buyAmazon.html @@ -105,7 +105,7 @@
Connect your Glidera account to get started
- -