diff --git a/public/views/copayers.html b/public/views/copayers.html index aa5b8f626..0e8a0f7de 100644 --- a/public/views/copayers.html +++ b/public/views/copayers.html @@ -1,15 +1,12 @@ - + - {{wallet.name}} - - - + + + - +

Share this invitation with your copayers

@@ -43,14 +40,14 @@ [ {{wallet.m}}-of-{{wallet.n}} ] -
+
- + Waiting...
-
diff --git a/public/views/includes/copayers.html b/public/views/includes/copayers.html index ae519e35a..2ab3e5f49 100644 --- a/public/views/includes/copayers.html +++ b/public/views/includes/copayers.html @@ -1,10 +1,8 @@ -
    -
  • - - {{'Me'|translate}} +
    + + {{'Me'|translate}} - - {{copayer.name}} + + {{copayer.name}} -
  • -
+
diff --git a/public/views/tab-home.html b/public/views/tab-home.html index c323373cf..501b2880b 100644 --- a/public/views/tab-home.html +++ b/public/views/tab-home.html @@ -40,7 +40,7 @@ + ng-click="openWallet(wallet)"> diff --git a/public/views/walletDetails.html b/public/views/walletDetails.html index 78cd5ce10..0bef1c79b 100644 --- a/public/views/walletDetails.html +++ b/public/views/walletDetails.html @@ -10,22 +10,7 @@ -
- No Wallet - - Go home - -
- - -
- - Wallet Incomplete - -
- - -
+
diff --git a/src/js/controllers/copayers.js b/src/js/controllers/copayers.js index 9e52e635a..b95a22121 100644 --- a/src/js/controllers/copayers.js +++ b/src/js/controllers/copayers.js @@ -1,13 +1,15 @@ 'use strict'; angular.module('copayApp.controllers').controller('copayersController', - function($scope, $log, $ionicPopup, profileService, platformInfo, gettextCatalog, $stateParams, ongoingProcess, $state) { + function($scope, $log, $ionicNavBarDelegate, $stateParams, $state, profileService, popupService, platformInfo, gettextCatalog, ongoingProcess) { if (!$stateParams.walletId) { $log.debug('No wallet provided...back to home'); - return $state.transitionTo('tabs.home'); + return $state.go('tabs.home'); } var wallet = profileService.getWallet($stateParams.walletId); + $ionicNavBarDelegate.title(wallet.name); + var secret; try { secret = wallet.status.wallet.secret; @@ -15,28 +17,12 @@ angular.module('copayApp.controllers').controller('copayersController', $scope.wallet = wallet; $scope.secret = secret; + $scope.copayers = wallet.status.wallet.copayers; $scope.isCordova = platformInfo.isCordova; $scope.showDeletePopup = function() { - var popup = $ionicPopup.show({ - template: '' + gettextCatalog.getString('Are you sure you want to delete this wallet?') + '', - title: gettextCatalog.getString('Confirm'), - buttons: [ - { - text: gettextCatalog.getString('Cancel'), - onTap: function(e) { - popup.close(); - } - }, - { - text: gettextCatalog.getString('Accept'), - type: 'button-positive', - onTap: function(e) { - deleteWallet(); - popup.close(); - } - } - ] + popupService.showConfirm(gettextCatalog.getString('Confirm'), gettextCatalog.getString('Are you sure you want to delete this wallet?'), function(res) { + if (res) deleteWallet(); }); }; @@ -47,7 +33,7 @@ angular.module('copayApp.controllers').controller('copayersController', if (err) { popupService.showAlert(gettextCatalog.getString('Error'), err.message || err); } else { - $state.transitionTo('tabs.home'); + $state.go('tabs.home'); } }); }; diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index 3abf9f157..24899dd56 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -1,19 +1,37 @@ 'use strict'; angular.module('copayApp.controllers').controller('tabHomeController', - function($rootScope, $timeout, $scope, $state, $ionicScrollDelegate, lodash, profileService, walletService, configService, txFormatService, $ionicModal, $log, platformInfo, storageService, txpModalService, $window) { - + function($rootScope, $timeout, $scope, $state, $ionicScrollDelegate, lodash, profileService, walletService, configService, $log, platformInfo, storageService, txpModalService, $window) { $scope.externalServices = {}; $scope.bitpayCardEnabled = true; // TODO + $scope.openTxpModal = txpModalService.open; + $scope.version = $window.version; + $scope.name = $window.appConfig.nameCase; + configService.whenAvailable(function() { + var config = configService.getSync(); + var isWindowsPhoneApp = platformInfo.isWP && isCordova; + $scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp; + $scope.coinbaseEnabled = config.coinbase.enabled && !isWindowsPhoneApp; + }); + + $scope.openWallet = function(wallet) { + if (!wallet.isComplete()) { + return $state.go('tabs.copayers', { + walletId: wallet.credentials.walletId + }); + } + + $state.go('tabs.details', { + walletId: wallet.credentials.walletId + }); + }; function updateTxps() { profileService.getTxps({ limit: 3 }, function(err, txps, n) { - if (err) { - console.log('[tab-home.js.35:err:]', $log.error(err)); //TODO - } + if (err) $log.error(err); $scope.txps = txps; $scope.txpsN = n; $ionicScrollDelegate.resize(); @@ -24,7 +42,6 @@ angular.module('copayApp.controllers').controller('tabHomeController', }) }; - $scope.updateAllWallets = function() { $scope.wallets = profileService.getWallets(); if (lodash.isEmpty($scope.wallets)) return; @@ -41,7 +58,7 @@ angular.module('copayApp.controllers').controller('tabHomeController', } else { wallet.status = status; } - if (++j==i) { + if (++j == i) { updateTxps(); } }); @@ -106,7 +123,7 @@ angular.module('copayApp.controllers').controller('tabHomeController', $scope.updateWallet(wallet); }), $rootScope.$on('Local/TxAction', function(e, walletId) { - $log.debug('Got action for wallet '+ walletId); + $log.debug('Got action for wallet ' + walletId); var wallet = profileService.getWallet(walletId); $scope.updateWallet(wallet); }), @@ -117,19 +134,4 @@ angular.module('copayApp.controllers').controller('tabHomeController', x(); }); }); - - configService.whenAvailable(function() { - var config = configService.getSync(); - var isWindowsPhoneApp = platformInfo.isWP && isCordova; - $scope.glideraEnabled = config.glidera.enabled && !isWindowsPhoneApp; - $scope.coinbaseEnabled = config.coinbase.enabled && !isWindowsPhoneApp; - }); - - $scope.openTxpModal = txpModalService.open; - - $scope.version = $window.version; - $scope.name = $window.appConfig.nameCase; - - - }); diff --git a/src/js/controllers/walletDetails.js b/src/js/controllers/walletDetails.js index 6e8f7b078..fa6ea0d47 100644 --- a/src/js/controllers/walletDetails.js +++ b/src/js/controllers/walletDetails.js @@ -1,21 +1,58 @@ 'use strict'; angular.module('copayApp.controllers').controller('walletDetailsController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, $ionicNavBarDelegate, $state, $stateParams, bwcError, profileService, lodash, configService, gettext, gettextCatalog, platformInfo, walletService, $ionicPopup, txpModalService, externalLinkService) { - - var isCordova = platformInfo.isCordova; - var isWP = platformInfo.isWP; - var isAndroid = platformInfo.isAndroid; - var isChromeApp = platformInfo.isChromeApp; - - var errorPopup; - var HISTORY_SHOW_LIMIT = 10; + var currentTxHistoryPage; + var wallet; $scope.txps = []; $scope.openExternalLink = function(url, target) { externalLinkService.open(url, target); }; + $scope.init = function() { + currentTxHistoryPage = 0; + $scope.completeTxHistory = []; + + wallet = profileService.getWallet($stateParams.walletId); + + /* Set color for header bar */ + $rootScope.walletDetailsColor = wallet.color; + $rootScope.walletDetailsName = wallet.name; + $scope.wallet = wallet; + + $scope.requiresMultipleSignatures = wallet.credentials.m > 1; + $scope.newTx = false; + + $ionicNavBarDelegate.title(wallet.name); + + $scope.updateAll(function() { + if ($stateParams.txid) { + var tx = lodash.find($scope.completeTxHistory, { + txid: $stateParams.txid + }); + if (tx) { + $scope.openTxModal(tx); + } else { + $ionicPopup.alert({ + title: gettext('TX not available'), + }); + } + } else if ($stateParams.txpId) { + var txp = lodash.find($scope.txps, { + id: $stateParams.txpId + }); + if (txp) { + $scope.openTxpModal(txp); + } else { + $ionicPopup.alert({ + title: gettext('Proposal not longer available'), + }); + } + } + }); + } + var setPendingTxps = function(txps) { if (!txps) { $scope.txps = []; @@ -169,54 +206,4 @@ angular.module('copayApp.controllers').controller('walletDetailsController', fun if (err) $log.error(err); }); } - - var currentTxHistoryPage; - var wallet; - - $scope.init = function() { - currentTxHistoryPage = 0; - $scope.completeTxHistory = []; - - wallet = profileService.getWallet($stateParams.walletId); - - if (!wallet.isComplete()) { - return $state.go('wallet.copayers'); - }; - - /* Set color for header bar */ - $rootScope.walletDetailsColor = wallet.color; - $rootScope.walletDetailsName = wallet.name; - - $scope.wallet = wallet; - $scope.requiresMultipleSignatures = wallet.credentials.m > 1; - $scope.newTx = false; - - $ionicNavBarDelegate.title(wallet.name); - - $scope.updateAll(function() { - if ($stateParams.txid) { - var tx = lodash.find($scope.completeTxHistory, { - txid: $stateParams.txid - }); - if (tx) { - $scope.openTxModal(tx); - } else { - $ionicPopup.alert({ - title: gettext('TX not available'), - }); - } - } else if ($stateParams.txpId) { - var txp = lodash.find($scope.txps, { - id: $stateParams.txpId - }); - if (txp) { - $scope.openTxpModal(txp); - } else { - $ionicPopup.alert({ - title: gettext('Proposal not longer available'), - }); - } - } - }); - } }); diff --git a/src/js/routes.js b/src/js/routes.js index bde25a606..1b8f754d0 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -533,9 +533,9 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr */ .state('tabs.copayers', { - url: '/copayers', + url: '/copayers/:walletId', views: { - 'wallet': { + 'tab-home': { templateUrl: 'views/copayers.html' } }