diff --git a/index.html b/index.html index b86275c94..9ca64a66d 100644 --- a/index.html +++ b/index.html @@ -884,6 +884,21 @@ on supported browsers please check http://www.w + + + + diff --git a/js/controllers/uriPayment.js b/js/controllers/uriPayment.js new file mode 100644 index 000000000..f1004eca6 --- /dev/null +++ b/js/controllers/uriPayment.js @@ -0,0 +1,20 @@ +'use strict'; + +angular.module('copayApp.controllers').controller('UriPaymentController', function($rootScope, $scope, $routeParams) { + var data = $routeParams.data; + var splitDots = data.split(':'); + $scope.protocol = splitDots[0]; + data = splitDots[1]; + var splitQuestion = data.split('?'); + $scope.address = splitQuestion[0]; + data = decodeURIComponent(splitQuestion[1]); + var search = splitQuestion[1]; + data = JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g, '":"') + '"}', + function(key, value) { + return key === "" ? value : decodeURIComponent(value); + }); + $scope.amount = data.amount; + $scope.message = data.message; + + +}); diff --git a/js/routes.js b/js/routes.js index 599f48677..e4fe14cff 100644 --- a/js/routes.js +++ b/js/routes.js @@ -26,10 +26,6 @@ angular templateUrl: 'addresses.html', validate: true }) - .when('/join/:id', { - templateUrl: 'join.html', - validate: true - }) .when('/transactions', { templateUrl: 'transactions.html', validate: true @@ -49,6 +45,9 @@ angular .when('/unsupported', { templateUrl: 'unsupported.html' }) + .when('/uri_payment/:data', { + templateUrl: 'uri_payment.html' + }) .otherwise({ templateUrl: '404.html' }); diff --git a/js/services/uriHandler.js b/js/services/uriHandler.js index 564bfb5a8..413672f3b 100644 --- a/js/services/uriHandler.js +++ b/js/services/uriHandler.js @@ -3,9 +3,11 @@ var UriHandler = function() {}; UriHandler.prototype.register = function() { + var base = window.location.origin + '/'; + var url = base + '#/uri_payment/%s'; + console.log(url); navigator.registerProtocolHandler('bitcoin', - 'uri=%s', - 'Copay'); + url, 'Copay'); }; angular.module('copayApp.services').value('uriHandler', new UriHandler());