From 9f11055ddfaedaad66fdb9278db3d78f8ef10c0f Mon Sep 17 00:00:00 2001 From: RblSb Date: Mon, 7 Nov 2022 20:20:14 +0300 Subject: Fix dates in chat history Save without server timezone offset --- src/client/Main.hx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/client') diff --git a/src/client/Main.hx b/src/client/Main.hx index fad4e4f..26d4518 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -761,7 +761,13 @@ class Main { ge("#messagebuffer").textContent = ""; } - function addMessage(name:String, text:String, ?time:String):Void { + function getLocalDateFromUtc(utcDate:String):String { + final date = Date.fromString(utcDate); + final localTime = date.getTime() - date.getTimezoneOffset() * 60 * 1000; + return Date.fromTime(localTime).toString(); + } + + function addMessage(name:String, text:String, ?date:String):Void { final msgBuf = ge("#messagebuffer"); final userDiv = document.createDivElement(); userDiv.className = 'chat-msg-$name'; @@ -771,8 +777,11 @@ class Main { final tstamp = document.createSpanElement(); tstamp.className = "timestamp"; - if (time == null) time = Date.now().toString().split(" ")[1]; - tstamp.textContent = time; + if (date == null) date = Date.now().toString(); + else date = getLocalDateFromUtc(date); + final time = date.split(" ")[1]; + tstamp.textContent = time == null ? date : time; + tstamp.title = date; final nameDiv = document.createElement("strong"); nameDiv.className = "username"; -- cgit v1.2.3