[DASHBOARD] More work and samples
This commit is contained in:
parent
746c2ef70c
commit
a980773ae6
@ -1,7 +1,7 @@
|
||||
{if $smarty.session.AUTHENTICATED|default}
|
||||
<div class="row">
|
||||
{include file="dashboard/overview.tpl"}
|
||||
{include file="dashboard/system_stats.tpl"}
|
||||
{include file="dashboard/round_stats.tpl"}
|
||||
{include file="dashboard/account_data.tpl"}
|
||||
</div>
|
||||
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}
|
||||
|
||||
@ -13,22 +13,31 @@ $(document).ready(function(){
|
||||
var storedPersonalSharerate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.userdata.sharerate|number_format:"2"}{literal} ];
|
||||
var storedPoolHashrate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.hashrate|number_format:"0"}{literal} ];
|
||||
var storedPoolWorkers = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.workers}{literal} ];
|
||||
var storedCoinPrice = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.price}{literal} ];
|
||||
|
||||
// Sparkline options applied to all graphs
|
||||
var sparklineOptions = {
|
||||
var sparklineBarOptions = {
|
||||
type: 'bar',
|
||||
barColor: 'green',
|
||||
height: '35',
|
||||
barWidth: 6,
|
||||
barSpacing: 2,
|
||||
chartRangeMin: 0
|
||||
};
|
||||
|
||||
// Sparkline options applied to line graphs
|
||||
var sparklineLineOptions = {
|
||||
height: '35',
|
||||
chartRangeMin: 0,
|
||||
composite: false,
|
||||
lineColor: 'black'
|
||||
};
|
||||
|
||||
// Draw our sparkline graphs with our current static content
|
||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
|
||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
|
||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
|
||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
|
||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
|
||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
|
||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
|
||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
|
||||
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
|
||||
|
||||
function refreshInformation(data) {
|
||||
// Drop one value, add the latest new one to each array
|
||||
@ -39,12 +48,15 @@ $(document).ready(function(){
|
||||
storedPoolHashrate.shift();
|
||||
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0))
|
||||
storedPoolWorkers.shift();
|
||||
storedPoolWorkers.push(data.getdashboarddata.data.pool.workers);
|
||||
storedPoolWorkers.push(parseFloat(data.getdashboarddata.data.pool.workers).toFixed(8));
|
||||
storedCoinPrice.shift();
|
||||
storedCoinPrice.push(parseFloat(data.getdashboarddata.data.pool.price).toFixed(8));
|
||||
// Redraw all bar graphs
|
||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
|
||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
|
||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
|
||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
|
||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
|
||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
|
||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
|
||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
|
||||
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
|
||||
}
|
||||
|
||||
// Refresh other static numbers on the template
|
||||
@ -55,16 +67,18 @@ $(document).ready(function(){
|
||||
$('#b-poolhashrate').html((parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0)));
|
||||
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
|
||||
$('#b-yvalid').html(number_format(data.getdashboarddata.data.personal.shares.valid));
|
||||
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid) + " (" + number_format(data.getdashboarddata.data.personal.shares.invalid_percent, 2) + "%)" );
|
||||
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid));
|
||||
$('#b-yefficiency').html(number_format(100 - data.getdashboarddata.data.personal.shares.invalid_percent, 2) + "%");
|
||||
$('#b-pvalid').html(number_format(data.getdashboarddata.data.pool.shares.valid));
|
||||
$('#b-pivalid').html(number_format(data.getdashboarddata.data.pool.shares.invalid) + " (" + number_format(data.getdashboarddata.data.pool.shares.invalid_percent, 2) + "%)" );
|
||||
$('#b-pivalid').html(number_format(data.getdashboarddata.data.pool.shares.invalid));
|
||||
$('#b-pefficiency').html(number_format(100 - data.getdashboarddata.data.pool.shares.invalid_percent, 2) + "%");
|
||||
$('#b-diff').html(number_format(data.getdashboarddata.data.network.difficulty, 8));
|
||||
$('#b-nextdiff').html(number_format(data.getdashboarddata.data.network.nextdifficulty, 8) + " (Change in " + data.getdashboarddata.data.network.blocksuntildiffchange + " Blocks)");
|
||||
var minutes = Math.floor(data.getdashboarddata.data.network.esttimeperblock / 60);
|
||||
var seconds = Math.floor(data.getdashboarddata.data.network.esttimeperblock - minutes * 60);
|
||||
$('#b-esttimeperblock').html(minutes + " minutes " + seconds + " seconds"); // <- this needs some nicer format
|
||||
$('#b-nblock').html(data.getdashboarddata.data.network.block);
|
||||
$('#b-target').html(number_format(data.getdashboarddata.data.pool.shares.estimated) + " (done: " + data.getdashboarddata.data.pool.shares.progress + "%)" );
|
||||
$('#b-roundprogress').html(number_format(data.getdashboarddata.data.pool.shares.progress + "%" ));
|
||||
{/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }
|
||||
$('#b-payout').html(number_format(data.getdashboarddata.data.personal.estimates.payout, 8));
|
||||
$('#b-block').html(number_format(data.getdashboarddata.data.personal.estimates.block, 8));
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title"><i class="fa fa-align-left fa-fw"></i> Overview {if $GLOBAL.config.price.currency}{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}: <span id="b-price">{$GLOBAL.price|number_format:"8"|default:"0"}</span>{/if}</h4>
|
||||
<h4 class="panel-title"><i class="fa fa-align-left fa-fw"></i> Statistics
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul class="sparklines-stats list-justified">
|
||||
@ -33,10 +33,19 @@
|
||||
</div>
|
||||
<div class="pool-workers-bar chart"></div>
|
||||
</li>
|
||||
{if $GLOBAL.config.price.currency != ""}
|
||||
<li class="bg-default">
|
||||
<div class="sparklines-stats-showcase">
|
||||
<span>{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}</span>
|
||||
<h2 id="b-price">{$GLOBAL.price|default:"0"|number_format:"8"}</h2>
|
||||
</div>
|
||||
<div class="coin-price-line chart"></div>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Hashrate based on shares submitted in the past {$INTERVAL|default:"5"} minutes.
|
||||
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Estimates, based on shares submitted in the past {$INTERVAL|default:"5"} minutes.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
56
public/templates/bootstrap/dashboard/round_stats.tpl
Normal file
56
public/templates/bootstrap/dashboard/round_stats.tpl
Normal file
@ -0,0 +1,56 @@
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">
|
||||
<i class="fa fa-align-left fa-fw"></i> Round statistics
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<div class="row text-center">
|
||||
<div class="col-xs-4 b-r">
|
||||
<p id="b-nblock" class="h4 font-bold m-t">{$NETWORK.block}</p>
|
||||
<p class="text-muted">Current Block</p>
|
||||
</div>
|
||||
<div class="col-xs-4 b-r">
|
||||
<p id="b-roundprogress" class="h4 font-bold m-t">{$ESTIMATES.percent}</p>
|
||||
<p class="text-muted">Of Expected Shares</p>
|
||||
</div>
|
||||
<div class="col-xs-4 b-r">
|
||||
<p id="b-payout" class="h4 font-bold m-t">{$GLOBAL.userdata.estimates.payout|number_format:"8"}</p>
|
||||
<p class="text-muted">Estimated Earnings</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table m-b-none text-small">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><h4><i class="fa fa-cloud fa-hw"></i> Round Shares</h4></th>
|
||||
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4><i class="fa fa-thumbs-up fa-hw"></i> Valid</h4></th>
|
||||
<th style="color:#B94A48;background-color:#F2DEDE;"><h4><i class="fa fa-thumbs-down fa-hw"></i> Invalid</h4></th>
|
||||
<th style="color:#3A87AD;background-color:#D9EDF7;"><h4><i class="fa fa-dot-circle-o fa-hw"></i> Efficiency</h4></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><h4>My Shares</h4></td>
|
||||
<td style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-yvalid">{$GLOBAL.userdata.shares.valid|number_format}</h4></td>
|
||||
<td style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-yivalid">{$GLOBAL.userdata.shares.invalid|number_format}</h4></td>
|
||||
<td style="color:#3A87AD;background-color:#D9EDF7;">
|
||||
<h4 id="b-yefficiency">{if $GLOBAL.userdata.shares.valid > 0}{(100 - ($GLOBAL.userdata.shares.invalid / ($GLOBAL.userdata.shares.valid + $GLOBAL.userdata.shares.invalid) * 100))|number_format:"2"}%{else}0.00%{/if}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4>Pool Shares</h4></td>
|
||||
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-pvalid">{$GLOBAL.roundshares.valid|number_format}</h4></td>
|
||||
<td style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-pivalid">{$GLOBAL.roundshares.invalid|number_format}</h4></td>
|
||||
<td style="color:#3A87AD;background-color:#D9EDF7;">
|
||||
<h4 id="b-pefficiency">{if $GLOBAL.roundshares.valid > 0}{(100 - ($GLOBAL.roundshares.invalid / ($GLOBAL.roundshares.valid + $GLOBAL.roundshares.invalid) * 100))|number_format:"2"}%{else}0.00%{/if}<h4>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="panel-footer">
|
||||
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user