mirror of https://github.com/BTCPrivate/copay.git
unify strings to "payment". Add retry on balance update
This commit is contained in:
parent
876ae63a25
commit
17deda9000
|
@ -22,7 +22,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="title m0" translate>Information</h4>
|
||||
<h4 class="title m0" translate>Details</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li ng-if="btx.addressTo && btx.addressTo != 'N/A'" class="line-b p10 oh" ng-click="copyAddress(btx.addressTo)">
|
||||
<span class="text-gray" translate>To</span>:
|
||||
|
@ -68,7 +68,7 @@
|
|||
</ul>
|
||||
|
||||
<div ng-if="btx.actions[0] && isShared">
|
||||
<h4 class="title m0" translate>Signatures</h4>
|
||||
<h4 class="title m0" translate>Participants</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10 text-gray" ng-repeat="c in btx.actions">
|
||||
<span class="right">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
<div ng-if="statusStr && statusStr == 'Transaction broadcasted'" class="popup-txsent">
|
||||
<div ng-if="type == 'broadcasted'" class="popup-txsent">
|
||||
<i class="small-centered columns fi-check m20tp"></i>
|
||||
<div class="text-center size-18 text-white text-bold tu p20">
|
||||
<span translate>Payment Sent</span>
|
||||
|
@ -9,20 +9,33 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="statusStr && statusStr == 'Transaction proposal signed'" class="popup-txsigned">
|
||||
|
||||
<div ng-if="type == 'created'" class="popup-txsigned">
|
||||
<i class="small-centered columns fi-check m20tp"></i>
|
||||
<div class="text-center size-18 text-primary tu text-bold p20">
|
||||
{{statusStr|translate}}
|
||||
<span translate>Payment Proposal Created</span>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="button outline round light-gray tiny small-4" ng-click="cancel()" translate>OKAY</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="statusStr && statusStr == 'Transaction was rejected'" class="popup-txrejected">
|
||||
|
||||
|
||||
<div ng-if="type == 'accepted'" class="popup-txsigned">
|
||||
<i class="small-centered columns fi-check m20tp"></i>
|
||||
<div class="text-center size-18 text-primary tu text-bold p20">
|
||||
<span translate>Payment Accepted</span>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="button outline round light-gray tiny small-4" ng-click="cancel()" translate>OKAY</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="type=='rejected'" class="popup-txrejected">
|
||||
<i class="fi-x small-centered columns m20tp"></i>
|
||||
<div class="text-center size-18 tu text-warning text-bold p20">
|
||||
{{statusStr|translate}}
|
||||
<span translate>Payment Rejected</span>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<a class="button outline light-gray round tiny small-4" ng-click="cancel()" translate>OKAY</a>
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
</section>
|
||||
<section class="middle tab-bar-section">
|
||||
<h1 class="title ellipsis" ng-style="{'color':color}" translate>
|
||||
Transaction proposal
|
||||
Payment Proposal
|
||||
</h1>
|
||||
</section>
|
||||
</nav>
|
||||
<div class="p45t" ng-init="updateCopayerList()">
|
||||
<h4 class="title m0" translate>Information</h4>
|
||||
<h4 class="title m0" translate>Details</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10 oh" ng-click="copyAddress(tx.toAddress)">
|
||||
<span class="text-gray" translate>To</span>:
|
||||
|
@ -66,7 +66,7 @@
|
|||
</div>
|
||||
|
||||
<div ng-if="tx.actions[0] && !txRejected && !txBroadcasted">
|
||||
<h4 class="title m0" translate>Signatures</h4>
|
||||
<h4 class="title m0" translate>Participants</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10 text-gray" ng-repeat="ac in tx.actions">
|
||||
<i class="icon-contact size-24"></i>
|
||||
|
@ -87,7 +87,7 @@
|
|||
|
||||
|
||||
<div class="row column m20t text-center text-warning" ng-if="tx.removed" translate>
|
||||
The transaction was removed by creator
|
||||
The payment was removed by creator
|
||||
</div>
|
||||
|
||||
<div class="row m20t" ng-if="tx.pendingForUs">
|
||||
|
@ -103,7 +103,7 @@
|
|||
ng-style="{'background-color':color}"
|
||||
ng-disabled="loading">
|
||||
<i class="fi-check"></i>
|
||||
<span translate>Sign</span>
|
||||
<span translate>Accept</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -111,7 +111,7 @@
|
|||
<div class="text-center text-gray" ng-show="tx.status != 'pending'">
|
||||
<div class="m10t"
|
||||
ng-show="tx.status=='accepted'" translate>
|
||||
Transaction accepted...
|
||||
Payment accepted...
|
||||
</div>
|
||||
<div class="m10t"
|
||||
ng-show="!loading && tx.status!='broadcasted' && tx.status=='accepted' && tx.status!='rejected'">
|
||||
|
@ -119,27 +119,27 @@
|
|||
<button class="primary round"
|
||||
ng-click="broadcast(tx)"
|
||||
ng-disabled="loading"> <i class="fi-upload-cloud"></i>
|
||||
<span translate>Broadcast Transaction</span>
|
||||
<span translate>Broadcast Payment</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="text-success m10t"
|
||||
ng-show="tx.status=='broadcasted'" translate>
|
||||
Transaction sent!
|
||||
Payment sent!
|
||||
</div>
|
||||
<div class="text-center text-warning"
|
||||
ng-show="tx.status=='rejected'" translate>
|
||||
Transaction finally rejected
|
||||
Payment finally rejected
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row column m20t" ng-if="tx.couldRemove">
|
||||
<div class="text-gray size-12 text-center m20b" show="tx.couldRemove" translate>
|
||||
* Only transactions created by yourself with no peer signatures can be removed
|
||||
* Only payment proposals created by yourself with no peer actions can be removed
|
||||
</div>
|
||||
<button class="tiny expand round outline dark-gray" ng-click="remove(tx)"
|
||||
ng-disabled="loading" ng-show="tx.couldRemove">
|
||||
<i class="fi-trash size-14 m5r"></i>
|
||||
<span translate>Remove transaction</span>
|
||||
<span translate>Delete Payment Proposal</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@
|
|||
|
||||
<div ng-if="index.txps[0]">
|
||||
<div ng-show="index.requiresMultipleSignatures">
|
||||
<h4 class="title m0" translate>Spend proposals</h4>
|
||||
<h4 class="title m0" translate>Payment Proposals</h4>
|
||||
<div class="last-transactions pr" ng-repeat="tx in index.txps"
|
||||
ng-include="'views/includes/transaction.html'">
|
||||
</div>
|
||||
|
@ -266,8 +266,18 @@
|
|||
|
||||
-->
|
||||
<div id="send" class="send tab-view">
|
||||
<div ng-show="index.lockedBalance">
|
||||
<div>
|
||||
<h4 class="title m0">
|
||||
|
||||
<div ng-show="!index.lockedBalance">
|
||||
<div class="size-12">
|
||||
<span class="db text-bold">
|
||||
<span translate>Available Balance</span>:
|
||||
{{index.availableBalanceStr }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="index.lockedBalance">
|
||||
<div class="left">
|
||||
<i class="fi-info size-36 m10r lh"></i>
|
||||
</div>
|
||||
|
@ -276,11 +286,12 @@
|
|||
<span translate>Available Balance</span>:
|
||||
{{index.availableBalanceStr }}
|
||||
</span>
|
||||
<span class="text-gray">
|
||||
<span class="text-gray" >
|
||||
{{index.lockedBalanceStr}}
|
||||
<span translate>in pending transactions</span>
|
||||
<span translate>in pending payments</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="row m20t">
|
||||
|
|
|
@ -145,7 +145,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
$rootScope.$emit('Local/TabChanged', tab);
|
||||
};
|
||||
|
||||
self.updateAll = function(walletStatus) {
|
||||
self.updateAll = function(walletStatus, untilItChanges, initBalance, tries) {
|
||||
tries = tries || 0;
|
||||
if (untilItChanges && lodash.isUndefined(initBalance)) {
|
||||
initBalance = self.totalBalanceSat;
|
||||
}
|
||||
var get = function(cb) {
|
||||
if (walletStatus)
|
||||
return cb(null, walletStatus);
|
||||
|
@ -169,6 +173,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
self.setOngoingProcess('updatingStatus', true);
|
||||
$log.debug('Updating Status:', fc);
|
||||
get(function(err, walletStatus) {
|
||||
if (!err && untilItChanges && initBalance == walletStatus.balance.totalAmount && tries < 10) {
|
||||
return $timeout(function() {
|
||||
return self.updateAll(null, true, initBalance, ++tries);
|
||||
}, 1000);
|
||||
}
|
||||
self.setOngoingProcess('updatingStatus', false);
|
||||
if (err) {
|
||||
self.handleError(err);
|
||||
|
@ -711,8 +720,8 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
lodash.each(['NewOutgoingTx', 'NewTxProposal', 'TxProposalFinallyRejected', 'transactionProposalRemoved', 'TxProposalRemoved',
|
||||
'Local/NewTxProposal', 'Local/TxProposalAction', 'ScanFinished'
|
||||
], function(eventName) {
|
||||
$rootScope.$on(eventName, function() {
|
||||
self.updateAll();
|
||||
$rootScope.$on(eventName, function(event, untilItChanges) {
|
||||
self.updateAll(null, untilItChanges);
|
||||
$timeout(function() {
|
||||
self.updateTxHistory();
|
||||
}, 3000);
|
||||
|
|
|
@ -190,7 +190,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
return;
|
||||
};
|
||||
|
||||
self.setOngoingProcess(gettext('Signing transaction'));
|
||||
self.setOngoingProcess(gettext('Signing payment'));
|
||||
$scope.loading = true;
|
||||
$scope.error = null;
|
||||
$timeout(function() {
|
||||
|
@ -229,7 +229,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
};
|
||||
|
||||
$scope.reject = function(txp) {
|
||||
self.setOngoingProcess(gettext('Rejecting transaction'));
|
||||
self.setOngoingProcess(gettext('Rejecting payment'));
|
||||
$scope.loading = true;
|
||||
$scope.error = null;
|
||||
$timeout(function() {
|
||||
|
@ -249,7 +249,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
|
||||
|
||||
$scope.remove = function(txp) {
|
||||
self.setOngoingProcess(gettext('Deleting transaction'));
|
||||
self.setOngoingProcess(gettext('Deleting payment'));
|
||||
$scope.loading = true;
|
||||
$scope.error = null;
|
||||
$timeout(function() {
|
||||
|
@ -270,7 +270,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
};
|
||||
|
||||
$scope.broadcast = function(txp) {
|
||||
self.setOngoingProcess(gettext('Broadcasting transaction'));
|
||||
self.setOngoingProcess(gettext('Broadcasting Payment'));
|
||||
$scope.loading = true;
|
||||
$scope.error = null;
|
||||
$timeout(function() {
|
||||
|
@ -313,7 +313,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
self.setOngoingProcess();
|
||||
if (txp) {
|
||||
txStatus.notify(txp, function() {
|
||||
$scope.$emit('Local/TxProposalAction');
|
||||
$scope.$emit('Local/TxProposalAction', true);
|
||||
});
|
||||
} else {
|
||||
$timeout(function() {
|
||||
|
|
|
@ -4,7 +4,7 @@ angular.module('copayApp.services')
|
|||
|
||||
var root = {};
|
||||
|
||||
var groupingTime = 4000;
|
||||
var groupingTime = 5000;
|
||||
var lastNotificationOnWallet = {};
|
||||
|
||||
root.getLast = function(walletId) {
|
||||
|
@ -57,23 +57,23 @@ angular.module('copayApp.services')
|
|||
|
||||
switch (notificationData.type) {
|
||||
case 'NewTxProposal':
|
||||
notification.new(gettext('New Transaction'),
|
||||
notification.new(gettext('New Payment Proposal'),
|
||||
name, {color: color} );
|
||||
break;
|
||||
case 'TxProposalAcceptedBy':
|
||||
notification.success(gettext('Transaction Signed'),
|
||||
notification.success(gettext('Payment Proposal Signed by Copayer'),
|
||||
name, {color: color} );
|
||||
break;
|
||||
case 'TxProposalRejectedBy':
|
||||
notification.error(gettext('Transaction Rejected'),
|
||||
notification.error(gettext('Payment Proposal Rejected by Copayer'),
|
||||
name, {color: color} );
|
||||
break;
|
||||
case 'TxProposalFinallyRejected':
|
||||
notification.error(gettext('A transaction was finally rejected'),
|
||||
notification.error(gettext('Payment Proposal Finally Rejected'),
|
||||
name, {color: color} );
|
||||
break;
|
||||
case 'NewOutgoingTx':
|
||||
notification.sent(gettext('Transaction Sent'),
|
||||
notification.sent(gettext('Payment Proposal Sent'),
|
||||
name, {color: color} );
|
||||
break;
|
||||
case 'NewIncomingTx':
|
||||
|
|
|
@ -5,31 +5,35 @@ angular.module('copayApp.services').factory('txStatus', function($modal, lodash,
|
|||
|
||||
root.notify = function(txp, cb) {
|
||||
var fc = profileService.focusedClient;
|
||||
var msg;
|
||||
|
||||
var status = txp.status;
|
||||
var type;
|
||||
|
||||
if (status == 'broadcasted') {
|
||||
msg = gettext('Transaction broadcasted');
|
||||
type = 'broadcasted';
|
||||
} else {
|
||||
|
||||
var n = txp.actions.length;
|
||||
var action = lodash.find(txp.actions, {
|
||||
copayerId: fc.credentials.copayerId
|
||||
});
|
||||
if (!action) {
|
||||
msg = gettext('Transaction proposal created');
|
||||
|
||||
if (!action || (action.type == 'accept' && n == 1)) {
|
||||
type = 'created';
|
||||
} else if (action.type == 'accept') {
|
||||
msg = gettext('Transaction proposal signed');
|
||||
type = 'accepted';
|
||||
} else if (action.type == 'reject') {
|
||||
msg = gettext('Transaction was rejected');
|
||||
type = 'rejected';
|
||||
} else {
|
||||
throw new Error('Unknown type:' + type);
|
||||
}
|
||||
}
|
||||
|
||||
root.openModal(msg, cb);
|
||||
root.openModal(type, cb);
|
||||
};
|
||||
|
||||
root.openModal = function(statusStr, cb) {
|
||||
root.openModal = function(type, cb) {
|
||||
var ModalInstanceCtrl = function($scope, $modalInstance) {
|
||||
$scope.statusStr = statusStr;
|
||||
$scope.type = type;
|
||||
$scope.cancel = function() {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue