Fix address list from receive section. Fix response when delete a wallet.

This commit is contained in:
Gustavo Maximiliano Cortez 2015-02-19 17:02:07 -03:00
parent 1c7a48e827
commit 174c6cb3de
10 changed files with 137 additions and 134 deletions

View File

@ -616,11 +616,6 @@ ul.tx-copayers {
.ma { margin: 0 auto;}
.tu {text-transform: uppercase;}
.small {
font-size: 60%;
line-height: inherit;
}
.line-dashed-setuph-v {
border-left: 1px dashed #415970;
}
@ -850,6 +845,7 @@ input[type=number]::-webkit-outer-spin-button {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-top: 3px;
}
ul.pagination li.current a {

View File

@ -33,25 +33,24 @@ angular.module('copayApp.controllers').controller('CopayersController',
};
$scope.deleteWallet = function() {
$scope.loading = true;
identityService.deleteWallet(w, function(err) {
if (err) {
$scope.loading = null;
$scope.error = err.message || err;
copay.logger.warn(err);
$timeout(function() {
$scope.$digest();
});
} else {
$scope.loading = false;
if ($rootScope.wallet) {
go.walletHome();
$rootScope.starting = true;
$timeout(function() {
identityService.deleteWallet(w, function(err) {
$rootScope.starting = false;
if (err) {
$scope.error = err.message || err;
copay.logger.warn(err);
$timeout(function () { $scope.$digest(); });
} else {
if ($rootScope.wallet) {
go.walletHome();
}
$timeout(function() {
notification.success('Success', 'The wallet "' + (w.name || w.id) + '" was deleted');
});
}
$timeout(function() {
notification.success('Success', 'The wallet "' + (w.name || w.id) + '" was deleted');
});
}
});
});
}, 100);
};
$scope.copySecret = function(secret) {

View File

@ -119,22 +119,23 @@ angular.module('copayApp.controllers').controller('MoreController',
$scope.deleteWallet = function() {
$scope.loading = true;
identityService.deleteWallet(w, function(err) {
if (err) {
$scope.loading = null;
$scope.error = err.message || err;
copay.logger.warn(err);
$timeout(function () { $scope.$digest(); });
} else {
$timeout(function() {
identityService.deleteWallet(w, function(err) {
$scope.loading = false;
if ($rootScope.wallet) {
go.walletHome();
if (err) {
$scope.error = err.message || err;
copay.logger.warn(err);
$timeout(function () { $scope.$digest(); });
} else {
if ($rootScope.wallet) {
go.walletHome();
}
$timeout(function() {
notification.success('Success', 'The wallet "' + (w.name || w.id) + '" was deleted');
});
}
$timeout(function() {
notification.success('Success', 'The wallet "' + (w.name || w.id) + '" was deleted');
});
}
});
});
}, 100);
};
$scope.copyText = function(text) {

View File

@ -60,7 +60,7 @@ angular.module('copayApp.controllers').controller('ReceiveController',
$modal.open({
templateUrl: 'views/modals/qr-address.html',
windowClass: 'tiny',
windowClass: 'small',
controller: ModalInstanceCtrl,
resolve: {
address: function() {

View File

@ -1,80 +1,86 @@
<div ng-controller="CopayersController" ng-init="init()">
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<h1>Share this secret with your copayers</h1>
</div>
<div ng-show="$root.starting">
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Deleting'"></div>
</div>
<div class="row">
<div class="large-8 columns">
<div ng-if="!$root.wallet.isComplete()">
<div class="panel oh">
<div class="box-notification">
<div class="box-icon error">
<i class="fi-alert size-24"></i>
</div>
<span class="text-warning size-14">
Please note the wallet creator <b>must be online</b> until all copayers have joined.
</span>
</div>
<div ng-click="copySecret(secret)">
<div class="text-center">
<qrcode size="250" data="{{secret}}"></qrcode>
</div>
<div class="secret m10t">
{{secret}}
</div>
</div>
<div class="text-center m10t" ng-if="isCordova">
<span class="button outline dark-gray tiny"
ng-click="shareSecret(secret)">
<i class="fi-share"></i> Share secret
</span>
</div>
<div class="size-10 line-t text-center">
<h2 class="m10t">{{$root.wallet.getName()}}</h2>
<span class="text-gray">
[{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]
</span>
<span ng-if="$root.wallet.isTestnet()"> in TESTNET</span>
</div>
</div>
<div class="!$root.starting">
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<h1>Share this secret with your copayers</h1>
</div>
</div>
<div class="large-4 columns">
<div class="panel oh">
<h3>Waiting for copayers</h3>
<div ng-include="'views/includes/copayers.html'"></div>
<div ng-if="!$root.wallet.isComplete()" class="m15t">
<div class="left m10r" ng-include="'views/includes/photo.html'"></div>
<p class="size-12 m0 m5t left mv">
<div class="row">
<div class="large-8 columns">
<div ng-if="!$root.wallet.isComplete()">
<div class="panel oh">
<div class="box-notification">
<div class="box-icon error">
<i class="fi-alert size-24"></i>
</div>
<span class="text-warning size-14">
Please note the wallet creator <b>must be online</b> until all copayers have joined.
</span>
</div>
<div ng-click="copySecret(secret)">
<div class="text-center">
<qrcode size="250" data="{{secret}}"></qrcode>
</div>
<div class="secret m10t">
{{secret}}
</div>
</div>
<div class="text-center m10t" ng-if="isCordova">
<span class="button outline dark-gray tiny"
ng-click="shareSecret(secret)">
<i class="fi-share"></i> Share secret
</span>
</div>
<div class="size-10 line-t text-center">
<h2 class="m10t">{{$root.wallet.getName()}}</h2>
<span class="text-gray">
[{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]
</span>
<span ng-if="$root.wallet.isTestnet()"> in TESTNET</span>
</div>
</div>
</div>
</div>
<div class="large-4 columns">
<div class="panel oh">
<h3>Waiting for copayers</h3>
<div ng-include="'views/includes/copayers.html'"></div>
<div ng-if="!$root.wallet.isComplete()" class="m15t">
<div class="left m10r" ng-include="'views/includes/photo.html'"></div>
<p class="size-12 m0 m5t left mv">
<i class="fi-loop icon-rotate spinner"></i>
<span translate>Waiting...</span>
</p>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- end of row -->
<div class="row">
<div class="large-12 columns">
<button class="small warning" ng-show="!confirmDelete" ng-click="confirmDelete=!confirmDelete">
<i class="fi-trash"></i> Cancel
</button>
<div class="text-center" ng-show="confirmDelete">
<h2>Are you sure you want to cancel and delete this wallet</h2>
<div class="row">
<div class="large-6 medium-6 small-6 columns">
<button class="gray" ng-disabled="loading"
ng-click="confirmDelete=!confirmDelete">No</button>
</div>
<div class="large-6 medium-6 small-6 columns">
<button class="warning" ng-disabled="loading" ng-click="deleteWallet(); confirmDelete = !confirmDelete">
<i class="fi-trash"></i> Yes
</button>
<!-- end of row -->
<div class="row">
<div class="large-12 columns">
<button class="small warning" ng-show="!confirmDelete" ng-click="confirmDelete=!confirmDelete">
<i class="fi-trash"></i> Cancel
</button>
<div class="text-center" ng-show="confirmDelete">
<h2>Are you sure you want to cancel and delete this wallet</h2>
<div class="row">
<div class="large-6 medium-6 small-6 columns">
<button class="gray" ng-disabled="loading"
ng-click="confirmDelete=!confirmDelete">No</button>
</div>
<div class="large-6 medium-6 small-6 columns">
<button class="warning" ng-disabled="loading" ng-click="deleteWallet(); confirmDelete = !confirmDelete">
<i class="fi-trash"></i> Yes
</button>
</div>
</div>
</div>
</div>

View File

@ -6,12 +6,12 @@
</div>
</div>
<div class="left" tooltip="ID: {{copayer.peerId}}" tooltip-placement="bottom">
<small class="text-gray" ng-show="copayer.index == 0">
<span class="size-12" ng-show="copayer.index == 0">
<i class="fi-check m5r"></i> {{'Me'|translate}}
</small>
<small class="text-gray" ng-show="copayer.index > 0">
</span>
<span class="size-12 text-gray" ng-show="copayer.index > 0">
<i class="fi-check m5r"></i> {{copayer.nick}}
</small>
</span>
</div>
</li>
</ul>
</ul>

View File

@ -27,8 +27,8 @@
ng-repeat="(addr, info) in addressBook"
ng-class="{'addressbook-disabled': info.hidden}">
<td ng-click="copyToSend(addr)">
<b>{{info.label}}</b>
<div class="small address-size">{{::addr}}</div>
<b>{{info.label}}</b><br>
<small class="address-size">{{::addr}}</small>
</td>
<td class="show-for-large-up" ng-click="copyToSend(addr)" ng-show="$root.wallet.isShared()">{{$root.wallet.publicKeyRing.nicknameForCopayer(info.copayerId)}}</td>
<td ng-click="copyToSend(addr)" class="show-for-large-up"><time>{{::info.createdTs | amCalendar}}</time></td>

View File

@ -4,14 +4,18 @@
<div class="modal-mobile text-center" ng-init="addr = address.address">
<qrcode size="220" data="{{addr}}"></qrcode>
<div class="m10t"
<div class="m20t"
ng-init="label = $root.wallet.addressBook[addr].label">
<div class="size-12">
{{addr}} <small class="label" ng-show="address.isChange">change</small>
{{addr}}
</div>
<b class="db m5t" ng-show="label">
<div class="m5t size-10 text-secondary" ng-show="address.isChange" translate>change</div>
<div class="m10t" ng-show="label">
({{label}})
</b>
</div>
<div class="m5t" ng-show="address.balance && address.balance > 0">
<b>{{address.balance}} {{$root.wallet.settings.unitName}}</b>
</div>
</div>
<div class="text-center m10t" ng-if="isCordova">
<button class="primary expand" ng-click="copyAddress(addr)">

View File

@ -33,19 +33,16 @@
<div ng-repeat="addr in addresses" ng-click="openAddressModal(addr)" class="pointer">
<div class="panel">
<div class="row">
<div class="large-7 medium-7 small-9 columns">
<contact class="ellipsis" address="{{::addr.address}}">
<div class="large-3 medium-4 small-5 columns">
<contact class="size-12 ellipsis" address="{{::addr.address}}"></contact>
</div>
<div class="large-1 medium-2 small-3 columns text-right">
<small translate class="label" ng-show="::addr.isChange">change</small>
<div class="large-1 medium-1 small-2 columns">
<span translate class="text-secondary size-10" ng-show="::addr.isChange">change</span>
</div>
<div class="large-4 medium-3 small-12 columns text-right">
<span ng-show="$root.updatingBalance">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</span>
<span class="size-14" ng-show="!$root.updatingBalance">
<b>{{addr.balance || '0'}} {{$root.wallet.settings.unitName}}</b>
</span>
<div class="large-8 medium-7 small-5 columns text-right">
<span class="size-12" ng-show="!$root.updatingBalance">
<b>{{addr.balance || '0'}} {{$root.wallet.settings.unitName}}</b>
</span>
</div>
</div>
<!-- end of panel mobile -->

View File

@ -39,23 +39,23 @@
<input type="text" ng-model="insightTestnet" class="form-control" name="insightTestnet" valid-url required>
</div>
<div translate class="small text-gray">
<small translate class="text-gray">
Insight API server is open-source software. You can run your own instances, check
<a href
ng-click="$root.openExternalLink('https://insight.is')">Insight API Homepage</a>
</div>
</small>
</fieldset>
<fieldset>
<legend translate>Storage</legend>
<label for="insightTestnet">Read and Store Profiles:</label>
<select class="form-control" ng-model="selectedStorage" ng-options="o.name for o in availableStorages" required>
</select>
<div translate class="small text-gray">
<small translate class="text-gray">
Wallets and profiles are stored encrypted using your password as a key. You can store the encrypted data locally, on this device, or remotely on the cloud (Insight Server).
<a href
ng-click="$root.openExternalLink('https://github.com/bitpay/copay/tree/master/js/plugins')">
More pluggins are welcomed!</a>
</div>
</small>
</fieldset>
<fieldset>
<legend translate>Language</legend>
@ -66,9 +66,9 @@
<legend translate>Log level</legend>
<select class="form-control" ng-model="selectedLogLevel" ng-options="o.name for o in availableLogLevels" required>
</select>
<div translate class="small text-gray">
<small translate class="text-gray">
Log level shows information on the console. This is useful to find bugs and to help users. 'debug' is the most verbose level while 'fatal' only shows unexpected errors
</div>
</small>
</fieldset>
<button translate type="submit" class="button primary radius expand m0" ng-disabled="settingsForm.$invalid || loading" ng-click="save()">
Save