From ae1d2c2b74eb54f578182be96665e94bb8e96efb Mon Sep 17 00:00:00 2001 From: MarshDeer Date: Fri, 6 Sep 2024 20:20:32 -0400 Subject: [PATCH] Added nitter instance selector --- static/preferences.html | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/static/preferences.html b/static/preferences.html index e56eed9..953c6d4 100644 --- a/static/preferences.html +++ b/static/preferences.html @@ -15,12 +15,36 @@ var openlinksToggle = document.getElementById("openLinksCheckbox"); var openlinksPreference = localStorage.getItem("openLinksPreference"); openlinksToggle.checked = openlinksPreference === "true"; + /* Nitter toggle */ + document.getElementById("frontendToggle").checked = localStorage.getItem("frontendToggle") === "true"; } function queryInstances() { - /* Query the status.d420.de API and generate a list of healthy - instances for the user to pick between plus a text input field in - case they want to use their own */ + let instanceList = document.getElementById("instanceList"); + fetch("https://status.d420.de/api/v1/instances") + .then(response => response.json()) + .then(data => { + let i = 0; + for (const instance of data.hosts) { + if (instance.points > 0) { + let labelOpen = ``; + let row = document.createElement("tr"); + let input = document.createElement("td"); + input.innerHTML = `${labelOpen} ${labelClose}`; + let name = document.createElement("td"); + name.innerHTML = `${labelOpen} ${instance.domain} ${labelClose}` + let health = document.createElement("td"); + health.innerHTML = `${labelOpen} ${instance.healthy} ${labelClose}`; + let score = document.createElement("td"); + score.innerHTML = `${labelOpen} ${instance.points} ${labelClose}`; + row.append(input, name, health, score); + instanceList.append(row); + i++; + } + } + document.getElementById("instancePicker").style.removeProperty("display"); + }) } @@ -67,12 +91,12 @@

Use the Nitter health tracker API to query available instances.