From 3648cc5ab906a8da6e796c5b3f375976a5d793a1 Mon Sep 17 00:00:00 2001 From: Talon Date: Sat, 24 Aug 2024 18:18:09 +0200 Subject: [PATCH] Switch to absolute time for now --- frontend/src/views/main.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/frontend/src/views/main.ts b/frontend/src/views/main.ts index 12bd22c..bfeeb68 100644 --- a/frontend/src/views/main.ts +++ b/frontend/src/views/main.ts @@ -51,7 +51,7 @@ export class MainView extends View { this.syncMessages(); this.updateInterval = setInterval(() => { this.updateVisibleMessageShownTimestamps(); - }, 1000); + }, 10000); setTimeout(() => this.attemptToSendUnsentMessages(), 2000); state.events.registerHandler("message-updated", (message) => { @@ -67,7 +67,7 @@ export class MainView extends View { state.save(); const renderedMessage = this.messageElementMap.get(existing.id); if (renderedMessage) { - (renderedMessage as ListItem).setText(`${existing.content}; ${this.convertIsoTimeStringToRelative(existing.createdAt)}`); + (renderedMessage as ListItem).setText(`${existing.content}; ${this.convertIsoTimeStringToFriendly(existing.createdAt)}`); } } }); @@ -254,7 +254,7 @@ export class MainView extends View { existing.fileSize = message.fileSize; const renderedMessage = this.messageElementMap.get(message.id); if (renderedMessage) { - (renderedMessage as ListItem).setText(`${message.content}; ${this.convertIsoTimeStringToRelative(message.createdAt)}`); + (renderedMessage as ListItem).setText(`${message.content}; ${this.convertIsoTimeStringToFriendly(message.createdAt)}`); } } } @@ -275,7 +275,7 @@ export class MainView extends View { } private renderMessage(message: IMessage): UINode { - const itm = new ListItem(`${message.content}; ${this.convertIsoTimeStringToRelative(message.createdAt)}`); + const itm = new ListItem(`${message.content}; ${this.convertIsoTimeStringToFriendly(message.createdAt)}`); itm.setUserData(message.id); itm.onClick(() => { new MessageDialog(message).open(); @@ -443,6 +443,15 @@ export class MainView extends View { } } + private convertIsoTimeStringToFriendly(isoTimeString: string): string { + const date = new Date(isoTimeString); + const now = new Date(); + if (date.getDate() === now.getDate() && date.getMonth() === now.getMonth() && date.getFullYear() === now.getFullYear()) { + return date.toLocaleTimeString(); + } else { + return date.toLocaleString(); + } + } private updateVisibleMessageShownTimestamps() { const lowerIndex = Math.max(this.messageList.getFocus() - 10, 0); const upperIndex = Math.min(this.messageList.getFocus() + 10, this.messageList.children.length);