htmx.on("htmx:afterSwap", (e) => { updateTime(e.target); }); document.addEventListener("DOMContentLoaded", () => { console.log("DOMContentLoaded"); updateTime(document); }) function updateTime(e) { const timezoneOffset = - new Date().getTimezoneOffset(); e.querySelectorAll("#timezone-offset").forEach((el) => { el.value = timezoneOffset; }); document.querySelectorAll(".datetime").forEach((el) => { if (el.textContent !== "") { el.textContent = el.textContent.includes("UTC") ? new Date(el.textContent).toLocaleString([], { day: 'numeric', month: 'short', year: 'numeric', hour: '2-digit', minute: '2-digit' }) : el.textContent; } else if (el.attributes['value'] !== "") { const value = el.attributes['value'].value; const newDate = value.includes("UTC") ? new Date(value) : value; newDate.setTime(newDate.getTime() + timezoneOffset * 60 * 1000); el.valueAsDate = newDate; } }) }