[UPDATE] Login Icons/Dashboard Auto Resize (easyer to work with for adding sparks)

This commit is contained in:
nrpatten 2014-03-09 23:42:56 -07:00
parent 7c1e9b4072
commit afd9fb2aba
21 changed files with 189 additions and 107 deletions

0
public/site_assets/bootstrap/css/bootstrap.css vendored Normal file → Executable file
View File

2
public/site_assets/bootstrap/css/bootstrap.min.css vendored Normal file → Executable file

File diff suppressed because one or more lines are too long

44
public/site_assets/bootstrap/css/mpos.css Normal file → Executable file
View File

@ -323,3 +323,47 @@ table.dataTable thead .sorting:after {
.borderless > tbody > tr > td {
border: none;
}
span.confirmed {
width: auto;
color: #468847;
background-color: #DFF0D8;
padding: 0px 4px;
border-radius: 4px;
float: right;
}
span.unconfirmed {
width: auto;
color: #B94A48;
background-color: #F2DEDE;
padding: 0px 4px;
border-radius: 4px;
float: right;
}
.footer {
clear: both;
text-align: center;
padding: 4px 0px 0px;
font-size: 11px;
width: 100%;
}
.margin-bottom-sm {
margin-bottom: 5px !important;
}
p.overview {
font-weight: bold;
margin: 0px 0px -3px;
}
span.overview {
font-size: 24px;
font-weight: bold;
}
div.overview {
margin: 20px 0px 0px;
}

0
public/site_assets/bootstrap/css/sparklines.css Normal file → Executable file
View File

0
public/site_assets/bootstrap/js/jquery.cookie.js Normal file → Executable file
View File

0
public/site_assets/bootstrap/js/mpos.js Normal file → Executable file
View File

View File

View File

@ -15,9 +15,6 @@
<p style="padding-left:3px; padding-redight:30px; font-size:10px;">
Please note: a {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} {$GLOBAL.config.currency} transaction will apply when processing "On-Demand" manual payments <span id="tt"><img width="15px" height="15px" title="This {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} manual payment transaction fee is a network fee and goes back into the network not the pool." src="site_assets/mpos/images/questionmark.png"></span>
</p>
<p style="padding-left:3px; padding-redight:30px; font-size:10px;">
Minimum Cashout: {$GLOBAL.config.mp_threshold} {$GLOBAL.config.currency}
</p>
</div>
<div class="form-group">
<label>Account Balance</label>
@ -40,9 +37,7 @@
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="utype" value="withdraw_funds">
{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.withdraw}
{if $GLOBAL.userdata.balance.confirmed|escape < $GLOBAL.config.mp_threshold}
<input type="submit" value="Unlock" class="alt_btn" name="unlock" disabled>
{elseif $WITHDRAWSENT == 1 && $WITHDRAWUNLOCKED == 1}
{if $WITHDRAWSENT == 1 && $WITHDRAWUNLOCKED == 1}
<input type="submit" value="Cash Out" class="btn btn-success">
{elseif $WITHDRAWSENT == 0 && $WITHDRAWUNLOCKED == 1 || $WITHDRAWSENT == 1 && $WITHDRAWUNLOCKED == 0}
<input type="submit" value="Cash Out" class="btn btn-danger" disabled>

0
public/templates/bootstrap/admin/wallet/default.tpl Normal file → Executable file
View File

View File

@ -29,11 +29,15 @@
<tbody>
<tr>
<th>Confirmed</th>
<td class="text-right" id="b-confirmed">{$GLOBAL.userdata.balance.confirmed|number_format:"6"}</th>
<th>
<span class="confirmed" id="b-confirmed">{$GLOBAL.userdata.balance.confirmed|number_format:"6"}</span>
</th>
</tr>
<tr>
<th>Unconfirmed</th>
<td class="text-right" id="b-unconfirmed">{$GLOBAL.userdata.balance.unconfirmed|number_format:"6"}</th>
<th>
<span class="unconfirmed" id="b-unconfirmed">{$GLOBAL.userdata.balance.unconfirmed|number_format:"6"}</span>
</th>
</tr>
</tbody>
</table>

16
public/templates/bootstrap/dashboard/js_api.tpl Normal file → Executable file
View File

@ -12,8 +12,9 @@ $(document).ready(function(){
var storedPersonalHashrate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.userdata.hashrate|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:"2"}{literal} ];
var storedNetHashrate = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.nethashrate|number_format:"2"}{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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {/literal}{$GLOBAL.price}{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 sparklineBarOptions = {
@ -27,8 +28,7 @@ $(document).ready(function(){
// Sparkline options applied to line graphs
var sparklineLineOptions = {
height: '35',
chartRangeMin: {/literal}{$GLOBAL.price}{literal} - 5,
chartRangeMax: {/literal}{$GLOBAL.price}{literal} + 5,
chartRangeMin: 0,
composite: false,
lineColor: 'black'
};
@ -37,10 +37,9 @@ $(document).ready(function(){
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
$('.pool-nethashrate-bar').sparkline(storedNetHashrate, sparklineBarOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
{/literal}{if $GLOBAL.config.price.enabled}{literal}
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
{/literal}{/if}{literal}
function refreshInformation(data) {
// Drop one value, add the latest new one to each array
@ -50,6 +49,8 @@ $(document).ready(function(){
storedPersonalSharerate.push(parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2))
storedPoolHashrate.shift();
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(2))
storedNetHashrate.shift();
storedNetHashrate.push(parseFloat(data.getdashboarddata.data.network.hashrate).toFixed(2))
storedPoolWorkers.shift();
storedPoolWorkers.push(parseFloat(data.getdashboarddata.data.pool.workers).toFixed(8));
storedCoinPrice.shift();
@ -58,17 +59,14 @@ $(document).ready(function(){
$('.personal-hashrate-bar').sparkline(storedPersonalHashrate, sparklineBarOptions);
$('.personal-sharerate-bar').sparkline(storedPersonalSharerate, sparklineBarOptions);
$('.pool-hashrate-bar').sparkline(storedPoolHashrate, sparklineBarOptions);
$('.pool-nethashrate-bar').sparkline(storedNetHashrate, sparklineBarOptions);
$('.pool-workers-bar').sparkline(storedPoolWorkers, sparklineBarOptions);
{/literal}{if $GLOBAL.config.price.enabled}{literal}
$('.coin-price-line').sparkline(storedCoinPrice, sparklineLineOptions);
{/literal}{/if}{literal}
}
// Refresh other static numbers on the template
function refreshStaticData(data) {
{/literal}{if $GLOBAL.config.price.enabled}{literal}
$('#b-price').html((parseFloat(data.getdashboarddata.data.pool.price).toFixed(8)));
{/literal}{/if}{literal}
$('#b-poolworkers').html(data.getdashboarddata.data.pool.workers);
$('#b-hashrate').html((parseFloat(data.getdashboarddata.data.personal.hashrate).toFixed(2)));
$('#b-poolhashrate').html((parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(2)));

41
public/templates/bootstrap/dashboard/overview.tpl Normal file → Executable file
View File

@ -3,43 +3,16 @@
<div class="panel-heading">
<h4 class="panel-title"><i class="fa fa-align-left fa-fw"></i> Overview</span></h4>
</div>
<div class="panel-body text-center {if !$GLOBAL.config.price.enabled}col-md-offset-2{/if}">
<div class="row show-grid ">
<div class="col-md-spark">
<b>My Hashrate {$GLOBAL.hashunits.personal}</b>
<span id="b-hashrate">{$GLOBAL.userdata.hashrate|number_format:"2"}</span>
<br>
<span class="personal-hashrate-bar"></span>
</div>
<div class="col-md-spark">
<b>My Sharerate</b>
<span id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:"2"}</span>
<br>
<span class="personal-sharerate-bar"></span>
</div>
<div class="col-md-spark">
<b>Pool Hashrate {$GLOBAL.hashunits.pool}</b>
<span id="b-poolhashrate">{$GLOBAL.hashrate|number_format:"2"}</span>
<br>
<span class="pool-hashrate-bar"></span>
</div>
<div class="col-md-spark">
<b>Pool Workers</b>
<span id="b-poolhashrate">{$GLOBAL.workers}</span>
<br>
<span class="pool-workers-bar"></span>
</div>
<div class="panel-body text-center">
<div class="row show-grid">
{if $GLOBAL.config.price.enabled}
<div class="col-md-spark">
<b>{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}</b>
<span id="b-price">{$GLOBAL.price|default:"0"|number_format:"8"}</span>
<br>
<span class="coin-price-line"></span>
</div>
{include file="dashboard/overview_price.tpl"}
{else}
{include file="dashboard/overview_no_price.tpl"}
{/if}
</div>
</div>
</div>
<div class="panel-footer">
<div class="panel-footer overview">
Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Hashrate based on shares submitted in the past {$INTERVAL|default:"5"} minutes.
</div>
</div>

View File

@ -0,0 +1,31 @@
<div class="col-md-spark-2">
<p class="overview">My Hashrate {$GLOBAL.hashunits.personal}</p>
<span class="overview" id="b-hashrate">{$GLOBAL.userdata.hashrate|number_format:"2"}</span>
<br>
<span class="personal-hashrate-bar"></span>
</div>
<div class="col-md-spark-2">
<p class="overview">My Sharerate</p>
<span class="overview" id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:"2"}</span>
<br>
<span class="personal-sharerate-bar"></span>
</div>
<div class="col-md-spark-2">
<p class="overview">Pool Hashrate {$GLOBAL.hashunits.pool}</p>
<span class="overview" id="b-poolhashrate">{$GLOBAL.hashrate|number_format:"2"}</span>
<br>
<span class="pool-hashrate-bar"></span>
</div>
<div class="col-md-spark-2">
<p class="overview">Pool Workers</p>
<span class="overview">{$GLOBAL.workers}</span>
<br>
<span class="pool-workers-bar"></span>
</div>
<div class="col-md-spark-2">
<p class="overview">Net Hashrate {$GLOBAL.hashunits.pool}</p>
<span class="overview">{$GLOBAL.hashrate|number_format:"2"}</span>
<br>
<span class="pool-nethashrate-bar"></span>
</div>

View File

@ -0,0 +1,37 @@
<div class="col-md-spark">
<p class="overview">My Hashrate {$GLOBAL.hashunits.personal}</p>
<span class="overview">{$GLOBAL.userdata.hashrate|number_format:"2"}</span>
<br>
<span class="personal-hashrate-bar"></span>
</div>
<div class="col-md-spark">
<p class="overview">My Sharerate</p>
<span class="overview">{$GLOBAL.userdata.sharerate|number_format:"2"}</span>
<br>
<span class="personal-sharerate-bar"></span>
</div>
<div class="col-md-spark">
<p class="overview">Pool Hashrate {$GLOBAL.hashunits.pool}</p>
<span class="overview">{$GLOBAL.hashrate|number_format:"2"}</span>
<br>
<span class="pool-hashrate-bar"></span>
</div>
<div class="col-md-spark">
<p class="overview">Pool Workers</p>
<span class="overview">{$GLOBAL.workers}</span>
<br>
<span class="pool-workers-bar"></span>
</div>
<div class="col-md-spark">
<p class="overview">Net Hashrate {$GLOBAL.hashunits.pool}</p>
<span class="overview">{$GLOBAL.hashrate|number_format:"2"}</span>
<br>
<span class="pool-nethashrate-bar"></span>
</div>
<div class="col-md-spark">
<p class="overview">{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}</p>
<span class="overview">{$GLOBAL.price|default:"0"|number_format:"8"}</span>
<br>
<span class="coin-price-line"></span>
</div>

View File

@ -8,46 +8,47 @@
<div class="panel-footer">
<div class="row text-center">
<div class="col-xs-4 b-r">
<i class="fa fa-th-large fa-2x"></i>
<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">
<i class="fa fa-bar-chart-o fa-flip-horizontal fa-2x"></i>
<p id="b-roundprogress" class="h4 font-bold m-t">{$ESTIMATES.percent|number_format:"2"}%</p>
<p class="text-muted">Of Expected Shares</p>
</div>
<div class="col-xs-4 b-r">
<i class="fa fa-btc fa-2x"></i>
<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>
<p class="text-muted">{$GLOBAL.config.currency} Estimated Earnings</p>
</div>
</div>
</div>
<table class="table table-striped table-bordered table-hover">
<table class="table m-b-none text-small">
<thead>
<tr>
<th></th>
<th><h4><i class="fa fa-thumbs-up fa-hw"></i> Valid</h4></th>
<th><h4><i class="fa fa-thumbs-down fa-hw"></i> Invalid</h4></th>
<th><h4><i class="fa fa-dot-circle-o fa-hw"></i> Efficiency</h4></th>
<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>
<tr>
<th><h4><i class="fa fa-user fa-hw"></i> My Shares</h4></td>
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-yvalid">{$GLOBAL.userdata.shares.valid|number_format}</h4></th>
<th style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-yivalid">{$GLOBAL.userdata.shares.invalid|number_format}</h4></th>
<th 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>
</th>
</tr>
<tr>
<th><h4><i class="fa fa-users fa-hw"></i> Pool Shares</h4></th>
<th style="color:#468847;background-color:rgb(223, 240, 216);"><h4 id="b-pvalid">{$GLOBAL.roundshares.valid|number_format}</h4></th>
<th style="color:#B94A48;background-color:#F2DEDE;"><h4 id="b-pivalid">{$GLOBAL.roundshares.invalid|number_format}</h4></th>
<th 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>
</th>
</tr>
</thead>
<tbody>
<tr>
<td><h4>My Shares</h4></td>
<td><h4 id="b-yvalid">{$GLOBAL.userdata.shares.valid|number_format}</h4></td>
<td><h4 id="b-yivalid">{$GLOBAL.userdata.shares.invalid|number_format}</h4></td>
<td>
<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><h4 id="b-pvalid">{$GLOBAL.roundshares.valid|number_format}</h4></td>
<td><h4 id="b-pivalid">{$GLOBAL.roundshares.invalid|number_format}</h4></td>
<td>
<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.

View File

@ -2,10 +2,7 @@
<div class="footer">
<font size="1">
<center>
Powered by <a href="https://github.com/MPOS/php-mpos">MPOS</a> | Donate to Lge95QR2frp9y1wJufjUPCycVsg5gLJPW8
<br>
Powered by <a href="https://github.com/MPOS/php-mpos">MPOS</a> <i class="fa fa-github-alt"></i> | Donate to Lge95QR2frp9y1wJufjUPCycVsg5gLJPW8
</center>
</font>
</table>
</div>

1
public/templates/bootstrap/global/header.tpl Normal file → Executable file
View File

@ -50,7 +50,6 @@
</a>
<ul class="dropdown-menu dropdown-user">
{if $smarty.session.AUTHENTICATED|default:"0" == 1}
<li><a href="{$smarty.server.SCRIPT_NAME}?page=dashboard"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a>
<li><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=edit"><i class="fa fa-gear fa-fw"></i> Settings</a>
<li><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=workers"><i class="fa fa-desktop fa-fw"></i> Workers</a>
</li>

View File

@ -1,24 +1,26 @@
<div class="row">
<form class="col-md-4" role="form" action="{$smarty.server.SCRIPT_NAME}?page=login" method="post" id="loginForm">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Login with existing account</h3>
</div>
<div class="panel-body">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="E-mail" name="username" type="email" autofocus required>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="" required>
</div>
</fieldset>
</div>
<div class="panel-footer">
<input type="submit" class="btn btn-success" value="Login" >
<a href="{$smarty.server.SCRIPT_NAME}?page=password"><font size="1">Forgot your password?</font></a>
</div>
</div>
</form>
<form class="col-md-4" role="form" action="{$smarty.server.SCRIPT_NAME}?page=login" method="post" id="loginForm">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Login with existing account</h3>
</div>
<div class="panel-body">
<fieldset>
<div class="input-group margin-bottom-sm">
<span class="input-group-addon"><i class="fa fa-envelope-o fa-fw"></i></span>
<input class="form-control" placeholder="E-mail" name="username" type="email" autofocus required>
</div>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-key fa-fw"></i></span>
<input class="form-control" placeholder="Password" name="password" type="password" value="" required>
</div>
</fieldset>
</div>
<div class="panel-footer" style="margin-top: 20px;">
<input type="submit" class="btn btn-success" value="Login" >
<a href="{$smarty.server.SCRIPT_NAME}?page=password"><font size="1">Forgot your password?</font></a>
</div>
</div>
</form>
</div>

0
public/templates/bootstrap/master.tpl Normal file → Executable file
View File

View File

@ -10,12 +10,13 @@
<div class="panel-body">
<fieldset>
<p>If you have an email set for your account, enter your username to get your password reset</p>
<div class="form-group">
<div class="input-group margin-bottom-sm">
<span class="input-group-addon"><i class="fa fa-envelope-o fa-fw"></i></span>
<input class="form-control" placeholder="Username or E-mail" name="username" type="text" maxlength="100" autofocus required>
</div>
</fieldset>
</div>
<div class="panel-footer">
<div class="panel-footer" style="margin-top: 10px;">
<input type="submit" class="btn btn-success" value="Reset" >
</div>
</div>

View File

@ -46,7 +46,7 @@
</label>
</div>
</div>
<center>{nocache}{$RECAPTCHA|default:"" nofilter}{/nocache}</center>
<center>{nocache}{$RECAPTCHA|default:""}{/nocache}</center>
</div>
<div class="panel-footer">
<input type="submit" value="Register" class="btn btn-success">
@ -71,4 +71,4 @@
</div>
</div>
</div>
</div>
</div>