op-packages/luci-mod-status/ucode/template/admin_status/index.ut
2026-04-23 20:32:35 +08:00

70 lines
1.6 KiB
Plaintext

{#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io>
Licensed to the public under the Apache License 2.0.
-#}
{% include('header') %}
<h2 name="content">{{ _('Status') }}</h2>
<div id="view">
<div class="spinning">{{ _('Loading view…') }}</div>
</div>
<script>
function progressbar(query, value, max, byte)
{
var pg = document.querySelector(query),
vn = parseInt(value) || 0,
mn = parseInt(max) || 100,
fv = byte ? String.format('%1024.2mB', value) : value,
fm = byte ? String.format('%1024.2mB', max) : max,
pc = Math.floor((100 / mn) * vn);
if (pg) {
pg.firstElementChild.style.width = pc + '%';
pg.setAttribute('title', '%s / %s (%d%%)'.format(fv, fm, pc));
}
}
function renderBox(title, active, childs) {
childs = childs || [];
childs.unshift(L.itemlist(E('span'), [].slice.call(arguments, 3)));
return E('div', { class: 'ifacebox' }, [
E('div', { class: 'ifacebox-head center ' + (active ? 'active' : '') },
E('strong', title)),
E('div', { class: 'ifacebox-body left' }, childs)
]);
}
function renderBadge(icon, title) {
return E('span', { class: 'ifacebadge' }, [
E('img', { src: icon, title: title || '' }),
L.itemlist(E('span'), [].slice.call(arguments, 2))
]);
}
</script>
<div class="includes" style="display:none">
{%
let lua_available = true;
try { require('lua'); }
catch(err) { lua_available = false; }
if (lua_available)
include('admin_status/luaindex');
%}
</div>
<script>
L.require('ui').then(function(ui) {
ui.instantiateView('status/index');
});
</script>
{% include('footer') %}