23 lines
760 B
JavaScript
23 lines
760 B
JavaScript
|
|
(() => {
|
|
function getTimezone() {
|
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
}
|
|
if (!window.originalWebSocket) {
|
|
window.originalWebSocket = htmx.createWebSocket
|
|
htmx.createWebSocket = function(url) {
|
|
url = new URL(url, window.location.href).href
|
|
url = url.replace(/^http/, 'ws');
|
|
let modifiedUrl = url + "?timezone=" + getTimezone()
|
|
return window.originalWebSocket(modifiedUrl)
|
|
}
|
|
}
|
|
document.body.addEventListener(
|
|
"htmx:configRequest",
|
|
function(evt) {
|
|
//console.log("Adding timezone to htmx request headers and making URL absolute");
|
|
evt.detail.headers["X-Timezone"] = getTimezone();
|
|
}
|
|
);
|
|
})()
|