Barış Soner Uşaklı 2 years ago
parent 4095cda6a4
commit 0dce4c46b5

@ -138,19 +138,6 @@
}
}
.stats {
.formatted-number {
font-size: 22px;
}
.stat {
text-transform: uppercase;
font-weight: 600;
font-size: 10px;
color: #999;
}
}
.updatePageviewsGraph.active {
font-weight: bold;
}

@ -2,8 +2,8 @@
define('admin/dashboard', [
'Chart', 'translator', 'benchpress', 'bootbox', 'alerts',
], function (Chart, translator, Benchpress, bootbox, alerts) {
'Chart', 'translator', 'benchpress', 'bootbox', 'alerts', 'helpers',
], function (Chart, translator, Benchpress, bootbox, alerts, helpers) {
const Admin = {};
const intervals = {
rooms: false,
@ -63,20 +63,20 @@ define('admin/dashboard', [
graphData.rooms = data;
const html = '<div class="text-center float-start">' +
'<span class="formatted-number">' + data.onlineRegisteredCount + '</span>' +
'<div class="stat text-nowrap">[[admin/dashboard:active-users.users]]</div>' +
'<span class="fs-5">' + helpers.formattedNumber(data.onlineRegisteredCount) + '</span>' +
'<div class="stat text-nowrap text-uppercase fw-semibold text-xs text-muted">[[admin/dashboard:active-users.users]]</div>' +
'</div>' +
'<div class="text-center float-start">' +
'<span class="formatted-number">' + data.onlineGuestCount + '</span>' +
'<div class="stat text-nowrap">[[admin/dashboard:active-users.guests]]</div>' +
'<span class="fs-5">' + helpers.formattedNumber(data.onlineGuestCount) + '</span>' +
'<div class="stat text-nowrap text-uppercase fw-semibold text-xs text-muted">[[admin/dashboard:active-users.guests]]</div>' +
'</div>' +
'<div class="text-center float-start">' +
'<span class="formatted-number">' + (data.onlineRegisteredCount + data.onlineGuestCount) + '</span>' +
'<div class="stat text-nowrap">[[admin/dashboard:active-users.total]]</div>' +
'<span class="fs-5">' + helpers.formattedNumber(data.onlineRegisteredCount + data.onlineGuestCount) + '</span>' +
'<div class="stat text-nowrap text-uppercase fw-semibold text-xs text-muted">[[admin/dashboard:active-users.total]]</div>' +
'</div>' +
'<div class="text-center float-start">' +
'<span class="formatted-number">' + data.socketCount + '</span>' +
'<div class="stat text-nowrap">[[admin/dashboard:active-users.connections]]</div>' +
'<span class="fs-5">' + helpers.formattedNumber(data.socketCount) + '</span>' +
'<div class="stat text-nowrap text-uppercase fw-semibold text-xs text-muted">[[admin/dashboard:active-users.connections]]</div>' +
'</div>';
updateRegisteredGraph(data.onlineRegisteredCount, data.onlineGuestCount);

@ -29,7 +29,8 @@ module.exports = function (utils, Benchpress, relative_path) {
generateWrote,
isoTimeToLocaleString,
shouldHideReplyContainer,
humanReadableNumber,
formattedNumber,
register,
__escape: identity,
};
@ -352,6 +353,14 @@ module.exports = function (utils, Benchpress, relative_path) {
return false;
}
function humanReadableNumber(number, toFixed = 1) {
return utils.makeNumberHumanReadable(number, toFixed);
}
function formattedNumber(number) {
return utils.addCommas(number);
}
function register() {
Object.keys(helpers).forEach(function (helperName) {
Benchpress.registerHelper(helperName, helpers[helperName]);

@ -442,7 +442,7 @@ const utils = {
makeNumberHumanReadable: function (num, toFixed = 1) {
const n = parseInt(num, 10);
if (!n) {
return num;
return String(num);
}
if (n > 999999) {
return (n / 1000000).toFixed(toFixed) + 'm';

@ -13,10 +13,10 @@
<div class="database-info">
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.version]]</span> <span class="text-end">{mongo.version}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end formatted-number">{mongo.uptime}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end">{formattedNumber(mongo.uptime)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.storage-engine]]</span> <span class="text-end">{mongo.storageEngine}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.collections]]</span> <span class="text-end formatted-number">{mongo.collections}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.objects]]</span> <span class="text-end formatted-number">{mongo.objects}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.collections]]</span> <span class="text-end">{formattedNumber(mongo.collections)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.objects]]</span> <span class="text-end">{formattedNumber(mongo.objects)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.avg-object-size]]</span> <span class="text-end">[[admin/advanced/database:x-b, {mongo.avgObjSize}]]</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:mongo.data-size]]</span> <span class="text-end">[[admin/advanced/database:x-gb, {mongo.dataSize}]]</span></div>
@ -47,23 +47,23 @@
<div class="database-info">
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.version]]</span> <span class="text-end">{redis.redis_version}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end formatted-number">{redis.uptime_in_seconds}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end">{formattedNumber(redis.uptime_in_seconds)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-days]]</span> <span class="text-end">{redis.uptime_in_days}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keys]]</span> <span class="text-end formatted-number">{redis.keys}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.expires]]</span> <span class="text-end formatted-number">{redis.expires}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.avg-ttl]]</span> <span class="text-end formatted-number">{redis.avg_ttl}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.connected-clients]]</span> <span class="text-end">{redis.connected_clients}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.connected-slaves]]</span> <span class="text-end">{redis.connected_slaves}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keys]]</span> <span class="text-end">{formattedNumber(redis.keys)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.expires]]</span> <span class="text-end">{formattedNumber(redis.expires)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.avg-ttl]]</span> <span class="text-end">{formattedNumber(redis.avg_ttl)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.connected-clients]]</span> <span class="text-end">{formattedNumber(redis.connected_clients)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.connected-slaves]]</span> <span class="text-end">{formattedNumber(redis.connected_slaves)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.blocked-clients]]</span> <span class="text-end">{redis.blocked_clients}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.used-memory]]</span> <span class="text-end">[[admin/advanced/database:x-gb, {redis.used_memory_human}]]</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.memory-frag-ratio]]</span> <span class="text-end">{redis.mem_fragmentation_ratio}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.total-connections-recieved]]</span> <span class="text-end formatted-number">{redis.total_connections_received}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.total-commands-processed]]</span> <span class="text-end formatted-number">{redis.total_commands_processed}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.iops]]</span> <span class="text-end formatted-number">{redis.instantaneous_ops_per_sec}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.total-connections-recieved]]</span> <span class="text-end">{formattedNumber(redis.total_connections_received)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.total-commands-processed]]</span> <span class="text-end">{formattedNumber(redis.total_commands_processed)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.iops]]</span> <span class="text-end">{formattedNumber(redis.instantaneous_ops_per_sec)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.iinput]]</span> <span class="text-end">[[admin/advanced/database:x-mb, {redis.instantaneous_input}]]</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.ioutput]]</span> <span class="text-end">[[admin/advanced/database:x-mb, {redis.instantaneous_output}]]</span></div>
@ -71,8 +71,8 @@
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.total-output]]</span> <span class="text-end">[[admin/advanced/database:x-gb, {redis.total_net_output}]]</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keyspace-hits]]</span> <span class="text-end formatted-number">{redis.keyspace_hits}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keyspace-misses]]</span> <span class="text-end formatted-number">{redis.keyspace_misses}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keyspace-hits]]</span> <span class="text-end">{formattedNumber(redis.keyspace_hits)}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:redis.keyspace-misses]]</span> <span class="text-end">{formattedNumber(redis.keyspace_misses)}</span></div>
</div>
</div>
</div>
@ -87,7 +87,7 @@
<div class="database-info">
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:postgres.version]]</span> <span class="text-end">{postgres.version}</span></div>
<hr/>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end formatted-number">{postgres.uptime}</span></div>
<div class="d-flex justify-content-between"><span>[[admin/advanced/database:uptime-seconds]]</span> <span class="text-end">{formattedNumber(postgres.uptime)}</span></div>
</div>
</div>
</div>

@ -151,8 +151,8 @@
</div>
{{{ end }}}
</td>
<td class="text-end formatted-number">{users.postcount}</td>
<td class="text-end formatted-number">{users.reputation}</td>
<td class="text-end">{formattedNumber(users.postcount)}</td>
<td class="text-end">{formattedNumber(users.reputation)}</td>
<td class="text-end">{{{ if users.flags }}}{users.flags}{{{ else }}}0{{{ end }}}</td>
<td><span class="timeago" title="{users.joindateISO}"></span></td>
<td><span class="timeago" title="{users.lastonlineISO}"></span></td>

@ -27,19 +27,19 @@
{{{ end }}}
</strong>
</td>
<td class="text-end formatted-number">{./yesterday}</td>
<td class="text-end formatted-number">{./today}</td>
<td class="text-end">{formattedNumber(./yesterday)}</td>
<td class="text-end">{formattedNumber(./today)}</td>
<td class="{./dayTextClass}"><small>{./dayIncrease}%</small></td>
<td class="text-end formatted-number">{./lastweek}</td>
<td class="text-end formatted-number">{./thisweek}</td>
<td class="text-end">{formattedNumber(./lastweek)}</td>
<td class="text-end">{formattedNumber(./thisweek)}</td>
<td class="{./weekTextClass}"><small>{./weekIncrease}%</small></td>
<td class="text-end formatted-number">{./lastmonth}</td>
<td class="text-end formatted-number">{./thismonth}</td>
<td class="text-end">{formattedNumber(./lastmonth)}</td>
<td class="text-end">{formattedNumber(./thismonth)}</td>
<td class="{./monthTextClass}"><small>{./monthIncrease}%</small></td>
<td class="text-end formatted-number">{./alltime}</td>
<td class="text-end">{formattedNumber(./alltime)}</td>
</tr>
{{{ end }}}
</tbody>

Loading…
Cancel
Save