mirror of https://github.com/BTCPrivate/copay.git
fix address book
This commit is contained in:
parent
4c0db8942f
commit
30fe89bd21
|
@ -535,6 +535,13 @@ a.button-setup {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 0.5rem;
|
padding: 0.5rem;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
color: #A0A3A6;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a.button-setup:hover {
|
||||||
|
color: #666;
|
||||||
|
border-color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.createProfile a.button-setup, .home a.button-setup, .settings a.button-setup, .import-profile a.button-setup {
|
.createProfile a.button-setup, .home a.button-setup, .settings a.button-setup, .import-profile a.button-setup {
|
||||||
|
@ -938,28 +945,20 @@ label small.has-error {
|
||||||
}
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse; text-align: left; width: 100%; border: none;
|
border-collapse: collapse;
|
||||||
box-shadow: -2px 1px 9px 1px #DDDDDD;
|
text-align: left;
|
||||||
-webkit-box-shadow: -2px 1px 5px 1px #DDDDDD;
|
width: 100%;
|
||||||
-moz-box-shadow: -2px 1px 5px 1px #DDDDDD;
|
border: none;
|
||||||
-o-box-shadow: -2px 1px 5px 1px #DDDDDD;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
thead tr{
|
thead tr{
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
border-top: 1px solid #FFFFFF;
|
|
||||||
height: 46px
|
|
||||||
}
|
}
|
||||||
|
|
||||||
table tr td, table tr th {
|
table tr td, table tr th {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.last-transactions-content tr td,
|
|
||||||
table.last-transactions-content tr th {
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table tfoot tr td, table tfoot tr th, table thead tr td, table thead tr th {
|
table tfoot tr td, table tfoot tr th, table thead tr td, table thead tr th {
|
||||||
background-color: #F5F5F8;
|
background-color: #F5F5F8;
|
||||||
color:#949BAD;
|
color:#949BAD;
|
||||||
|
@ -975,7 +974,7 @@ table tbody tr:last-child td {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.manage-wallets tr:hover {
|
table tr:hover {
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
@ -1368,7 +1367,7 @@ a:hover .photo-container {
|
||||||
.copay-box {
|
.copay-box {
|
||||||
width: 70px;
|
width: 70px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-right: 20px;
|
margin-right: 10px;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1446,8 +1445,6 @@ a.text-warning:hover {color: #FD7262;}
|
||||||
|
|
||||||
.box-setup-copayers {
|
.box-setup-copayers {
|
||||||
background: #F8F8FB;
|
background: #F8F8FB;
|
||||||
-moz-box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.20);
|
|
||||||
box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.20);
|
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1479,9 +1476,6 @@ a.text-warning:hover {color: #FD7262;}
|
||||||
.panel {
|
.panel {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
-moz-box-shadow: 1.5px 1.5px 0px 0px rgba(32,48,64,0.20);
|
|
||||||
box-shadow: 1.5px 1.5px 0px 0px rgba(32,48,64,0.20);
|
|
||||||
-o-box-shadow: 1.5px 1.5px 0px 0px rgba(32,48,64,0.20);
|
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1510,19 +1504,6 @@ a.text-warning:hover {color: #FD7262;}
|
||||||
dialog.large, .reveal-modal.large {
|
dialog.large, .reveal-modal.large {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 1.25rem 0.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.large span.address-size, .reveal-modal.large span.address-size {
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.large table, .reveal-modal.large table {
|
|
||||||
margin: 0;
|
|
||||||
box-shadow: none;
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
-moz-box-shadow: none;
|
|
||||||
-o-box-shadow: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1674,15 +1655,6 @@ a.text-warning:hover {color: #FD7262;}
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.addressbook-entry td {
|
|
||||||
display: block;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.addressbook-disabled td, .addressbook-disabled td a {
|
|
||||||
color: #8597A7;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*/////////////////////////////////////////////////*/
|
/*/////////////////////////////////////////////////*/
|
||||||
|
|
||||||
.createProfile .icon-input {
|
.createProfile .icon-input {
|
||||||
|
|
|
@ -468,7 +468,7 @@ angular.module('copayApp.controllers').controller('SendController',
|
||||||
$modalInstance.close(addr);
|
$modalInstance.close(addr);
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.cancel = function() {
|
$scope.cancel = function(form) {
|
||||||
$scope.error = $scope.success = null;
|
$scope.error = $scope.success = null;
|
||||||
$scope.toggleForm();
|
$scope.toggleForm();
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,90 +1,90 @@
|
||||||
<div>
|
<a class="close-reveal-modal" ng-click="close()">×</a>
|
||||||
<h1 ng-show="!showForm">Address Book
|
<div class="row m10t">
|
||||||
<small><a class="text-success" href ng-click="toggleForm()"><i class="fi-plus"></i> Add entry</a></small>
|
<div class="large-12 columns">
|
||||||
</h1>
|
<h1 ng-show="!showForm">Address Book</h1>
|
||||||
<h1 ng-show="showForm">Add a new entry</h1>
|
<h1 ng-show="showForm">Add a new entry</h1>
|
||||||
<p translate class="text-gray m15b" ng-show="!showForm && !hasEntry()">Empty. Create an alias for your addresses</p>
|
<p translate class="text-gray m15b" ng-show="!showForm && !hasEntry()">Empty. Create an alias for your addresses</p>
|
||||||
<div class="box-notification" ng-show="success">
|
<div class="box-notification" ng-show="success">
|
||||||
<div class="box-icon success">
|
<div class="box-icon success">
|
||||||
<i class="size-24 fi-check"></i>
|
<i class="size-24 fi-check"></i>
|
||||||
|
</div>
|
||||||
|
<span class="size-14 text-success">
|
||||||
|
{{success}}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="size-14 text-success">
|
<table class="addressbook line-t" ng-show="!showForm && hasEntry()">
|
||||||
{{success}}
|
<thead class="show-for-large-up">
|
||||||
</span>
|
<tr>
|
||||||
</div>
|
<th translate>Entry</th>
|
||||||
<table class="addressbook" ng-show="!showForm && hasEntry()">
|
<th ng-class="{'hide-for-small-only' : $root.wallet.isShared()}" ng-show="$root.wallet.isShared()" translate>Creator</th>
|
||||||
<thead class="show-for-large-up">
|
<th class="show-for-large-up" translate>Date</th>
|
||||||
<tr>
|
<th class="show-for-large-up">Visible</th>
|
||||||
<th translate>Entry</th>
|
</tr>
|
||||||
<th ng-class="{'hide-for-small-only' : $root.wallet.isShared()}" ng-show="$root.wallet.isShared()" translate>Creator</th>
|
</thead>
|
||||||
<th class="show-for-large-up" translate>Date</th>
|
<tbody>
|
||||||
<th class="show-for-large-up">Visible</th>
|
<tr
|
||||||
|
ng-repeat="(addr, info) in addressBook"
|
||||||
|
ng-class="{'addressbook-disabled': info.hidden}">
|
||||||
|
<td ng-click="copyToSend(addr)">
|
||||||
|
<b>{{info.label}}</b><br>
|
||||||
|
<span class="address-size">{{::addr}}</span>
|
||||||
|
</td>
|
||||||
|
<td ng-click="copyToSend(addr)" ng-show="$root.wallet.isShared()" ng-class="{'hide-for-small-only' : $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>
|
||||||
|
<td class="show-for-large-up text-center">
|
||||||
|
<a ng-click="toggleAddressBookEntry(addr)" title="{{ info.hidden ? 'Enable' : 'Disable'}} address">
|
||||||
|
<i class="fi-checkbox size-21"
|
||||||
|
ng-class="{'text-success':!info.hidden, 'text-gray':info.hidden}"></i>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</tbody>
|
||||||
<tbody>
|
</table>
|
||||||
<tr
|
|
||||||
class="addressbook-entry"
|
|
||||||
ng-repeat="(addr, info) in addressBook"
|
|
||||||
ng-class="{'addressbook-disabled': info.hidden}">
|
|
||||||
<td ng-click="copyToSend(addr)">
|
|
||||||
<dl>
|
|
||||||
<dt><b>{{info.label}}</b></dt>
|
|
||||||
<dd><span class="address-size">{{::addr}}</span></dd>
|
|
||||||
</dl>
|
|
||||||
</td>
|
|
||||||
<td ng-click="copyToSend(addr)" ng-show="$root.wallet.isShared()" ng-class="{'hide-for-small-only' : $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>
|
|
||||||
<td class="show-for-large-up text-center">
|
|
||||||
<a ng-click="toggleAddressBookEntry(addr)" title="{{ info.hidden ? 'Enable' : 'Disable'}} address">
|
|
||||||
<i class="fi-checkbox size-21"
|
|
||||||
ng-class="{'text-success':!info.hidden, 'text-gray':info.hidden}"></i>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<div class="row" ng-show="showForm">
|
<div class="row" ng-show="showForm">
|
||||||
<div class="large-6 medium-6 columns large-centered medium-centered">
|
<div class="large-6 medium-6 columns large-centered medium-centered">
|
||||||
<form class="m0" name="addressBookForm" ng-submit="submitAddressBook(addressBookForm)" novalidate>
|
<form class="m0" name="addressBookForm" ng-submit="submitAddressBook(addressBookForm)" novalidate>
|
||||||
<div class="box-notification" ng-show="error">
|
<div class="box-notification" ng-show="error">
|
||||||
<div class="box-icon error">
|
<div class="box-icon error">
|
||||||
<i class="size-24 fi-x"></i>
|
<i class="size-24 fi-x"></i>
|
||||||
|
</div>
|
||||||
|
<span class="size-14 text-warning">
|
||||||
|
{{error}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="row collapse">
|
||||||
|
<label for="newaddress" class="left"><span translate>Address</span>
|
||||||
|
<small translate ng-hide="!addressBookForm.newaddress.$pristine || newaddress">Required</small>
|
||||||
|
</label>
|
||||||
|
<span translate class="has-error right size-12" ng-show="addressBookForm.newaddress.$invalid && newaddress">
|
||||||
|
<span class="icon-input"><i class="fi-x"></i></span>
|
||||||
|
Not valid
|
||||||
|
</span>
|
||||||
|
<small class="icon-input right" ng-show="!addressBookForm.newaddress.$invalid && newaddress"><i class="fi-check"></i></small>
|
||||||
</div>
|
</div>
|
||||||
<span class="size-14 text-warning">
|
|
||||||
{{error}}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="row collapse">
|
|
||||||
<label for="newaddress" class="left"><span translate>Address</span>
|
|
||||||
<small translate ng-hide="!addressBookForm.newaddress.$pristine || newaddress">Required</small>
|
|
||||||
</label>
|
|
||||||
<span translate class="has-error right size-12" ng-show="addressBookForm.newaddress.$invalid && newaddress">
|
|
||||||
<span class="icon-input"><i class="fi-x"></i></span>
|
|
||||||
Not valid
|
|
||||||
</span>
|
|
||||||
<small class="icon-input right" ng-show="!addressBookForm.newaddress.$invalid && newaddress"><i class="fi-check"></i></small>
|
|
||||||
</div>
|
|
||||||
<div class="input">
|
|
||||||
<input type="text" name="newaddress"
|
|
||||||
placeholder="{{'Address'|translate}}" ng-model="newaddress" valid-address required>
|
|
||||||
<i class="fi-address-book"></i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<label for="newlabel"><span translate>Label</span>
|
|
||||||
<small translate ng-hide="!addressBookForm.newlabel.$pristine || newlabel">Required</small>
|
|
||||||
<div class="input">
|
<div class="input">
|
||||||
<input type="text" name="newlabel"
|
<input type="text" name="newaddress"
|
||||||
placeholder="{{'Label'|translate}}" ng-model="newlabel" required>
|
placeholder="{{'Address'|translate}}" ng-model="newaddress" valid-address required>
|
||||||
<i class="icon-pricetag"></i>
|
<i class="fi-address-book"></i>
|
||||||
</div>
|
</div>
|
||||||
</label>
|
|
||||||
<a translate class="m0 button secondary small default" ng-click="cancel()">Back</a>
|
<label for="newlabel"><span translate>Label</span>
|
||||||
<input type="submit" class="m0 button small primary right"
|
<small translate ng-hide="!addressBookForm.newlabel.$pristine || newlabel">Required</small>
|
||||||
ng-disabled="addressBookForm.$invalid || loading"
|
<div class="input">
|
||||||
value="{{'Add'|translate}}">
|
<input type="text" name="newlabel"
|
||||||
</form>
|
placeholder="{{'Label'|translate}}" ng-model="newlabel" required>
|
||||||
|
<i class="icon-pricetag"></i>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
<a translate class="m0 button secondary small default" ng-click="cancel(addressBookForm)">Back</a>
|
||||||
|
<input type="submit" class="m0 button small primary right"
|
||||||
|
ng-disabled="addressBookForm.$invalid || loading"
|
||||||
|
value="{{'Add'|translate}}">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="close-reveal-modal" ng-click="close()">×</a>
|
<div class="large-12 columns" ng-show="!showForm">
|
||||||
|
<a class="button primary expand" ng-click="toggleForm()"><i class="fi-plus"></i> Add entry</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
<div class="text-center">
|
<div class="text-right">
|
||||||
|
<a class="close-reveal-modal" ng-click="cancel()">Close</a>
|
||||||
|
</div>
|
||||||
|
<div class="text-center m20t">
|
||||||
<qrcode size="220" data="{{address.address}}"></qrcode>
|
<qrcode size="220" data="{{address.address}}"></qrcode>
|
||||||
|
|
||||||
<div class="m10t" ng-init="label = $root.wallet.addressBook[address.address].label">
|
<div class="m10t" ng-init="label = $root.wallet.addressBook[address.address].label">
|
||||||
|
@ -10,4 +13,3 @@
|
||||||
</b>
|
</b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a class="close-reveal-modal" ng-click="cancel()">×</a>
|
|
||||||
|
|
Loading…
Reference in New Issue