prelim bitcoin address support for incoming data menu

This commit is contained in:
Marty Alcala 2016-10-18 15:45:09 -04:00
parent 8c8bbd6cd3
commit e9aaec3c68
3 changed files with 54 additions and 23 deletions

View File

@ -1,15 +1,18 @@
'use strict';
angular.module('copayApp.directives')
.directive('incomingDataMenu', function($timeout, $rootScope) {
.directive('incomingDataMenu', function($timeout, $rootScope, bitcore) {
return {
restrict: 'E',
templateUrl: 'views/includes/incomingDataMenu.html',
link: function(scope, element, attrs) {
$rootScope.$on('incomingDataMenu.showMenu', function(event, data) {
$timeout(function() {
scope.data = data;
scope.data = data.data;
scope.type = data.type;
scope.showMenu = true;
console.log('data', data);
});
});
scope.hide = function() {

View File

@ -8,10 +8,10 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
$rootScope.$broadcast('incomingDataMenu.showMenu', data);
};
$timeout(function() {
var data = 'https://bitpay.com';
root.redir(data);
}, 2000);
// $timeout(function() {
// var data = 'https://bitpay.com';
// root.redir(data);
// }, 2000);
root.redir = function(data) {
$log.debug('Processing incoming data:' +data);
@ -44,6 +44,7 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
data = sanitizeUri(data);
data = '1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX';
// BIP21
if (bitcore.URI.isValid(data)) {
@ -74,7 +75,7 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
getPayProDetails(data, function(err, details) {
if(err) {
console.log('getPayProDetails err', err);
root.showMenu(data);
root.showMenu({data: data, type: 'url'});
return;
}
console.log('paypro details', details);
@ -90,12 +91,14 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
});
// Plain Address
} else if (bitcore.Address.isValid(data, 'livenet')) {
return root.showMenu({data: data, type: 'bitcoinAddress'});
$state.go('tabs.send');
$timeout(function() {
$state.transitionTo('tabs.send.amount', {toAddress: data});
}, 100);
return true;
} else if (bitcore.Address.isValid(data, 'testnet')) {
return root.showMenu({data: data, type: 'bitcoinAddress'});
$state.go('tabs.send');
$timeout(function() {
$state.transitionTo('tabs.send.amount', {toAddress: data});

View File

@ -1,22 +1,47 @@
<action-sheet
action-sheet-show="showMenu">
<div class="incoming-data-menu__item head">
<div class="incoming-data-menu__header">Website</div>
<div class="incoming-data-menu__url">
<div class="incoming-data-menu__url__icon">
<img src="img/icon-lock-green.svg">
</div>
<div class="incoming-data-menu__url__text">
{{data}}
<div ng-show="type === 'url'">
<div class="incoming-data-menu__item head">
<div class="incoming-data-menu__header">Website</div>
<div class="incoming-data-menu__url">
<div class="incoming-data-menu__url__icon">
<img src="img/icon-lock-green.svg">
</div>
<div class="incoming-data-menu__url__text">
{{data}}
</div>
</div>
</div>
<a class="incoming-data-menu__item item item-icon-right" ng-href="{{data}}" target="_blank">
<img src="img/icon-link-external.svg">
<div>Open website</div>
<i class="icon bp-arrow-right"></i>
</a>
<a class="incoming-data-menu__cancel item" ng-click="hide()">
Cancel
</a>
</div>
<div ng-show="type === 'bitcoinAddress'">
<div class="incoming-data-menu__item head">
<div class="incoming-data-menu__header">Bitcoin Address</div>
<div class="incoming-data-menu__url">
<div class="incoming-data-menu__url__icon">
<img src="img/icon-bitcoin-small.svg">
</div>
<div class="incoming-data-menu__url__text">
{{data}}
</div>
</div>
</div>
<a class="incoming-data-menu__item item item-icon-right" ng-href="{{data}}" target="_blank">
<img src="img/icon-link-external.svg">
<div>Open website</div>
<i class="icon bp-arrow-right"></i>
</a>
<a class="incoming-data-menu__cancel item" ng-click="hide()">
Cancel
</a>
</div>
<a class="incoming-data-menu__item item item-icon-right" ng-href="{{data}}" target="_blank">
<img src="img/icon-link-external.svg">
<div>Open website</div>
<i class="icon bp-arrow-right"></i>
</a>
<a class="incoming-data-menu__cancel item" ng-click="hide()">
Cancel
</a>
</action-sheet>