+ transaction details with explorer redirection
+ sorting and floating header for wallets and address book + detect geth crash and notify the user
This commit is contained in:
@@ -1,67 +1,74 @@
|
||||
<div id="walletsToolbar">
|
||||
<button type="button" class="btn btn-etho" id="btnNewAddress"><i class="fas fa-plus"></i></button>
|
||||
<button type="button" class="btn btn-etho" id="btnNewAddress">
|
||||
<i class="fas fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="addressList" class="{{#if addressData.length}}addressWrapper{{else}}noAddressWrapper{{/if}}">
|
||||
{{#if addressData.length}}
|
||||
<table class="bordered" id="addressTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"></th>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">Address</th>
|
||||
<th scope="col">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#addressData}}
|
||||
<tr>
|
||||
<th scope="row" class="colEdit"><button type="button" class="btn btn-etho btnChangAddressName" data-address="{{address}}" data-name="{{name}}">Edit</button></th>
|
||||
<td>{{name}}</td>
|
||||
<td><span class="textAddress">{{address}}</span></td>
|
||||
<td><button type="button" class="btn btn-etho btnDeleteAddress" data-address="{{address}}"><i class="far fa-trash-alt"></i></button></td>
|
||||
</tr>
|
||||
{{/addressData}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<div id="noAddressPresent">You don't have any addresses, create a new one</div>
|
||||
{{/if}}
|
||||
{{#if addressData.length}}
|
||||
<table class="bordered" id="addressTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" data-sort-method='none'></th>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">Address</th>
|
||||
<th scope="col" data-sort-method='none'>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#addressData}}
|
||||
<tr>
|
||||
<th scope="row" class="colEdit">
|
||||
<button type="button" class="btn btn-etho btnChangAddressName" data-address="{{address}}" data-name="{{name}}">Edit</button>
|
||||
</th>
|
||||
<td>{{name}}</td>
|
||||
<td>
|
||||
<span class="textAddress">{{address}}</span></td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-etho btnDeleteAddress" data-address="{{address}}">
|
||||
<i class="far fa-trash-alt"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
{{/addressData}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<div id="noAddressPresent">You don't have any addresses, create a new one</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div id="dlgCreateAddressAndName" class="modalDialog" data-iziModal-title="Create new address" data-iziModal-subtitle="Enter the name and the address" data-iziModal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="addressName">Address Name:</label>
|
||||
<input type="text" class="form-control" id="addressName">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="addressHash">Address Hash:</label>
|
||||
<input type="text" class="form-control" id="addressHash">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnCreateAddressConfirm">Confirm</button>
|
||||
|
||||
<div id="dlgCreateAddressAndName" class="modalDialog" data-izimodal-title="Create new address" data-izimodal-subtitle="Enter the name and the address" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="addressName">Address Name:</label>
|
||||
<input type="text" class="form-control" id="addressName">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="addressHash">Address Hash:</label>
|
||||
<input type="text" class="form-control" id="addressHash">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnCreateAddressConfirm">Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- The modal to change address name -->
|
||||
<div id="dlgChangeAddressName" class="modalDialog" data-iziModal-title="Address Name" data-iziModal-subtitle="Enter the name for this address" data-iziModal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="usr">Type Name:</label>
|
||||
<input type="text" class="form-control" id="inputAddressName">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnChangeAddressNameConfirm">Confirm</button>
|
||||
<div id="dlgChangeAddressName" class="modalDialog" data-izimodal-title="Address Name" data-izimodal-subtitle="Enter the name for this address" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="usr">Type Name:</label>
|
||||
<input type="text" class="form-control" id="inputAddressName">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnChangeAddressNameConfirm">Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- The modal for delete confirmation -->
|
||||
<div id="dlgDeleteAddressConfirm" class="modalDialog" data-iziModal-title="Application Error" data-iziModal-subtitle="Something went wrong, don't kill the fish..." data-iziModal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<span>Do you really want to delete the address?</span>
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-cancel" id="btnDeleteAddressCancel">No</button>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnDeleteAddressConfirm">Yes</button>
|
||||
<div id="dlgDeleteAddressConfirm" class="modalDialog" data-izimodal-title="Application Error" data-izimodal-subtitle="Something went wrong, don't kill the fish..." data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<span>Do you really want to delete the address?</span>
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-cancel" id="btnDeleteAddressCancel">No</button>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnDeleteAddressConfirm">Yes</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,110 +1,120 @@
|
||||
<div class="sendWrapper">
|
||||
<div class="card-panel">
|
||||
<form class="col s12">
|
||||
<div class="row">
|
||||
<div class="input-field col s6">
|
||||
<select id="sendFromAddress">
|
||||
<option value="" disabled selected>Choose your address</option>
|
||||
{{#addressData}}
|
||||
<option value="{{address}}">{{name}} - {{address}}</option>
|
||||
{{/addressData}}
|
||||
</select>
|
||||
<label for="sendFromAddress">From address:</label>
|
||||
<small id="sendFromAddressName" class="form-text text-muted"></small>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<label for="sendToAddress" class="active">To address:</label>
|
||||
<div class="addressInputWrapper">
|
||||
<input id="sendToAddress" placeholder="recipient address" type="text">
|
||||
<button type="button" class="btn btn-etho btnSendToolButton" id="btnAddToAddressBook"><i class="fas fa-plus"></i></button>
|
||||
<button type="button" class="btn btn-etho btnSendToolButton" id="btnLookForToAddress"><i class="fas fa-search"></i></button>
|
||||
</div>
|
||||
<small id="sendToAddressName" class="form-text text-muted"></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s6">
|
||||
<input id="sendAmmount" placeholder="0" type="number" value="0">
|
||||
<label for="sendAmmount" class="active">Amount:</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<div class="input-field col s12">
|
||||
<span id="sendMaxAmmount">0</span><span>ETHO</span>
|
||||
<button type="button" class="btn btn-etho" id="btnSendAll">ALL</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<button type="button" class="btn btn-etho" id="btnSendTransaction">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="cardTransactionsForAddress" class="card-panel" style="display: none;">
|
||||
<table id="tableTransactionsForAddress" class="display" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-panel">
|
||||
<form class="col s12">
|
||||
<div class="row">
|
||||
<div class="input-field col s6">
|
||||
<select id="sendFromAddress">
|
||||
<option value="" disabled="disabled" selected="selected">Choose your address</option>
|
||||
{{#addressData}}
|
||||
<option value="{{address}}">{{name}}
|
||||
-
|
||||
{{address}}</option>
|
||||
{{/addressData}}
|
||||
</select>
|
||||
<label for="sendFromAddress">From address:</label>
|
||||
<small id="sendFromAddressName" class="form-text text-muted"></small>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<label for="sendToAddress" class="active">To address:</label>
|
||||
<div class="addressInputWrapper">
|
||||
<input id="sendToAddress" placeholder="recipient address" type="text">
|
||||
<button type="button" class="btn btn-etho btnSendToolButton" id="btnAddToAddressBook">
|
||||
<i class="fas fa-plus"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-etho btnSendToolButton" id="btnLookForToAddress">
|
||||
<i class="fas fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
<small id="sendToAddressName" class="form-text text-muted"></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s6">
|
||||
<input id="sendAmmount" placeholder="0" type="number" value="0">
|
||||
<label for="sendAmmount" class="active">Amount:</label>
|
||||
</div>
|
||||
<div class="input-field col s6">
|
||||
<div class="input-field col s12">
|
||||
<span id="sendMaxAmmount">0</span><span>ETHO</span>
|
||||
<button type="button" class="btn btn-etho" id="btnSendAll">ALL</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<button type="button" class="btn btn-etho" id="btnSendTransaction">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="cardTransactionsForAddress" class="card-panel" style="display: none;">
|
||||
<table id="tableTransactionsForAddress" class="display" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- The modal for wallet password -->
|
||||
<div id="dlgSendWalletPassword" class="modalDialog" data-iziModal-title="Wallet Password" data-iziModal-subtitle="To send from this wallet, please enter the wallet password" data-iziModal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>From address:</label><label id="fromAddressInfo"></label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>To address:</label><label id="toAddressInfo"></label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
<label>Value to send:</label><label id="valueToSendInfo"></label><label class="currencyTicker">ETHO</label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
<label>Fee to pay:</label><label id="feeToPayInfo"></label><label class="currencyTicker">ETHO</label>
|
||||
</div>
|
||||
<hr class="sendTXdivider">
|
||||
<div class="form-group sendTXPass">
|
||||
<label for="usr">Type Password:</label>
|
||||
<input type="password" class="form-control" id="walletPassword">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnSendWalletPasswordConfirm">Confirm</button>
|
||||
<!-- send details dialog -->
|
||||
<div id="dlgSendWalletPassword" class="modalDialog" data-izimodal-title="Wallet Password" data-izimodal-subtitle="To send from this wallet, please enter the wallet password" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>From address:</label>
|
||||
<label id="fromAddressInfo"></label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>To address:</label>
|
||||
<label id="toAddressInfo"></label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
<label>Value to send:</label>
|
||||
<label id="valueToSendInfo"></label>
|
||||
<label class="currencyTicker">ETHO</label>
|
||||
</div>
|
||||
<div class="form-group sendTXInfo">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
<label>Fee to pay:</label>
|
||||
<label id="feeToPayInfo"></label>
|
||||
<label class="currencyTicker">ETHO</label>
|
||||
</div>
|
||||
<hr class="sendTXdivider">
|
||||
<div class="form-group sendTXPass">
|
||||
<label for="usr">Type Password:</label>
|
||||
<input type="password" class="form-control" id="walletPassword">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnSendWalletPasswordConfirm">Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- The modal for address list -->
|
||||
<div id="dlgAddressList" class="modalDialog" data-iziModal-title="AddressList" data-iziModal-subtitle="Please select an address from the list" data-iziModal-icon="icon-home">
|
||||
<div class="modalBody" id="dlgAddressListBody">
|
||||
</div>
|
||||
<div id="dlgAddressList" class="modalDialog" data-izimodal-title="AddressList" data-izimodal-subtitle="Please select an address from the list" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody" id="dlgAddressListBody"></div>
|
||||
</div>
|
||||
|
||||
<!-- The modal to add address to address book -->
|
||||
<div id="dlgAddAddressToBook" class="modalDialog" data-iziModal-title="Address Name" data-iziModal-subtitle="Enter the name for this address" data-iziModal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="usr">Address Name:</label>
|
||||
<input type="text" class="form-control" id="inputAddressName">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnAddAddressToBookConfirm">Confirm</button>
|
||||
<div id="dlgAddAddressToBook" class="modalDialog" data-izimodal-title="Address Name" data-izimodal-subtitle="Enter the name for this address" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group">
|
||||
<label for="usr">Address Name:</label>
|
||||
<input type="text" class="form-control" id="inputAddressName">
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnAddAddressToBookConfirm">Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,38 +1,77 @@
|
||||
<div id="transactionsWrapper">
|
||||
<!----<button type="button" class="btn btn-etho" id="btnRefreshTransactions">Refresh</button>-->
|
||||
<table id="tableTransactionsForAll" class="display tableTransactions" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>From</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>From</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<!----<button type="button" class="btn btn-etho" id="btnRefreshTransactions">Refresh</button>-->
|
||||
<table id="tableTransactionsForAll" class="display tableTransactions" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>TxHash</th>
|
||||
<th>From</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Block</th>
|
||||
<th>Timestamp</th>
|
||||
<th>From</th>
|
||||
<th>TxHash</th>
|
||||
<th>To</th>
|
||||
<th>Value</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- transaction details dialog -->
|
||||
<div id="dlgTransactionInfo" class="modalDialog" data-izimodal-title="Transaction Info" data-izimodal-subtitle="Detailed info about the selected transaction" data-izimodal-icon="icon-home">
|
||||
<div class="modalBody">
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>Block height:</label>
|
||||
<label id="txBlockHeight"></label>
|
||||
</div>
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>TX Timestamp:</label>
|
||||
<label id="txTimestamp"></label>
|
||||
</div>
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>TX hash:</label>
|
||||
<a id="txHash"></a>
|
||||
</div>
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>From address:</label>
|
||||
<a id="txFromAddress"></a>
|
||||
</div>
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-wallet"></i>
|
||||
<label>To address:</label>
|
||||
<a id="txToAddress"></a>
|
||||
</div>
|
||||
<div class="form-group txInfo">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
<label>Value:</label>
|
||||
<label id="txValue"></label>
|
||||
<label class="currencyTicker">ETHO</label>
|
||||
</div>
|
||||
<button type="button" class="btn btn-etho btn-dialog-confirm" id="btnTxInfoClose">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="loadingOverlay" id="loadingTransactionsOverlay">
|
||||
<div class="loadingWrapper">
|
||||
<div class="loadingTextTransactions">Transaction are loading, please wait...</div>
|
||||
<div class='spinner'>
|
||||
<div class='bounce bounce1'></div>
|
||||
<div class='bounce bounce2'></div>
|
||||
<div class='bounce bounce3'></div>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
<div class="loadingWrapper">
|
||||
<div class="loadingTextTransactions">Transaction are loading, please wait...</div>
|
||||
<div class='spinner'>
|
||||
<div class='bounce bounce1'></div>
|
||||
<div class='bounce bounce2'></div>
|
||||
<div class='bounce bounce3'></div>
|
||||
</div>
|
||||
<div></div>
|
||||
|
||||
Reference in New Issue
Block a user