Merge pull request #80 from bechi/feature/01transaction-page
transaction page
This commit is contained in:
commit
dbe5d56279
|
@ -34,6 +34,16 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
||||||
padding: 0 0 60px;
|
padding: 0 0 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.m10h {margin: 0 10px;}
|
||||||
|
.m20h {margin: 0 20px;}
|
||||||
|
.m20v {margin: 20px 0;}
|
||||||
|
.m50v {margin: 50px 0;}
|
||||||
|
.m10b {margin-bottom: 10px;}
|
||||||
|
|
||||||
|
.vm {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
.navbar-default {
|
.navbar-default {
|
||||||
background-color: #8DC429;
|
background-color: #8DC429;
|
||||||
border-bottom: 4px solid #64920F;
|
border-bottom: 4px solid #64920F;
|
||||||
|
@ -145,22 +155,45 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
background: #F4F4F4;
|
background: #F4F4F4;
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
padding: 15px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn {
|
||||||
|
margin: 0 5px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
background: #64920F;
|
}
|
||||||
border: 2px solid #557F08;
|
.btn-primary {
|
||||||
|
background: #8DC429;
|
||||||
|
border: 2px solid #76AF0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
|
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
|
||||||
|
.btn-primary.active, .open .dropdown-toggle.btn-primary,
|
||||||
|
.btn-success:hover, .btn-success:focus, .btn-success:active,
|
||||||
|
.btn-success.active, .open .dropdown-toggle.btn-success,
|
||||||
|
.btn-danger:hover, .btn-danger:focus, .btn-danger:active,
|
||||||
|
.btn-danger.active, .open .dropdown-toggle.btn-danger {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border: 2px solid #ccc;
|
border: 2px solid #ccc;
|
||||||
color: #373D42;
|
color: #373D42;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-default {
|
||||||
|
background: #E7E7E7;
|
||||||
|
border: 2px solid #DCDCDC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-success {
|
||||||
|
background: #2FA4D7;
|
||||||
|
border: 2px solid #237FA7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-danger {
|
||||||
|
background: #AC0015;
|
||||||
|
border: 2px solid #6C0000;
|
||||||
|
}
|
||||||
|
|
||||||
/* Set the fixed height of the footer here */
|
/* Set the fixed height of the footer here */
|
||||||
#footer {
|
#footer {
|
||||||
height: 60px;
|
height: 60px;
|
||||||
|
@ -217,7 +250,15 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tx-bg {
|
||||||
|
background-color: #F4F4F4;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 340px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: -9999;
|
||||||
|
}
|
||||||
|
|
||||||
.badge {
|
.badge {
|
||||||
padding: 1px 9px 2px;
|
padding: 1px 9px 2px;
|
||||||
|
|
|
@ -1,35 +1,26 @@
|
||||||
<section data-ng-controller="transactionsController" data-ng-init="findOne()">
|
<section data-ng-controller="transactionsController" data-ng-init="findOne()">
|
||||||
<div class="page-header">
|
|
||||||
<h1>
|
<h1>
|
||||||
Transaction
|
Transaction
|
||||||
<small>View information about a bitcoin transaction</small>
|
<small>View information about a bitcoin transaction</small>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="well well-sm">
|
<div class="block-tx">
|
||||||
{{tx.txid}}
|
<div class="line-bot">
|
||||||
</div>
|
<a href="/#!/tx/{{tx.txid}}">{{tx.txid}}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table class="table table-striped">
|
<div class="row m10b">
|
||||||
<thead>
|
|
||||||
<tr>
|
<div class="col-md-5">
|
||||||
<th>Input</th>
|
|
||||||
<th> </th>
|
|
||||||
<th>Output</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td width="45%">
|
|
||||||
<ul class="list-unstyled" data-ng-repeat="vin in tx.vin" data-ng-show="!tx.isCoinBase">
|
<ul class="list-unstyled" data-ng-repeat="vin in tx.vin" data-ng-show="!tx.isCoinBase">
|
||||||
<li>
|
<li>
|
||||||
<span data-ng-show="!vin.addr">Address could not be parsed</span>
|
<a class="m10h vm lead glyphicon glyphicon-circle-arrow-left" href="/#!/tx/{{vin.txid}}" alt="Outpoint: {{vin.txid}},{{vin.vout}}" data-toggle="tooltip" title="Outpoint: {{vin.txid}},{{vin.vout}}">
|
||||||
<a data-ng-show="vin.addr" href="/#!/address/{{vin.addr}}">{{vin.addr}}</a>
|
</a>
|
||||||
<span class="pull-right badge">{{vin.value}} BTC</span>
|
<span data-ng-show="!vin.addr">Address could not be parsed</span>
|
||||||
|
<a data-ng-show="vin.addr" href="/#!/address/{{vin.addr}}">{{vin.addr}}</a>
|
||||||
|
<span class="pull-right badge">{{vin.value}} BTC</span>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
|
||||||
Outpoint: <a href="/#!/tx/{{vin.txid}}">{{vin.txid}},{{vin.vout}}</a>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div data-ng-show="tx.isCoinBase">
|
<div data-ng-show="tx.isCoinBase">
|
||||||
<ul class="list-unstyled" data-ng-repeat="vinn in tx.vin">
|
<ul class="list-unstyled" data-ng-repeat="vinn in tx.vin">
|
||||||
|
@ -39,90 +30,82 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</div>
|
||||||
<td width="10%" style="text-align: center;"><span class="glyphicon glyphicon-chevron-right"> </span></td>
|
|
||||||
<td width="45%">
|
|
||||||
<table class="table table-condensed">
|
|
||||||
<tbody>
|
|
||||||
<tr data-ng-repeat="vout in tx.vout">
|
|
||||||
<td><b>{{vout.scriptPubKey.type}}</b></td>
|
|
||||||
<td>
|
|
||||||
<ul class="list-unstyled" data-ng-repeat="addr in vout.scriptPubKey.addresses">
|
|
||||||
<li><a href="/#!/address/{{addr}}">{{addr}}</a> <span class="pull-right badge">{{vout.value}} BTC</span></li>
|
|
||||||
</ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
<tfoot>
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" style="text-align: right;">
|
|
||||||
<button data-ng-show="tx.confirmations" type="button" class="btn btn-primary">
|
|
||||||
{{tx.confirmations}} Confirmations
|
|
||||||
</button>
|
|
||||||
<button data-ng-show="!tx.confirmations" type="button" class="btn btn-danger">
|
|
||||||
Unconfirmed Transaction!
|
|
||||||
</button>
|
|
||||||
<button type="button" class="btn btn-success">{{tx.valueOut}} BTC</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="col-md-2 text-center">
|
||||||
<div class="col-md-6">
|
<span class="glyphicon glyphicon-chevron-right lead"></span>
|
||||||
<div class="panel panel-default">
|
</div>
|
||||||
<div class="panel-heading">
|
|
||||||
<h3 class="panel-title">Summary</h3>
|
<div class="col-md-5" data-ng-repeat="vout in tx.vout">
|
||||||
</div>
|
<div class="row m10b">
|
||||||
<div class="panel-body">
|
<div class="col-md-3">
|
||||||
<table class="table table-striped">
|
<b>{{vout.scriptPubKey.type}}</b>
|
||||||
<tbody>
|
</div>
|
||||||
<tr>
|
<div class="col-md-9">
|
||||||
<td>Size</td>
|
<ul class="list-unstyled" data-ng-repeat="addr in vout.scriptPubKey.addresses">
|
||||||
<td>{{tx.size}} (bytes)</td>
|
<li>
|
||||||
</tr>
|
<a class="ellipsis pull-left" style="width:200px;" href="/#!/address/{{addr}}">{{addr}}</a>
|
||||||
<tr>
|
<span class="pull-right badge">{{vout.value}} BTC</span>
|
||||||
<td>Received Time</td>
|
</li>
|
||||||
<td>{{tx.time * 1000|date:'medium'}}</td>
|
</ul>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
|
||||||
<td>Block</td>
|
|
||||||
<td><a href="/#!/block/{{tx.blockhash}}">Block</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="panel panel-default" data-ng-show="!tx.isCoinBase">
|
<div class="line-top">
|
||||||
<div class="panel-heading">
|
<small class="text-muted">Feeds: {{tx.feeds}}</small>
|
||||||
<h3 class="panel-title">Inputs and Outputs</h3>
|
<div class="pull-right">
|
||||||
</div>
|
<button data-ng-show="tx.confirmations" type="button" class="btn btn-success">
|
||||||
<div class="panel-body">
|
{{tx.confirmations}} Confirmations
|
||||||
<table class="table table-striped">
|
</button>
|
||||||
<tbody>
|
<button data-ng-show="!tx.confirmations" type="button" class="btn btn-danger">
|
||||||
<tr>
|
Unconfirmed Transaction!
|
||||||
<td>Total Input</td>
|
</button>
|
||||||
<td>{{tx.valueIn}} BTC</td>
|
<button type="button" class="btn btn-primary">{{tx.valueOut}} BTC</button>
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Total Output</td>
|
|
||||||
<td>{{tx.valueOut}} BTC</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Fees</td>
|
|
||||||
<td>{{tx.feeds}} BTC</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div><!-- END OF BLOCK-TX -->
|
||||||
|
|
||||||
|
<div class="row m50v">
|
||||||
|
<div data-ng-class="{'col-md-6':!tx.isCoinBase}">
|
||||||
|
<h3>Summary</h3>
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><strong> Size </strong></td>
|
||||||
|
<td class="text-muted text-right">{{tx.size}} (bytes)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Received Time </strong></td>
|
||||||
|
<td class="text-muted text-right">{{tx.time * 1000|date:'medium'}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Block </strong></td>
|
||||||
|
<td class="text-muted text-right"><a href="/#!/block/{{tx.blockhash}}">Block</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6" data-ng-show="!tx.isCoinBase">
|
||||||
|
<h3>Inputs and Outputs</h3>
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Total Input</strong></td>
|
||||||
|
<td class="text-muted text-right">{{tx.valueIn}} BTC</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Total Output</strong></td>
|
||||||
|
<td class="text-muted text-right">{{tx.valueOut}} BTC</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Fees</strong></td>
|
||||||
|
<td class="text-muted text-right">{{tx.feeds}} BTC</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue