forked from MTSR/mapserver
parent
0fe22caef6
commit
e0d10723ec
49
static/js/components/WorldStats.js
Normal file
49
static/js/components/WorldStats.js
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
export default function(info){
|
||||||
|
|
||||||
|
var timeIcon = m("span", { class: "fa fa-sun", style: "color: orange;" });
|
||||||
|
|
||||||
|
if (info.time < 5500 || info.time > 19000) //0 - 24'000
|
||||||
|
timeIcon = m("span", { class: "fa fa-moon", style: "color: blue;" });
|
||||||
|
|
||||||
|
function getHour(){
|
||||||
|
return Math.floor(info.time/1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMinute(){
|
||||||
|
var min = Math.floor((info.time % 1000) / 1000 * 60);
|
||||||
|
return min > 10 ? min : "0" + min;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLag(){
|
||||||
|
var color = "green";
|
||||||
|
if (info.max_lag > 0.8)
|
||||||
|
color = "orange";
|
||||||
|
else if (info.max_lag > 1.2)
|
||||||
|
color = "red";
|
||||||
|
|
||||||
|
return [
|
||||||
|
m("span", { class: "fa fa-wifi", style: "color: " + color }),
|
||||||
|
parseInt(info.max_lag*1000),
|
||||||
|
" ms"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPlayers(){
|
||||||
|
return [
|
||||||
|
m("span", { class: "fa fa-users" }),
|
||||||
|
info.players ? info.players.length : "0"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return m("div", [
|
||||||
|
getPlayers(),
|
||||||
|
" ",
|
||||||
|
getLag(),
|
||||||
|
" ",
|
||||||
|
m("span", { class: "fa fa-clock" }),
|
||||||
|
timeIcon,
|
||||||
|
getHour(), ":", getMinute()
|
||||||
|
]);
|
||||||
|
|
||||||
|
};
|
@ -1,53 +1,5 @@
|
|||||||
/* exported WorldInfoDisplay */
|
/* exported WorldInfoDisplay */
|
||||||
|
import WorldStats from '../components/WorldStats.js';
|
||||||
var worldInfoRender = function(info){
|
|
||||||
|
|
||||||
var timeIcon = m("span", { class: "fa fa-sun", style: "color: orange;" });
|
|
||||||
|
|
||||||
if (info.time < 5500 || info.time > 19000) //0 - 24'000
|
|
||||||
timeIcon = m("span", { class: "fa fa-moon", style: "color: blue;" });
|
|
||||||
|
|
||||||
function getHour(){
|
|
||||||
return Math.floor(info.time/1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getMinute(){
|
|
||||||
var min = Math.floor((info.time % 1000) / 1000 * 60);
|
|
||||||
return min > 10 ? min : "0" + min;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLag(){
|
|
||||||
var color = "green";
|
|
||||||
if (info.max_lag > 0.8)
|
|
||||||
color = "orange";
|
|
||||||
else if (info.max_lag > 1.2)
|
|
||||||
color = "red";
|
|
||||||
|
|
||||||
return [
|
|
||||||
m("span", { class: "fa fa-wifi", style: "color: " + color }),
|
|
||||||
parseInt(info.max_lag*1000),
|
|
||||||
" ms"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPlayers(){
|
|
||||||
return [
|
|
||||||
m("span", { class: "fa fa-users" }),
|
|
||||||
info.players ? info.players.length : "0"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
return m("div", [
|
|
||||||
getPlayers(),
|
|
||||||
" ",
|
|
||||||
getLag(),
|
|
||||||
" ",
|
|
||||||
m("span", { class: "fa fa-clock" }),
|
|
||||||
timeIcon,
|
|
||||||
getHour(), ":", getMinute()
|
|
||||||
]);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// coord display
|
// coord display
|
||||||
export default L.Control.extend({
|
export default L.Control.extend({
|
||||||
@ -60,7 +12,7 @@ export default L.Control.extend({
|
|||||||
var div = L.DomUtil.create('div', 'leaflet-bar leaflet-custom-display');
|
var div = L.DomUtil.create('div', 'leaflet-bar leaflet-custom-display');
|
||||||
|
|
||||||
this.wsChannel.addListener("minetest-info", function(info){
|
this.wsChannel.addListener("minetest-info", function(info){
|
||||||
m.render(div, worldInfoRender(info));
|
m.render(div, WorldStats(info));
|
||||||
});
|
});
|
||||||
|
|
||||||
return div;
|
return div;
|
||||||
|
0
static/js/stats.js
Normal file
0
static/js/stats.js
Normal file
22
static/stats.html
Normal file
22
static/stats.html
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
|
||||||
|
<!-- styles -->
|
||||||
|
<link rel="stylesheet" href="css/fontawesome.min.css"/>
|
||||||
|
<title>Minetest Mapserver stats</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
|
||||||
|
<!-- libraries -->
|
||||||
|
<script src="js/lib/mithril.min.js"></script>
|
||||||
|
|
||||||
|
<!-- main module -->
|
||||||
|
<script src="js/main.js?v=1.0" type="module"></script>
|
||||||
|
|
||||||
|
<!-- no modules -->
|
||||||
|
<script src="js/bundle.js?v=1.0" nomodule></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user