From 544fb9bba9337e2f1c061fa9319d67f639c0122e Mon Sep 17 00:00:00 2001 From: Daniel Svitan Date: Wed, 8 Oct 2025 18:14:07 +0200 Subject: [PATCH] :sparkles: Adds fetching trackers --- static/index.html | 62 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/static/index.html b/static/index.html index b1d94c8..14711ad 100644 --- a/static/index.html +++ b/static/index.html @@ -103,6 +103,26 @@ align-self: end; cursor: pointer; } + + #tracker-table { + width: 100%; + margin-top: 2rem; + font-size: 1.10rem; + } + + #tracker-table th:nth-child(1) { + width: 20rem; + } + + #tracker-table td:nth-child(3) { + width: 15rem; + } + + #tracker-table td, #tracker-table th { + margin: 0; + padding: 0; + border-bottom: 1px solid black; + } @@ -116,8 +136,17 @@ + + + + + + + +
IDNameCreated atHits
+
-
+ @@ -131,16 +160,45 @@ event.preventDefault(); const input = document.getElementById("api-key-input"); localStorage.setItem("api-key", input.value); - console.log("set api-key to", input.value); document.getElementById("dialog").style.display = "none"; + loadTriggers(); } function init() { if (localStorage.getItem("api-key")) { document.getElementById("dialog").style.display = "none"; + loadTriggers(); } } + function loadTriggers() { + const apiKey = localStorage.getItem("api-key"); + if (!apiKey) { + return; + } + + fetch("http://localhost:8000/tracker", { + method: "GET", + headers: { + Authorization: apiKey, + } + }).then((res) => { + res.json().then((trackers) => { + console.log(trackers); + trackers.forEach((tracker) => { + document.getElementById("tracker-table").innerHTML += ` + + ${tracker.id} + ${tracker.name} + ${tracker.created_at} + ${tracker.hits} + + `; + }) + }).catch((err) => alert(`Couldn't unwrap json: ${err}`)) + }).catch((err) => alert(`Couldn't fetch trackers: ${err}`)); + } + init();