// =============================== // 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 {
    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 });
  }
}



// ===============================
//  TOGGLE SOFT DELETE (via prompt)
// ===============================
async function toggleSoftDeletePrompt() {
  const id = prompt("Inserisci l'ID della foto da togglare (soft delete):");

  if (!id) {
    alert("Nessun ID inserito");
    return;
  }

  try {
    const data = await apiPost(`/photos/toggle_soft/${id}`);
    out(data);
  } catch (err) {
    console.error("Errore toggle soft delete:", err);
    out({ error: 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;
  document.getElementById("btnSearchPhotoById").onclick = searchPhotoById;
  document.getElementById("btnShowChanges").onclick = showChanges;
  document.getElementById("btnBack").onclick = () => window.location.href = "index.html";

  // ⭐ NUOVO: Toggle Soft Delete via prompt
  document.getElementById("btnToggleSoft").onclick = toggleSoftDeletePrompt;

  // 3️⃣ Carica dropdown utenti SOLO se Admin
  const payload = parseJwt(Admin.token);
  if (payload.name === "Admin") {
    loadUserDropdown();
  }
});