62 lines
2.4 KiB
JavaScript
62 lines
2.4 KiB
JavaScript
import { mobile } from "./login.js";
|
|
console.log(mobile);
|
|
const serverbox = document.getElementById("instancebox");
|
|
fetch("/instances.json").then(_ => _.json()).then((json) => {
|
|
console.warn(json);
|
|
for (const instance of json) {
|
|
if (instance.display === false) {
|
|
continue;
|
|
}
|
|
const div = document.createElement("div");
|
|
div.classList.add("flexltr", "instance");
|
|
if (instance.image) {
|
|
const img = document.createElement("img");
|
|
img.src = instance.image;
|
|
div.append(img);
|
|
}
|
|
const statbox = document.createElement("div");
|
|
statbox.classList.add("flexttb");
|
|
{
|
|
const textbox = document.createElement("div");
|
|
textbox.classList.add("flexttb", "instatancetextbox");
|
|
const title = document.createElement("h2");
|
|
title.innerText = instance.name;
|
|
if (instance.online !== undefined) {
|
|
const status = document.createElement("span");
|
|
status.innerText = instance.online ? "Online" : "Offline";
|
|
status.classList.add("instanceStatus");
|
|
title.append(status);
|
|
}
|
|
textbox.append(title);
|
|
if (instance.description || instance.descriptionLong) {
|
|
const p = document.createElement("p");
|
|
if (instance.descriptionLong) {
|
|
p.innerText = instance.descriptionLong;
|
|
}
|
|
else {
|
|
p.innerText = instance.description;
|
|
}
|
|
textbox.append(p);
|
|
}
|
|
statbox.append(textbox);
|
|
}
|
|
if (instance.uptime) {
|
|
const stats = document.createElement("div");
|
|
stats.classList.add("flexltr");
|
|
const span = document.createElement("span");
|
|
span.innerText = `Uptime: All time: ${Math.floor(instance.uptime.alltime * 100)}% This week: ${Math.floor(instance.uptime.weektime * 100)}% Today: ${Math.floor(instance.uptime.daytime * 100)}%`;
|
|
stats.append(span);
|
|
statbox.append(stats);
|
|
}
|
|
div.append(statbox);
|
|
div.onclick = _ => {
|
|
if (instance.online) {
|
|
window.location.href = "/register.html?instance=" + encodeURI(instance.name);
|
|
}
|
|
else {
|
|
alert("Instance is offline, can't connect");
|
|
}
|
|
};
|
|
serverbox.append(div);
|
|
}
|
|
});
|