// =============================== // UI FUNCTIONS // =============================== // Mostra output JSON nel
function out(data) {
document.getElementById("out").textContent =
JSON.stringify(data, null, 2);
}
// ===============================
// CARICA LISTA UTENTI (solo Admin)
// ===============================
async function loadUserDropdown() {
try {
// Usa apiGet invece di fetch diretto
const users = await apiGet(`/users`);
const sel = document.getElementById("userSelect");
if (!sel) return;
sel.innerHTML = "";
users.forEach(u => {
const opt = document.createElement("option");
opt.value = u.name;
opt.textContent = u.name;
sel.appendChild(opt);
});
} catch (err) {
console.error("Errore nel caricare gli utenti:", err);
out({ error: "Errore nel caricare gli utenti", details: err.message });
}
}
// ===============================
// INIZIALIZZAZIONE UI
// ===============================
document.addEventListener("DOMContentLoaded", async () => {
// 1️⃣ Aspetta che config.js carichi Admin.BASE_URL
await loadConfig();
// 2️⃣ Inizializza pulsanti
document.getElementById("btnScan").onclick = scan;
document.getElementById("btnResetDB").onclick = resetDB;
document.getElementById("btnReadDBUser").onclick = readDBUser;
document.getElementById("btnDeletePhoto").onclick = deletePhoto;
document.getElementById("btnFindIdIndex").onclick = findIdIndex;
document.getElementById("btnResetDBuser").onclick = resetDBuser; // definita in db.js
document.getElementById("btnSearchPhotoById").onclick = searchPhotoById;
document.getElementById("btnShowChanges").onclick = showChanges;
document.getElementById("btnBack").onclick = () => window.location.href = "index.html";
// 3️⃣ Carica dropdown utenti SOLO se Admin
const payload = parseJwt(Admin.token);
if (payload.name === "Admin") {
loadUserDropdown();
}
});