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 */
|
||||
|
||||
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()
|
||||
]);
|
||||
|
||||
};
|
||||
import WorldStats from '../components/WorldStats.js';
|
||||
|
||||
// coord display
|
||||
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');
|
||||
|
||||
this.wsChannel.addListener("minetest-info", function(info){
|
||||
m.render(div, worldInfoRender(info));
|
||||
m.render(div, WorldStats(info));
|
||||
});
|
||||
|
||||
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