From 770116c94250f8c6dd756290494c8cdb034ffa2e Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Tue, 24 Jul 2018 16:16:56 -0700 Subject: [PATCH 1/2] Starting on generic wallet selection screen for all sending scenarios. --- src/js/controllers/sendWalletController.js | 57 ++++++++++++++++++++++ src/js/routes.js | 11 ++++- www/views/sendWallet.html | 55 +++++++++++++++++++++ www/views/tab-send.html | 2 +- 4 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 src/js/controllers/sendWalletController.js create mode 100644 www/views/sendWallet.html diff --git a/src/js/controllers/sendWalletController.js b/src/js/controllers/sendWalletController.js new file mode 100644 index 000000000..c72355e23 --- /dev/null +++ b/src/js/controllers/sendWalletController.js @@ -0,0 +1,57 @@ +'use strict'; + +angular.module('copayApp.controllers').controller('sendWalletController', sendWalletController); + +function sendWalletController(gettextCatalog, configService, $filter, $ionicHistory, $ionicModal, $ionicScrollDelegate, lodash, $log, nodeWebkitService, rateService, $scope, $state, $stateParams, $timeout, txFormatService, platformInfo, popupService, profileService, walletService, $window) { + var vm = this; + + vm.headerTitle = ''; + vm.isSendFrom = true; + vm.walletsBch = []; + vm.walletsBtc = []; + vm.walletsEmpty = []; + + vm.useWallet = useWallet; + + $scope.$on('$ionicView.beforeEnter', onBeforeEnter); + + var fromWalletId = ''; + var thirdParty = null; + + function onBeforeEnter(event, data) { + thirdParty = data.stateParams.thirdParty + + fromWalletId =data.stateParams.fromWalletId; + vm.isSendFrom = !!fromWalletId; + + if (vm.isSendFrom) { + vm.headerTitle = gettextCatalog.getString('From'); + } else { + vm.headerTitle = gettextCatalog.getString('To'); + } + + vm.walletsBch = profileService.getWallets({ + coin: 'bch', + hasFunds: true + }); + vm.walletsBtc = profileService.getWallets({ + coin: 'btc', + hasFunds: true + }); + vm.walletsEmpty = profileService.getWallets({ + hasFunds: false + }); + + // Will make this generic for other third party services later, but + // this is where it will happen + if (thirdParty && thirdParty.id === 'shapeshift') { + + } else { + headerTitle = 'Wallet-to-Wallet transfer' + } + } + + function useWallet(wallet) { + + } +} \ No newline at end of file diff --git a/src/js/routes.js b/src/js/routes.js index 8277314e5..36a67004d 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -285,7 +285,16 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr * Send * */ - + .state('tabs.send.wallet', { + url: '/send-wallet/:recipientType/:toAddress/:toName/:toEmail/:toColor/:coin/:fixedUnit/:fromWalletId/:minShapeshiftAmount/:maxShapeshiftAmount/:shapeshiftOrderId/:displayAddress/:noPrefix', + views: { + 'tab-send@tabs' : { + controller: 'sendWalletController', + controllerAs: 'vm', + templateUrl: 'views/sendWallet.html' + } + } + }) .state('tabs.send.amount', { url: '/amount/:recipientType/:toAddress/:toName/:toEmail/:toColor/:coin/:fixedUnit/:fromWalletId/:minShapeshiftAmount/:maxShapeshiftAmount/:shapeshiftOrderId/:displayAddress/:noPrefix', views: { diff --git a/www/views/sendWallet.html b/www/views/sendWallet.html new file mode 100644 index 000000000..35b834f99 --- /dev/null +++ b/www/views/sendWallet.html @@ -0,0 +1,55 @@ + + + {{'Wallet to wallet transfer' | translate}} + + +
+
Paying
+
$37.42 USD
+
0.04580000 BCH {{requestAmount}}
+
+
+
+ {{vm.headerTitle}} +
+
+
+
+
Bitcoin Cash (BCH)
+
Instant transactions with low fees
+
+
+ + + +
+
+ +
+
+
Bitcoin Core (BTC)
+
+
+ + + +
+
+ +
+
+
Insufficient funds
+
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/www/views/tab-send.html b/www/views/tab-send.html index 8b39808db..b901aa0b4 100644 --- a/www/views/tab-send.html +++ b/www/views/tab-send.html @@ -22,7 +22,7 @@
- From accb594c108d40f8947e960b7a41bc1431fc7698 Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Tue, 24 Jul 2018 16:53:12 -0700 Subject: [PATCH 2/2] Starting to handle payment request. --- src/js/controllers/sendWalletController.js | 5 +++-- www/views/sendWallet.html | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/js/controllers/sendWalletController.js b/src/js/controllers/sendWalletController.js index c72355e23..8dc3e80f5 100644 --- a/src/js/controllers/sendWalletController.js +++ b/src/js/controllers/sendWalletController.js @@ -6,6 +6,7 @@ function sendWalletController(gettextCatalog, configService, $filter, $ionicHist var vm = this; vm.headerTitle = ''; + vm.isPaymentRequest = false; vm.isSendFrom = true; vm.walletsBch = []; vm.walletsBtc = []; @@ -25,9 +26,9 @@ function sendWalletController(gettextCatalog, configService, $filter, $ionicHist vm.isSendFrom = !!fromWalletId; if (vm.isSendFrom) { - vm.headerTitle = gettextCatalog.getString('From'); + vm.headerTitle = gettextCatalog.getString('From:'); } else { - vm.headerTitle = gettextCatalog.getString('To'); + vm.headerTitle = gettextCatalog.getString('To:'); } vm.walletsBch = profileService.getWallets({ diff --git a/www/views/sendWallet.html b/www/views/sendWallet.html index 35b834f99..816ec4c2e 100644 --- a/www/views/sendWallet.html +++ b/www/views/sendWallet.html @@ -3,7 +3,7 @@ {{'Wallet to wallet transfer' | translate}} -
+
Paying
$37.42 USD
0.04580000 BCH {{requestAmount}}