aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2022-11-07 20:20:14 +0300
committerRblSb <msrblsb@gmail.com>2022-11-07 20:20:14 +0300
commit9f11055ddfaedaad66fdb9278db3d78f8ef10c0f (patch)
treeea2836b7b52fd1e7f67f512f5572599fe8d08c4c /src
parent3cf8531b06ab5647bd86136a1aaab9561d44be32 (diff)
Fix dates in chat history
Save without server timezone offset
Diffstat (limited to 'src')
-rw-r--r--src/client/Main.hx15
-rw-r--r--src/server/Main.hx4
2 files changed, 15 insertions, 4 deletions
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";
diff --git a/src/server/Main.hx b/src/server/Main.hx
index e9f6e21..f7d61e0 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -561,7 +561,9 @@ class Main {
}
data.message.text = text;
data.message.clientName = client.name;
- final time = Date.now().toString().split(" ")[1];
+ final date = Date.now();
+ final utcTime = date.getTime() + date.getTimezoneOffset() * 60 * 1000;
+ final time = Date.fromTime(utcTime).toString();
messages.push({text: text, name: client.name, time: time});
if (messages.length > config.serverChatHistory) messages.shift();
broadcast(data);
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage