server_photo_s85js/public/js/optionsSheet.js
2026-08-11 08:45:04 +02:00

83 lines
2.4 KiB
JavaScript

// ===============================
// OPTIONS SHEET — Ordinamento, Raggruppamento, Filtri (foto + attività)
// ===============================
document.addEventListener("DOMContentLoaded", () => {
const optionsSheet = document.getElementById("optionsSheet");
const sheetOverlay = document.getElementById("sheetOverlay");
const optionsBtn = document.getElementById("optionsBtn");
// ===============================
// Nascondi/mostra filtri in base alla modalità
// ===============================
function updateSheetVisibility() {
const filterButtons = optionsSheet.querySelectorAll("[data-filter]");
if (state.mode === "photos") {
filterButtons.forEach(btn => btn.style.display = "");
} else {
// attività → nascondi filtri foto
filterButtons.forEach(btn => btn.style.display = "none");
window.currentFilter = ""; // reset filtro foto
}
}
updateSheetVisibility();
// ===============================
// APRI / CHIUDI
// ===============================
function openOptionsSheet() {
updateSheetVisibility();
optionsSheet.classList.add("open");
sheetOverlay.classList.add("open");
}
function closeOptionsSheet() {
optionsSheet.classList.remove("open");
sheetOverlay.classList.remove("open");
}
// ===============================
// HANDLER CLICK BOTTONI
// ===============================
optionsSheet.addEventListener("click", (e) => {
const btn = e.target.closest(".sheet-btn");
if (!btn) return;
const sort = btn.dataset.sort;
const group = btn.dataset.group;
const filter = btn.dataset.filter;
if (sort) window.currentSort = sort;
if (group) window.currentGroup = group;
// Filtri solo per foto
if (state.mode === "photos") {
if (filter !== undefined) window.currentFilter = filter;
} else {
window.currentFilter = ""; // sicurezza
}
refreshGallery();
closeOptionsSheet();
});
// ===============================
// CHIUSURA CLICCANDO FUORI
// ===============================
sheetOverlay.addEventListener("click", closeOptionsSheet);
// ===============================
// AGGANCIA IL PULSANTE
// ===============================
optionsBtn.addEventListener("click", openOptionsSheet);
// ===============================
// EXPORT
// ===============================
window.openOptionsSheet = openOptionsSheet;
window.closeOptionsSheet = closeOptionsSheet;
});