Merge pull request #183 from cmgustavo/ref/design-50

Bug fixes. Split contacts and wallets from send
This commit is contained in:
Gustavo Maximiliano Cortez 2016-09-23 17:12:00 -03:00 committed by GitHub
commit 1b2b49ce2b
8 changed files with 36 additions and 16 deletions

View file

@ -13,7 +13,8 @@
<div class="item item-no-bottom-border" translate>Recipient</div> <div class="item item-no-bottom-border" translate>Recipient</div>
<div class="item item-text-wrap item-icon-left bitcoin-address"> <div class="item item-text-wrap item-icon-left bitcoin-address">
<gravatar class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar> <i ng-if="isWallet" class="icon ion-briefcase size-21"></i>
<gravatar ng-if="!isWallet" class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar>
<span>{{toName || toAddress}}</span> <span>{{toName || toAddress}}</span>
</div> </div>
</div> </div>

View file

@ -25,7 +25,8 @@
</div> </div>
<div class="item item-icon-left"> <div class="item item-icon-left">
<gravatar class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar> <i ng-if="isWallet" class="icon ion-briefcase size-21"></i>
<gravatar ng-if="!isWallet" class="send-gravatar" name="{{toName}}" width="30" email="{{toEmail}}"></gravatar>
<span translate>To</span>: {{toAddress}} <span translate>To</span>: {{toAddress}}
<p ng-show="toName">{{toName}}</p> <p ng-show="toName">{{toName}}</p>

View file

@ -16,12 +16,26 @@
</label> </label>
</div> </div>
<div class="card" ng-if="list[0]"> <div class="card">
<div class="item item-heading"> <div class="item item-heading">
<span translate>Contacts &amp; Wallets</span> <span translate>Contacts</span>
</div> </div>
<div class="item text-center" ng-show="!list[0]" translate>No Wallet - Contact</div> <a class="item item-icon-left ng-hide" ng-show="!hasContacts" ui-sref="tabs.send.addressbook">
<a class="item item-icon-left" ng-repeat="item in list" ng-click="goToAmount(item)"> <gravatar class="send-gravatar" name="" width="30" email=""></gravatar>
<span translate>Add a Contact</span>
</a>
<a class="item item-icon-left" ng-repeat="item in list" ng-show="hasContacts && !item.isWallet" ng-click="goToAmount(item)">
<gravatar class="send-gravatar" name="{{item.name}}" width="30" email="{{item.email}}"></gravatar>
{{item.name}}
</a>
</div>
<div class="card">
<div class="item item-heading">
<span translate>Transfer to Wallet</span>
</div>
<div class="item text-center ng-hide" ng-show="!hasWallets" translate>No Wallet</div>
<a class="item item-icon-left" ng-repeat="item in list" ng-show="hasWallets && item.isWallet" ng-click="goToAmount(item)">
<i ng-show="item.isWallet" class="icon ion-briefcase size-21" ng-style="{'color':item.color}"></i> <i ng-show="item.isWallet" class="icon ion-briefcase size-21" ng-style="{'color':item.color}"></i>
<gravatar class="send-gravatar" ng-show="!item.isWallet" name="{{item.name}}" width="30" email="{{item.email}}"></gravatar> <gravatar class="send-gravatar" ng-show="!item.isWallet" name="{{item.name}}" width="30" email="{{item.email}}"></gravatar>
{{item.name}} {{item.name}}

View file

@ -31,7 +31,7 @@ angular.module('copayApp.controllers').controller('addressbookAddController', fu
return; return;
} }
if ($scope.fromSendTab) $scope.goHome(); if ($scope.fromSendTab) $scope.goHome();
else $state.go('tabs.addressbook'); else $ionicHistory.goBack();
}); });
}, 100); }, 100);
}; };

View file

@ -10,10 +10,15 @@ angular.module('copayApp.controllers').controller('amountController', function($
var SMALL_FONT_SIZE_LIMIT = 13; var SMALL_FONT_SIZE_LIMIT = 13;
var LENGTH_EXPRESSION_LIMIT = 19; var LENGTH_EXPRESSION_LIMIT = 19;
$scope.isWallet = $stateParams.isWallet;
$scope.toAddress = $stateParams.toAddress; $scope.toAddress = $stateParams.toAddress;
$scope.toName = $stateParams.toName; $scope.toName = $stateParams.toName;
$scope.toEmail = $stateParams.toEmail; $scope.toEmail = $stateParams.toEmail;
$scope.$on('$ionicView.beforeLeave', function() {
angular.element($window).off('keydown');
});
$scope.$on("$ionicView.beforeEnter", function(event, data) { $scope.$on("$ionicView.beforeEnter", function(event, data) {
if (!$stateParams.toAddress) { if (!$stateParams.toAddress) {
@ -24,7 +29,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
var reNr = /^[1234567890\.]$/; var reNr = /^[1234567890\.]$/;
var reOp = /^[\*\+\-\/]$/; var reOp = /^[\*\+\-\/]$/;
var disableKeys = angular.element($window).on('keydown', function(e) { var disableKeys = angular.element($window).on('keydown', function(e) {
if (e.which === 8) { // you can add others here inside brackets. if (e.which === 8) { // you can add others here inside brackets.
e.preventDefault(); e.preventDefault();
@ -46,10 +50,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
}); });
$scope.$on('$destroy', function() {
angular.element($window).off('keydown');
});
var config = configService.getSync().wallet.settings; var config = configService.getSync().wallet.settings;
$scope.unitName = config.unitName; $scope.unitName = config.unitName;
$scope.alternativeIsoCode = config.alternativeIsoCode; $scope.alternativeIsoCode = config.alternativeIsoCode;
@ -65,7 +65,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
$scope.amount = (($stateParams.toAmount) * satToUnit).toFixed(unitDecimals); $scope.amount = (($stateParams.toAmount) * satToUnit).toFixed(unitDecimals);
} }
processAmount($scope.amount); processAmount($scope.amount);
$timeout(function() { $timeout(function() {
@ -187,6 +186,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
var amount = $scope.showAlternativeAmount ? fromFiat(_amount).toFixed(unitDecimals) : _amount.toFixed(unitDecimals); var amount = $scope.showAlternativeAmount ? fromFiat(_amount).toFixed(unitDecimals) : _amount.toFixed(unitDecimals);
$state.transitionTo('tabs.send.confirm', { $state.transitionTo('tabs.send.confirm', {
isWallet: $scope.isWallet,
toAmount: amount * unitToSatoshi, toAmount: amount * unitToSatoshi,
toAddress: $scope.toAddress, toAddress: $scope.toAddress,
toName: $scope.toName, toName: $scope.toName,

View file

@ -4,6 +4,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
var cachedTxp = {}; var cachedTxp = {};
var isChromeApp = platformInfo.isChromeApp; var isChromeApp = platformInfo.isChromeApp;
$scope.isWallet = $stateParams.isWallet;
$scope.toAddress = $stateParams.toAddress; $scope.toAddress = $stateParams.toAddress;
$scope.toName = $stateParams.toName; $scope.toName = $stateParams.toName;
$scope.toEmail = $stateParams.toEmail; $scope.toEmail = $stateParams.toEmail;

View file

@ -10,6 +10,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
var wallets = profileService.getWallets({ var wallets = profileService.getWallets({
onlyComplete: true onlyComplete: true
}); });
$scope.hasWallets = lodash.isEmpty(wallets) ? false : true;
lodash.each(wallets, function(v) { lodash.each(wallets, function(v) {
originalList.push({ originalList.push({
@ -25,6 +26,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
addressbookService.list(function(err, ab) { addressbookService.list(function(err, ab) {
if (err) $log.error(err); if (err) $log.error(err);
$scope.hasContacts = lodash.isEmpty(ab) ? false : true;
var contacts = []; var contacts = [];
lodash.each(ab, function(v, k) { lodash.each(ab, function(v, k) {
contacts.push({ contacts.push({
@ -76,6 +78,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
} }
$log.debug('Got toAddress:' + addr + ' | ' + item.name); $log.debug('Got toAddress:' + addr + ' | ' + item.name);
return $state.transitionTo('tabs.send.amount', { return $state.transitionTo('tabs.send.amount', {
isWallet: item.isWallet,
toAddress: addr, toAddress: addr,
toName: item.name, toName: item.name,
toEmail: item.email toEmail: item.email

View file

@ -236,8 +236,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
* *
*/ */
.state('tabs.send.amount', { .state('tabs.send.amount', {
url: '/amount/:toAddress/:toName/:toEmail', url: '/amount/:isWallet/:toAddress/:toName/:toEmail',
views: { views: {
'tab-send@tabs': { 'tab-send@tabs': {
controller: 'amountController', controller: 'amountController',
@ -246,7 +246,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
} }
}) })
.state('tabs.send.confirm', { .state('tabs.send.confirm', {
url: '/confirm/:toAddress/:toName/:toAmount/:toEmail/:description/:paypro', url: '/confirm/:isWallet/:toAddress/:toName/:toAmount/:toEmail/:description/:paypro',
views: { views: {
'tab-send@tabs': { 'tab-send@tabs': {
controller: 'confirmController', controller: 'confirmController',