(function () { "use strict"; // --- Açık / koyu tema ------------------------------------------------------------ document.addEventListener("click", function (e) { var toggle = e.target.closest("[data-theme-toggle]"); if (!toggle) return; e.preventDefault(); var root = document.documentElement; var next = root.getAttribute("data-bs-theme") === "dark" ? "light" : "dark"; root.setAttribute("data-bs-theme", next); try { localStorage.setItem("theme", next); } catch (err) {} }); // --- HTMX ile doldurulan modal ------------------------------------------------------ // Modal içeriğini yüklemek için: hx-get="..." hx-target="#htmx-modal-dialog" // Sunucu "closeModal" HX-Trigger olayını gönderince modal kapanır. var modalEl = document.getElementById("htmx-modal"); if (modalEl) { var modal = bootstrap.Modal.getOrCreateInstance(modalEl); document.body.addEventListener("htmx:afterSwap", function (e) { if (e.detail.target.id === "htmx-modal-dialog" && !modalEl.classList.contains("show")) { modal.show(); } }); document.body.addEventListener("closeModal", function () { modal.hide(); }); // Sunucu "reloadPage" gönderirse sayfayı yenile (ör. üretim işinde aşama güncellemesi) document.body.addEventListener("reloadPage", function () { window.location.reload(); }); modalEl.addEventListener("hidden.bs.modal", function () { document.getElementById("htmx-modal-dialog").innerHTML = ""; }); } // --- Onay penceresi ----------------------------------------------------------------- //