Skip to content

Commit cbb7224

Browse files
authored
fix activity time display/calculation
1 parent e2ba058 commit cbb7224

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

unity-forum-fixer.js

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ==UserScript==
22
// @name UnityForumFixer
33
// @namespace https://unitycoder.com/
4-
// @version 0.5 (26.08.2024)
4+
// @version 0.52 (26.08.2024)
55
// @description Fixes For Unity Forums - https://github.com/unitycoder/UnityForumFixer
66
// @author unitycoder.com
77
// @match https://discussions.unity.com/latest
@@ -283,37 +283,41 @@ function TopicsViewCombineViewAndReplyCounts()
283283
}
284284
}
285285

286-
function FixPostActivityTime()
287-
{
288-
document.querySelectorAll('.relative-date').forEach(function (el)
289-
{
286+
function FixPostActivityTime() {
287+
document.querySelectorAll('.relative-date').forEach(function (el) {
290288
const dataTime = parseInt(el.getAttribute('data-time'), 10);
291289
if (!dataTime) return;
292290

293291
const date = new Date(dataTime);
294292
const now = new Date();
295293
const diffInMinutes = Math.floor((now - date) / (1000 * 60));
296294
const diffInHours = Math.floor(diffInMinutes / 60);
295+
const diffInDays = Math.floor(diffInHours / 24);
297296

298297
let timeString;
299-
if (diffInHours >= 1) {
300-
const remainingMinutes = diffInMinutes % 60;
301-
if (remainingMinutes > 0) {
302-
timeString = `${diffInHours} hour${diffInHours !== 1 ? 's' : ''} ${remainingMinutes} minute${remainingMinutes !== 1 ? 's' : ''} ago`;
298+
299+
if (diffInMinutes < 60) { // Less than 60 minutes
300+
if (diffInMinutes === 0) {
301+
timeString = `just now`;
303302
} else {
304-
timeString = `${diffInHours} hour${diffInHours !== 1 ? 's' : ''} ago`;
303+
timeString = `${diffInMinutes} minute${diffInMinutes !== 1 ? 's' : ''} ago`;
305304
}
306-
} else if (diffInMinutes >= 1) {
307-
timeString = `${diffInMinutes} minute${diffInMinutes !== 1 ? 's' : ''} ago`;
308-
} else {
309-
timeString = `just now`;
305+
} else if (diffInHours < 24) { // Less than 24 hours
306+
timeString = `${diffInHours} hour${diffInHours !== 1 ? 's' : ''} ago`;
307+
} else if (diffInDays < 7) { // Within the last 7 days
308+
const dayName = date.toLocaleDateString('en-GB', { weekday: 'long' }); // Get day name like 'Monday'
309+
const formattedTime = date.toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit', hour12: false }); // Format as "HH:MM"
310+
timeString = `${dayName} at ${formattedTime}`;
311+
} else { // Older than 7 days
312+
timeString = date.toLocaleDateString('en-GB', { day: '2-digit', month: 'short', year: 'numeric' }); // Format as "20 Sep 2024"
310313
}
311314

312315
el.textContent = timeString;
313316
});
314317
}
315318

316319

320+
317321
// POST VIEW
318322

319323
function PostViewShowOriginalPosterInfo()

0 commit comments

Comments
 (0)