58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
let timezone = luxon.DateTime.now().zone.name;
|
|
const browserTimezone = luxon.DateTime.now().zone.name;
|
|
let botTimezone = "UTC";
|
|
|
|
function update_times() {
|
|
document.querySelectorAll("span.set-timezone").forEach((element) => {
|
|
element.textContent = timezone;
|
|
});
|
|
document.querySelectorAll("span.set-time").forEach((element) => {
|
|
element.textContent = luxon.DateTime.now().setZone(timezone).toFormat("HH:mm");
|
|
});
|
|
document.querySelectorAll("span.browser-timezone").forEach((element) => {
|
|
element.textContent = browserTimezone;
|
|
});
|
|
document.querySelectorAll("span.browser-time").forEach((element) => {
|
|
element.textContent = luxon.DateTime.now().toFormat("HH:mm");
|
|
});
|
|
document.querySelectorAll("span.bot-timezone").forEach((element) => {
|
|
element.textContent = botTimezone;
|
|
});
|
|
document.querySelectorAll("span.bot-time").forEach((element) => {
|
|
element.textContent = luxon.DateTime.now().setZone(botTimezone).toFormat("HH:mm");
|
|
});
|
|
}
|
|
|
|
window.setInterval(() => {
|
|
update_times();
|
|
}, 30000);
|
|
|
|
document.getElementById("set-bot-timezone").addEventListener("click", () => {
|
|
timezone = botTimezone;
|
|
update_times();
|
|
});
|
|
document.getElementById("set-browser-timezone").addEventListener("click", () => {
|
|
timezone = browserTimezone;
|
|
update_times();
|
|
});
|
|
document.getElementById("update-bot-timezone").addEventListener("click", () => {
|
|
timezone = browserTimezone;
|
|
fetch("/dashboard/api/user", {
|
|
method: "PATCH",
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json",
|
|
},
|
|
body: JSON.stringify({ timezone: timezone }),
|
|
})
|
|
.then((response) => response.json())
|
|
.then((data) => {
|
|
if (data.error) {
|
|
show_error(data.error);
|
|
} else {
|
|
botTimezone = browserTimezone;
|
|
update_times();
|
|
}
|
|
});
|
|
});
|