[DASHBOARD] More work and samples
This commit is contained in:
parent
746c2ef70c
commit
a980773ae6
@ -1,7 +1,7 @@
|
|||||||
{if $smarty.session.AUTHENTICATED|default}
|
{if $smarty.session.AUTHENTICATED|default}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{include file="dashboard/overview.tpl"}
|
{include file="dashboard/overview.tpl"}
|
||||||
{include file="dashboard/system_stats.tpl"}
|
{include file="dashboard/round_stats.tpl"}
|
||||||
{include file="dashboard/account_data.tpl"}
|
{include file="dashboard/account_data.tpl"}
|
||||||
</div>
|
</div>
|
||||||
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}
|
{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 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 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 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
|
// Sparkline options applied to all graphs
|
||||||
var sparklineOptions = {
|
var sparklineBarOptions = {
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
barColor: 'green',
|
|
||||||
height: '35',
|
height: '35',
|
||||||
barWidth: 6,
|
barWidth: 6,
|
||||||
barSpacing: 2,
|
barSpacing: 2,
|
||||||
chartRangeMin: 0
|
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
|
// Draw our sparkline graphs with our current static content
|
||||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
|
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
|
||||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
|
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
|
||||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
|
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
|
||||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
|
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
|
||||||
|
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
|
||||||
|
|
||||||
function refreshInformation(data) {
|
function refreshInformation(data) {
|
||||||
// Drop one value, add the latest new one to each array
|
// Drop one value, add the latest new one to each array
|
||||||
@ -39,12 +48,15 @@ $(document).ready(function(){
|
|||||||
storedPoolHashrate.shift();
|
storedPoolHashrate.shift();
|
||||||
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0))
|
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0))
|
||||||
storedPoolWorkers.shift();
|
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
|
// Redraw all bar graphs
|
||||||
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineOptions);
|
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
|
||||||
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineOptions);
|
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
|
||||||
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineOptions);
|
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
|
||||||
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineOptions);
|
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
|
||||||
|
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Refresh other static numbers on the template
|
// 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-poolhashrate').html((parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(0)));
|
||||||
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
|
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
|
||||||
$('#b-yvalid').html(number_format(data.getdashboarddata.data.personal.shares.valid));
|
$('#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-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-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)");
|
$('#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 minutes = Math.floor(data.getdashboarddata.data.network.esttimeperblock / 60);
|
||||||
var seconds = Math.floor(data.getdashboarddata.data.network.esttimeperblock - minutes * 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-esttimeperblock').html(minutes + " minutes " + seconds + " seconds"); // <- this needs some nicer format
|
||||||
$('#b-nblock').html(data.getdashboarddata.data.network.block);
|
$('#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 }
|
{/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }
|
||||||
$('#b-payout').html(number_format(data.getdashboarddata.data.personal.estimates.payout, 8));
|
$('#b-payout').html(number_format(data.getdashboarddata.data.personal.estimates.payout, 8));
|
||||||
$('#b-block').html(number_format(data.getdashboarddata.data.personal.estimates.block, 8));
|
$('#b-block').html(number_format(data.getdashboarddata.data.personal.estimates.block, 8));
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="panel panel-info">
|
<div class="panel panel-info">
|
||||||
<div class="panel-heading">
|
<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>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<ul class="sparklines-stats list-justified">
|
<ul class="sparklines-stats list-justified">
|
||||||
@ -33,10 +33,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="pool-workers-bar chart"></div>
|
<div class="pool-workers-bar chart"></div>
|
||||||
</li>
|
</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>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer">
|
<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>
|
</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