vojmahdal's picture
Add Database
32a04d6 verified
Raw
History Blame Contribute Delete
2.13 kB
const statusEl = document.getElementById("status");
const errorEl = document.getElementById("error");
const emptyEl = document.getElementById("empty");
const tableWrapper = document.getElementById("tableWrapper");
const bodyEl = document.getElementById("logBody");
const reloadBtn = document.getElementById("reloadBtn");
function setStatus(msg) {
statusEl.textContent = msg || "";
}
function showError(msg) {
errorEl.textContent = msg;
errorEl.hidden = !msg;
}
function renderRows(items) {
bodyEl.innerHTML = "";
for (const item of items) {
const tr = document.createElement("tr");
const tdTime = document.createElement("td");
tdTime.textContent = item.created_at || "";
tr.appendChild(tdTime);
const tdText = document.createElement("td");
tdText.textContent = item.anonymized_text || "";
tr.appendChild(tdText);
const tdLabel = document.createElement("td");
tdLabel.textContent = item.label || "";
tr.appendChild(tdLabel);
const tdScore = document.createElement("td");
tdScore.textContent =
typeof item.score === "number" ? item.score.toFixed(4) : String(item.score ?? "");
tr.appendChild(tdScore);
bodyEl.appendChild(tr);
}
}
async function loadLogs() {
showError("");
setStatus("Loading logs…");
try {
const res = await fetch("/logs?limit=100");
const data = await res.json().catch(() => null);
if (!res.ok) {
throw new Error(
`API error (${res.status} ${res.statusText})` +
(data?.detail ? `: ${JSON.stringify(data.detail)}` : "")
);
}
if (!Array.isArray(data) || data.length === 0) {
emptyEl.hidden = false;
tableWrapper.hidden = true;
setStatus("No logs yet.");
return;
}
renderRows(data);
emptyEl.hidden = true;
tableWrapper.hidden = false;
setStatus(`Loaded ${data.length} records.`);
} catch (e) {
showError(e?.message || String(e));
setStatus("");
}
}
reloadBtn.addEventListener("click", loadLogs);
// auto-load on page open
loadLogs();