commit
1e628d9704
7 changed files with 116 additions and 3 deletions
15
public/views/modals/receive-tips.html
Normal file
15
public/views/modals/receive-tips.html
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<ion-modal-view ng-style="{opacity: '0.9'}" ng-controller="receiveTipsController">
|
||||||
|
<ion-nav-bar class="bar-ligt">
|
||||||
|
<ion-nav-buttons side="secondary">
|
||||||
|
<button class="button" ng-click="close()">
|
||||||
|
X
|
||||||
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
|
<div class="text-center">
|
||||||
|
<h2>Receive bitcoin by sharing your address</h2>
|
||||||
|
<h3>Other bitcoin users can scan this code to send you money</h3>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
</ion-modal-view>
|
||||||
15
public/views/modals/scan-tips.html
Normal file
15
public/views/modals/scan-tips.html
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<ion-modal-view ng-style="{opacity: '0.9'}" ng-controller="scanTipsController">
|
||||||
|
<ion-nav-bar class="bar-ligt">
|
||||||
|
<ion-nav-buttons side="secondary">
|
||||||
|
<button class="button" ng-click="close()">
|
||||||
|
X
|
||||||
|
</button>
|
||||||
|
</ion-nav-buttons>
|
||||||
|
</ion-nav-bar>
|
||||||
|
<ion-content class="has-header">
|
||||||
|
<div class="text-center">
|
||||||
|
<h2>Scan the code to pay with bitcoin</h2>
|
||||||
|
<h3>QR codes could also contain a bitcoin wallet invitation, or an URL</h3>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
</ion-modal-view>
|
||||||
10
src/js/controllers/modals/receiveTips.js
Normal file
10
src/js/controllers/modals/receiveTips.js
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
angular.module('copayApp.controllers').controller('receiveTipsController', function($scope, $log, storageService) {
|
||||||
|
$scope.close = function() {
|
||||||
|
$log.debug('Receive tips accepted');
|
||||||
|
storageService.setReceiveTipsAccepted(true, function(err) {
|
||||||
|
$scope.receiveTipsModal.hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
11
src/js/controllers/modals/scanTips.js
Normal file
11
src/js/controllers/modals/scanTips.js
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
angular.module('copayApp.controllers').controller('scanTipsController', function($scope, $log, storageService) {
|
||||||
|
$scope.close = function() {
|
||||||
|
$log.debug('Scan tips accepted');
|
||||||
|
storageService.setScanTipsAccepted(true, function(err) {
|
||||||
|
$scope.$emit('TipsModalClosed', function() {});
|
||||||
|
$scope.scanTipsModal.hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('scannerController', function($scope, $timeout) {
|
angular.module('copayApp.controllers').controller('scannerController', function($scope, $timeout, storageService, $ionicModal, platformInfo) {
|
||||||
|
|
||||||
// QR code Scanner
|
// QR code Scanner
|
||||||
var video;
|
var video;
|
||||||
|
|
@ -73,6 +73,35 @@ angular.module('copayApp.controllers').controller('scannerController', function(
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.init = function() {
|
$scope.init = function() {
|
||||||
|
if (platformInfo.isCordova) scannerInit();
|
||||||
|
else checkTips();
|
||||||
|
};
|
||||||
|
|
||||||
|
function checkTips() {
|
||||||
|
//TODO addapt tips to the new QR plugin (mobile)
|
||||||
|
storageService.getScanTipsAccepted(function(err, accepted) {
|
||||||
|
if (err) $log.warn(err);
|
||||||
|
if (accepted) {
|
||||||
|
scannerInit();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$timeout(function() {
|
||||||
|
$ionicModal.fromTemplateUrl('views/modals/scan-tips.html', {
|
||||||
|
scope: $scope
|
||||||
|
}).then(function(modal) {
|
||||||
|
$scope.scanTipsModal = modal;
|
||||||
|
$scope.scanTipsModal.show();
|
||||||
|
});
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.$on('TipsModalClosed', function(event) {
|
||||||
|
scannerInit();
|
||||||
|
});
|
||||||
|
|
||||||
|
function scannerInit() {
|
||||||
setScanner();
|
setScanner();
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
if ($scope.beforeScan) {
|
if ($scope.beforeScan) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('copayApp.controllers').controller('tabReceiveController', function($scope, $timeout, $log, platformInfo, walletService, profileService, configService, lodash, gettextCatalog, popupService) {
|
angular.module('copayApp.controllers').controller('tabReceiveController', function($scope, $timeout, $log, $ionicModal, storageService, platformInfo, walletService, profileService, configService, lodash, gettextCatalog, popupService) {
|
||||||
|
|
||||||
$scope.isCordova = platformInfo.isCordova;
|
$scope.isCordova = platformInfo.isCordova;
|
||||||
|
|
||||||
|
|
@ -8,10 +8,27 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
|
||||||
$scope.wallets = profileService.getWallets({
|
$scope.wallets = profileService.getWallets({
|
||||||
onlyComplete: true
|
onlyComplete: true
|
||||||
});
|
});
|
||||||
$scope.isCordova = platformInfo.isCordova;
|
|
||||||
$scope.isNW = platformInfo.isNW;
|
$scope.isNW = platformInfo.isNW;
|
||||||
|
$scope.isCordova = platformInfo.isCordova;
|
||||||
|
if (!$scope.isCordova) $scope.checkTips();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope.checkTips = function() {
|
||||||
|
storageService.getReceiveTipsAccepted(function(err, accepted) {
|
||||||
|
if (err) $log.warn(err);
|
||||||
|
if (accepted) return;
|
||||||
|
|
||||||
|
$timeout(function() {
|
||||||
|
$ionicModal.fromTemplateUrl('views/modals/receive-tips.html', {
|
||||||
|
scope: $scope
|
||||||
|
}).then(function(modal) {
|
||||||
|
$scope.receiveTipsModal = modal;
|
||||||
|
$scope.receiveTipsModal.show();
|
||||||
|
});
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
$scope.$on('Wallet/Changed', function(event, wallet) {
|
$scope.$on('Wallet/Changed', function(event, wallet) {
|
||||||
if (!wallet) {
|
if (!wallet) {
|
||||||
$log.debug('No wallet provided');
|
$log.debug('No wallet provided');
|
||||||
|
|
|
||||||
|
|
@ -349,6 +349,22 @@ angular.module('copayApp.services')
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
root.setScanTipsAccepted = function(val, cb) {
|
||||||
|
storage.set('scanTips', val, cb);
|
||||||
|
};
|
||||||
|
|
||||||
|
root.getScanTipsAccepted = function(cb) {
|
||||||
|
storage.get('scanTips', cb);
|
||||||
|
};
|
||||||
|
|
||||||
|
root.setReceiveTipsAccepted = function(val, cb) {
|
||||||
|
storage.set('receiveTips', val, cb);
|
||||||
|
};
|
||||||
|
|
||||||
|
root.getReceiveTipsAccepted = function(cb) {
|
||||||
|
storage.get('receiveTips', cb);
|
||||||
|
};
|
||||||
|
|
||||||
root.setAmazonGiftCards = function(network, gcs, cb) {
|
root.setAmazonGiftCards = function(network, gcs, cb) {
|
||||||
storage.set('amazonGiftCards-' + network, gcs, cb);
|
storage.set('amazonGiftCards-' + network, gcs, cb);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue