document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll("[data-modal-open]").forEach((trigger) => { trigger.addEventListener("click", (event) => { const targetId = trigger.getAttribute("data-modal-open"); const dialog = document.getElementById(targetId); if (dialog && typeof dialog.showModal === "function") { event.preventDefault(); dialog.showModal(); } }); }); document.querySelectorAll("dialog.modal").forEach((dialog) => { dialog.querySelectorAll("[data-modal-close]").forEach((closer) => { closer.addEventListener("click", (event) => { event.preventDefault(); dialog.close(); }); }); dialog.addEventListener("click", (event) => { if (event.target === dialog) { dialog.close(); } }); }); });