Merge pull request #452 from bergware/master

Miscellaneous updates
This commit is contained in:
tom mortensen
2019-01-29 16:22:23 -08:00
committed by GitHub
11 changed files with 72 additions and 62 deletions

View File

@@ -20,7 +20,7 @@ font-family:'bitstream';font-weight:normal;font-style:normal;
src:url('/webGui/styles/bitstream.eot');src:url('/webGui/styles/bitstream.eot?#iefix') format('embedded-opentype'),url('/webGui/styles/bitstream.woff') format('woff'),url('/webGui/styles/bitstream.ttf') format('truetype'),url('/webGui/styles/bitstream.svg#bitstream') format('svg')}
html{font-family:clear-sans;font-size:62.5%;height:100%}
body{font-size:1.3rem;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.logLine{font-family:bitstream;font-size:1.1rem;color:#505050;margin:0 8px;padding:0;text-align:left}
.logLine{font-family:bitstream;font-size:1.1rem;margin:0 8px;padding:0;text-align:left}
.logLine.spacing{margin:10px}
input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button{font-family:clear-sans;font-size:1.1rem;text-transform:uppercase;margin:0;padding:9px 18px;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:0;color:#f15a2c;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%}
input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)}

View File

@@ -104,13 +104,14 @@ div.four label{float:left;display:table-cell;width:25%}
div.four label:nth-child(4n+4){float:none;clear:both}
div.four label.cpu1{width:32%}
div.four label.cpu2{width:26%}
th.vmname{width:350px}
th.eight{width:8%}
tbody>tr.sortable:hover{cursor:move}
table.domdisk tbody tr:nth-child(even){background-color:transparent}
table tbody td{line-height:normal}
</style>
<table id="kvm_table" class="tablesorter four shift">
<thead><tr><th><a href="#" style="cursor:hand;margin-left:12px;display:inline-block;width:32px" onclick="resetSorting()" title="Reset sorting"><i class="fa fa-th-list"></i></a>Name</th><th>Description</th><th>CPUs</th><th>Memory</th><th>vDisks</th><th>Graphics</th><th class="eight">Autostart</th></tr></thead>
<thead><tr><th class="vmname"><a href="#" style="cursor:hand;margin-left:12px;display:inline-block;width:32px" onclick="resetSorting()" title="Reset sorting"><i class="fa fa-th-list"></i></a>Name</th><th>Description</th><th>CPUs</th><th>Memory</th><th>vDisks</th><th>Graphics</th><th class="eight">Autostart</th></tr></thead>
<tbody id="kvm_list"><tr><td colspan='8'><div class="spinner"></div></td></tr></tbody>
</table>
<input type="button" onclick="addVM()" id="btnAddVM" value="Add VM" style="display:none">

View File

@@ -149,7 +149,7 @@ if ($low) $memory_maximum = pow(2,ceil(log($memory_installed)/log(2)));
.switch-button-background{top:12px}
<?endif;?>
span.outer{float:left}
span.inner{width:124px}
span.inner{width:134px}
span.ups{width:124px;display:inline-block}
</style>
<script src="<?autov('/webGui/javascript/jquery.switchbutton.js')?>"></script>
@@ -305,9 +305,9 @@ foreach ($ports as $port) {
$i = 0;
foreach ($shares as $name => $share) {
$i++;
$list = truncate($name,20);
if ($share['luksStatus']>0) $list = "<span class='green-text'>$list</span>";
elseif ($share['useCache']=='only') $list = "<span class='orange-text'>$list</span>";
$list = "<a href=\"$path/Share?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
if ($share['luksStatus']>0) $list = str_replace('blue-text','green-text',$list);
elseif ($share['useCache']=='only') $list = str_replace('blue-text','orange-text',$list);
$comment = truncate($share['comment'],40);
$security = export_settings($var['shareSMBEnabled'], $sec[$name]);
echo "<tr><td></td><td><i class='icon-folder'></i>$list</td><td>$comment</td><td>$security</td><td id='share{$i}'>0</td><td></td></tr>";
@@ -318,9 +318,9 @@ if (!count($shares)) echo "<tr><td></td><td colspan='4' style='text-align:center
<?if ($var['shareAFPEnabled']=='yes'):?>
<tbody class='afp share share2' style='display:none'><?
foreach ($shares as $name => $share) {
$list = truncate($name,20);
if ($share['luksStatus']>0) $list = "<span class='green-text'>$list</span>";
elseif ($share['useCache']=='only') $list = "<span class='orange-text'>$list</span>";
$list = "<a href=\"$path/Share?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
if ($share['luksStatus']>0) $list = str_replace('blue-text','green-text',$list);
elseif ($share['useCache']=='only') $list = str_replace('blue-text','orange-text',$list);
$comment = truncate($share['comment'],40);
$security = export_settings($var['shareAFPEnabled'], $sec_afp[$name]);
echo "<tr><td></td><td><i class='icon-folder'></i>$list</td><td>$comment</td><td>$security</td><td>-</td><td></td></tr>";
@@ -331,9 +331,9 @@ if (!count($shares)) echo "<tr><td></td><td colspan='4' style='text-align:center
<?if ($var['shareNFSEnabled']=='yes'):?>
<tbody class='nfs share share3' style='display:none'><?
foreach ($shares as $name => $share) {
$list = truncate($name,20);
if ($share['luksStatus']>0) $list = "<span class='green-text'>$list</span>";
elseif ($share['useCache']=='only') $list = "<span class='orange-text'>$list</span>";
$list = "<a href=\"$path/Share?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
if ($share['luksStatus']>0) $list = str_replace('blue-text','green-text',$list);
elseif ($share['useCache']=='only') $list = str_replace('blue-text','orange-text',$list);
$comment = truncate($share['comment'],40);
$security = export_settings($var['shareNFSEnabled'], $sec_nfs[$name]);
echo "<tr><td></td><td><i class='icon-folder'></i>$list</td><td>$comment</td><td>$security</td><td>-</td><td></td></tr>";
@@ -344,9 +344,9 @@ if (!count($shares)) echo "<tr><td></td><td colspan='4' style='text-align:center
<?if (!$group):?>
<tbody><?
foreach ($shares as $name => $share) {
$list = truncate($name,20);
if ($share['luksStatus']>0) $list = "<span class='green-text'>$list</span>";
elseif ($share['useCache']=='only') $list = "<span class='orange-text'>$list</span>";
$list = "<a href=\"$path/Share?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
if ($share['luksStatus']>0) $list = str_replace('blue-text','green-text',$list);
elseif ($share['useCache']=='only') $list = str_replace('blue-text','orange-text',$list);
$comment = truncate($share['comment'],40);
echo "<tr><td></td><td><i class='icon-folder'></i>$list</td><td>$comment</td><td>-</td><td>-</td><td></td></tr>";
}
@@ -359,7 +359,8 @@ if (!count($shares)) echo "<tr><td></td><td colspan='4' style='text-align:center
<?if ($var['shareSMBEnabled']=='yes'):?>
<tbody class='smb user user1' style='display:none'><?
foreach ($users as $user) {
$list = truncate($user['name'],20);
$name = $user['name'];
$list = "<a href=\"$path/UserEdit?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
$desc = truncate($user['desc'],40);
if ($list=='root') {
$write = '-'; $read = '-';
@@ -370,7 +371,7 @@ foreach ($users as $user) {
if (strpos($sec[$share['name']]['readList'],$list)!==false) $read++;
}
}
if ($user['passwd']=='yes') $list = "<span class='green-text'>$list</span>";
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
echo "<tr><td></td><td><i class='icon-user'></i>$list</td><td>$desc</td><td>$write</td><td>$read</td><td></td></tr>";
}
?></tbody>
@@ -378,7 +379,8 @@ foreach ($users as $user) {
<?if ($var['shareAFPEnabled']=='yes'):?>
<tbody class='afp user user2' style='display:none'><?
foreach ($users as $user) {
$list = truncate($user['name'],20);
$name = $user['name'];
$list = "<a href=\"$path/UserEdit?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
$desc = truncate($user['desc'],40);
if ($list=='root') {
$write = '-'; $read = '-';
@@ -389,7 +391,7 @@ foreach ($users as $user) {
if (strpos($sec_afp[$share['name']]['readList'],$list)!==false) $read++;
}
}
if ($user['passwd']=='yes') $list = "<span class='green-text'>$list</span>";
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
echo "<tr><td></td><td><i class='icon-user'></i>$list</td><td>$desc</td><td>$write</td><td>$read</td><td></td></tr>";
}
?></tbody>
@@ -397,10 +399,11 @@ foreach ($users as $user) {
<?if ($var['shareNFSEnabled']=='yes'):?>
<tbody class='nfs user user3' style='display:none'><?
foreach ($users as $user) {
$list = truncate($user['name'],20);
$name = $user['name'];
$list = "<a href=\"$path/UserEdit?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
$desc = truncate($user['desc'],40);
$write = '-'; $read = '-';
if ($user['passwd']=='yes') $list = "<span class='green-text'>$list</span>";
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
echo "<tr><td></td><td><i class='icon-user'></i>$list</td><td>$desc</td><td>$write</td><td>$read</td><td></td></tr>";
}
?></tbody>
@@ -408,9 +411,10 @@ foreach ($users as $user) {
<?if (!$group):?>
<tbody><?
foreach ($users as $user) {
$list = truncate($user['name'],20);
$name = $user['name'];
$list = "<a href=\"$path/UserEdit?name=".urlencode($name)."\" class=\"blue-text\" title=\"$name settings\">".truncate($name,20)."</a>";
$desc = truncate($user['desc'],40);
if ($user['passwd']=='yes') $list = "<span class='green-text'>$list</span>";
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
echo "<tr><td></td><td><i class='icon-user'></i>$list</td><td>$desc</td><td>-</td><td>-</td><td></td></tr>";
}
?></tbody>
@@ -591,7 +595,7 @@ function update15() {
$('#ups_bcharge').html(data[1]);
$('#ups_timeleft').html(data[2]);
$('#ups_nompower').html(data[3]);
$('#ups_loadpct').html(data[5].replace('Percent','%')+' ('+data[4].replace('Watts','W')+')');
$('#ups_loadpct').html(data[5].replace('Percent','%')+data[4].replace(/>/,'> (').replace(/Watts|-/,'W)'));
});
<?endif;?>
$.post('<?=$url?>',{cmd:'status',number:'<?=$display['number']?>'},function(data) {$('span.info.title').html(data);});
@@ -607,14 +611,14 @@ function update30() {
$.post('<?=$url?>',{cmd:'port',view:tag,ports:'<?=implode(',',$ports)?>'},function(data) {
$.each(data.split('\0'),function(k,v) {$('#'+tag+k).html(v);});
});
$.post('<?=$url?>',{cmd:'array',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
$.post('<?=$url?>',{cmd:'array',path:'<?=$path?>',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
var data = d.split('\0');
var info = moreInfo(data,'Array');
$('#array_list').html(data[0]);
$('#array_info').parent().css('display',info?'':'none');
$('#array_info').html(info);
smartMenu('#array_list');
$.post('<?=$url?>',{cmd:'cache',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
$.post('<?=$url?>',{cmd:'cache',path:'<?=$path?>',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
var data = d.split('\0');
var info = moreInfo(data,'Cache');
$('#cache_list').html(data[0]);
@@ -622,7 +626,7 @@ function update30() {
$('#cache_info').html(info);
smartMenu('#cache_list');
<?if ($devs):?>
$.post('<?=$url?>',{cmd:'extra',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
$.post('<?=$url?>',{cmd:'extra',path:'<?=$path?>',hot:'<?=$display['hot']?>',max:'<?=$display['max']?>',unit:'<?=$display['unit']?>',text:<?=$display['text']?>,critical:'<?=$display['critical']?>',warning:'<?=$display['warning']?>'},function(d) {
var data = d.split('\0');
var info = moreInfo(data,'Unassigned');
$('#extra_list').html(data[0]);

View File

@@ -40,15 +40,15 @@ switch ($display['theme']) {
case 'gray':
case 'azure':
echo "span.array,span.system{margin-left:33.33%;width:65.5%;padding:2px 10px;font-weight:bold;border:solid 1px #606E7F;border-bottom:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;resize:none;border-top:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;border-top:none}\n";
break;
case 'white':
echo "span.array,span.system{margin-left:33.33%;width:65.5%;padding:2px 10px;font-weight:bold;border:solid 1px #1c1c1c;border-bottom:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;resize:none;border:1px solid #1c1b1b;border-top:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;border:1px solid #1c1b1b;border-top:none}\n";
break;
case 'black':
echo "span.array,span.system{margin-left:33.33%;width:65.5%;padding:2px 10px;font-weight:bold;border:solid 1px #f2f2f2;border-bottom:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;resize:none;border:1px solid #f2f2f2;border-top:none}\n";
echo "textarea.menu{margin-left:33.33%;width:65.5%;margin-bottom:12px;padding:4px 10px;font-family:bitstream;border:1px solid #f2f2f2;border-top:none}\n";
break;
}
?>
@@ -102,7 +102,7 @@ function setDefault(form) {
var label = (i) ? area.shift():title;
var start = (area[0]==menu);
var checked = start ? ' checked':'';
if (i) label += "<span style='float:right'><input type='checkbox' id='input-"+i+"' title='Set default boot menu' onchange='changeMenu(this.form,this.id,true)'"+checked+"></span>";
if (i) label += "<span style='float:right'><input type='radio' id='input-"+i+"' title='Set default boot menu' onchange='changeMenu(this.form,this.id,true)'"+checked+"></span>";
$('#label-'+i).html(label).prop('class',start ? 'array':'system');
if (start) area.shift();
$(this).val(area.join('\n')).prop('rows',area.length).trigger('change');
@@ -216,7 +216,7 @@ Syslinux configuration:
$start = in_array($menu,$area);
if ($start) unset($area[array_search($menu,$area)]);
?><span id="label-<?=$i?>" class="<?=$start?'array':'system'?>"><?=$label?>
<?if ($i):?><span style="float:right"><input type="checkbox" id="input-<?=$i?>" class="menu" <?=$start?'checked':''?> title="Set default boot menu" onchange="changeMenu(this.form,this.id,true)"></span><?endif;?></span>
<?if ($i):?><span style="float:right"><input type="radio" id="input-<?=$i?>" class="menu" <?=$start?'checked':''?> title="Set default boot menu" onchange="changeMenu(this.form,this.id,true)"></span><?endif;?></span>
<textarea class="menu" id="menu-<?=$i++?>" spellcheck="false" cols="80" rows="<?=count($area)?>" maxlength="2048"><?=implode("\n",$area)?></textarea>
<?endforeach;?>

View File

@@ -114,16 +114,18 @@ function stage($i) {
return $t;
}
function device_name(&$disk, $array) {
global $path;
if ($array) {
switch ($disk['type']) {
case 'Flash' : $type = 'usb'; break;
case 'Parity': $type = $disk['rotational'] ? 'disk' : 'nvme'; break;
case 'Data' :
case 'Cache' : $type = $disk['rotational'] ? ($disk['luksState'] ? 'disk-encrypted' : 'disk') : 'nvme'; break;
}
return "<i class='icon-$type'></i> ".my_disk($disk['name']);
$name = my_disk($disk['name']);
return "<i class='icon-$type'></i> <a href=\"".htmlspecialchars("$path/Device?name={$disk['name']}")."\" title=\"$name settings\">$name</a>";
} else {
return "<i class='icon-disk'></i> {$disk['device']}";
$name = $disk['device'];
return "<i class='icon-disk'></i> <a href=\"".htmlspecialchars("$path/New?name=$name")."\" title=\"$name settings\">$name</a>";
}
}
function device_status(&$disk, $array, &$error, &$warning) {
@@ -239,9 +241,10 @@ function extra_group() {
}
switch ($_POST['cmd']) {
case 'array':
$var = @parse_ini_file('state/var.ini') ?: [];
$disks = @array_filter(parse_ini_file('state/disks.ini',true),'active_disks') ?: [];
$saved = @parse_ini_file('state/monitor.ini',true) ?: [];
$path = $_POST['path'];
$var = (array)parse_ini_file('state/var.ini');
$disks = (array)array_filter(parse_ini_file('state/disks.ini',true),'active_disks');
$saved = @(array)parse_ini_file('state/monitor.ini',true);
require_once "$docroot/webGui/include/CustomMerge.php";
require_once "$docroot/webGui/include/Preselect.php";
$error = $warning = $red = $orange = $fail = $smart = $full = $high = 0;
@@ -250,9 +253,10 @@ case 'array':
echo "\0".($error+$warning)."\0".($red+$orange)."\0".($fail+$smart)."\0".($full+$high);
break;
case 'cache':
$var = @parse_ini_file('state/var.ini') ?: [];
$disks = @array_filter(parse_ini_file('state/disks.ini',true),'active_disks') ?: [];
$saved = @parse_ini_file('state/monitor.ini',true) ?: [];
$path = $_POST['path'];
$var = (array)parse_ini_file('state/var.ini');
$disks = (array)array_filter(parse_ini_file('state/disks.ini',true),'active_disks');
$saved = @(array)parse_ini_file('state/monitor.ini',true);
require_once "$docroot/webGui/include/CustomMerge.php";
require_once "$docroot/webGui/include/Preselect.php";
$error = $warning = $red = $orange = $fail = $smart = $full = $high = 0;
@@ -260,9 +264,10 @@ case 'cache':
echo "\0".($error+$warning)."\0".($red+$orange)."\0".($fail+$smart)."\0".($full+$high);
break;
case 'extra':
$var = @parse_ini_file('state/var.ini') ?: [];
$disks = @parse_ini_file('state/devs.ini',true) ?: [];
$saved = @parse_ini_file('state/monitor.ini',true) ?: [];
$path = $_POST['path'];
$var = (array)parse_ini_file('state/var.ini');
$disks = (array)parse_ini_file('state/devs.ini',true);
$saved = @(array)parse_ini_file('state/monitor.ini',true);
$smartALL = '/boot/config/smart-all.cfg';
if (file_exists($smartALL)) $var = array_merge($var, parse_ini_file($smartALL));
require_once "$docroot/webGui/include/Preselect.php";

View File

@@ -546,7 +546,7 @@ $(function() {
$.post('/webGui/include/Notify.php',{cmd:'init'},function(){timers.notifier = setTimeout(notifier,0);});
<?endif;?>
$('input[value="Apply"],input[name="cmdEditShare"],input[name="cmdUserEdit"]').prop('disabled',true);
$('form').find('select,input[type=text],input[type=number],input[type=password],input[type=checkbox],input[type=file],textarea').each(function(){$(this).on('input change',function() {
$('form').find('select,input[type=text],input[type=number],input[type=password],input[type=checkbox],input[type=radio],input[type=file],textarea').each(function(){$(this).on('input change',function() {
var form = $(this).parentsUntil('form').parent();
form.find('input[value="Apply"],input[name="cmdEditShare"],input[name="cmdUserEdit"]').not('input.lock').prop('disabled',false);
form.find('input[value="Done"]').not('input.lock').val('Reset').prop('onclick',null).off('click').click(function(){refresh(form.offset().top)});

View File

@@ -15,11 +15,11 @@ $docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp';
require_once "$docroot/webGui/include/Helpers.php";
$path = $_POST['path'];
$var = parse_ini_file('state/var.ini');
$devs = parse_ini_file('state/devs.ini',true);
$disks = parse_ini_file('state/disks.ini',true);
$sec = parse_ini_file('state/sec.ini',true);
$diskio= @parse_ini_file('state/diskload.ini');
$var = (array)parse_ini_file('state/var.ini');
$devs = (array)parse_ini_file('state/devs.ini',true);
$disks = (array)parse_ini_file('state/disks.ini',true);
$sec = (array)parse_ini_file('state/sec.ini',true);
$diskio= @(array)parse_ini_file('state/diskload.ini');
$sum = ['count'=>0, 'temp'=>0, 'fsSize'=>0, 'fsUsed'=>0, 'fsFree'=>0, 'ioReads'=>0, 'ioWrites'=>0, 'numReads'=>0, 'numWrites'=>0, 'numErrors'=>0];
extract(parse_plugin_cfg('dynamix',true));

View File

@@ -91,11 +91,11 @@ span.tub span[id^='txt-tub']{margin-top:7px}
.green{color:#4f8a10;padding-left:5px;padding-right:5px}
.red{color:#f0000c;padding-left:5px;padding-right:5px}
.orange{color:#e68a00;padding-left:5px;padding-right:5px}
.blue{color:#3b5998;padding-left:5px;padding-right:5px}
.blue{color:#486dba;padding-left:5px;padding-right:5px}
.green-text,.passed{color:#4f8a10}
.red-text,.failed{color:#f0000c}
.orange-text,.warning{color:#e68a00}
.blue-text{color:#3b5998}
.blue-text{color:#486dba}
.grey-text{color:#606060}
.green-orb{color:#33cc33}
.grey-orb{color:#c0c0c0}
@@ -258,7 +258,7 @@ span.three{margin-left:-23px}
span.tub{margin-right:8px;font-size:2.4rem;cursor:pointer}
span.score{font-size:1.1rem;color:#ffffff;position:absolute}
span#dropbox{background:none;line-height:6rem;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:0}
span.hand{cursor:pointer}
span.outer.started>img,span.outer.started>i.img{opacity:1.0}
span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3}

View File

@@ -81,11 +81,11 @@ textarea{resize:none}
.green{color:#4f8a10;padding-left:5px;padding-right:5px}
.red{color:#f0000c;padding-left:5px;padding-right:5px}
.orange{color:#e68a00;padding-left:5px;padding-right:5px}
.blue{color:#3b5998;padding-left:5px;padding-right:5px}
.blue{color:#486dba;padding-left:5px;padding-right:5px}
.green-text,.passed{color:#4f8a10}
.red-text,.failed{color:#f0000c}
.orange-text,.warning{color:#e68a00}
.blue-text{color:#3b5998}
.blue-text{color:#486dba}
.grey-text{color:#606060}
.green-orb{color:#33cc33}
.grey-orb{color:#c0c0c0}
@@ -243,7 +243,7 @@ span.two{margin-left:-20px}
span.three{margin-left:-23px}
span.tub{margin-right:8px;font-size:2.4rem;cursor:pointer}
span.score{font-size:1.2rem;color:#1c1b1b;position:absolute}
span.outer{margin-bottom:20px;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:0}
span.hand{cursor:pointer}
span.outer.started>img,span.outer.started>i.img{opacity:1.0}
span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3}

View File

@@ -91,11 +91,11 @@ span.tub span[id^='txt-tub']{margin-top:7px}
.green{color:#4f8a10;padding-left:5px;padding-right:5px}
.red{color:#f0000c;padding-left:5px;padding-right:5px}
.orange{color:#e68a00;padding-left:5px;padding-right:5px}
.blue{color:#3b5998;padding-left:5px;padding-right:5px}
.blue{color:#486dba;padding-left:5px;padding-right:5px}
.green-text,.passed{color:#4f8a10}
.red-text,.failed{color:#f0000c}
.orange-text,.warning{color:#e68a00}
.blue-text{color:#3b5998}
.blue-text{color:#486dba}
.grey-text{color:#606060}
.green-orb{color:#33cc33}
.grey-orb{color:#c0c0c0}
@@ -258,7 +258,7 @@ span.three{margin-left:-23px}
span.tub{margin-right:8px;font-size:2.4rem;cursor:pointer}
span.score{font-size:1.1rem;color:#ffffff;position:absolute}
span#dropbox{background:none;line-height:6rem;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:0}
span.hand{cursor:pointer}
span.outer.started>img,span.outer.started>i.img{opacity:1.0}
span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3}

View File

@@ -81,11 +81,11 @@ textarea{resize:none}
.green{color:#4f8a10;padding-left:5px;padding-right:5px}
.red{color:#f0000c;padding-left:5px;padding-right:5px}
.orange{color:#e68a00;padding-left:5px;padding-right:5px}
.blue{color:#3b5998;padding-left:5px;padding-right:5px}
.blue{color:#486dba;padding-left:5px;padding-right:5px}
.green-text,.passed{color:#4f8a10}
.red-text,.failed{color:#f0000c}
.orange-text,.warning{color:#e68a00}
.blue-text{color:#3b5998}
.blue-text{color:#486dba}
.grey-text{color:#606060}
.green-orb{color:#33cc33}
.grey-orb{color:#c0c0c0}
@@ -243,7 +243,7 @@ span.two{margin-left:-20px}
span.three{margin-left:-23px}
span.tub{margin-right:8px;font-size:2.4rem;cursor:pointer}
span.score{font-size:1.2rem;color:#1c1b1b;position:absolute}
span.outer{margin-bottom:20px;margin-right:20px}
span.outer{margin-bottom:20px;margin-right:0}
span.hand{cursor:pointer}
span.outer.started>img,span.outer.started>i.img{opacity:1.0}
span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3}