From 30f40a84cf28fbffca82d04a35904eb2674593ae Mon Sep 17 00:00:00 2001 From: tdro Date: Sun, 15 Oct 2023 17:17:20 -0400 Subject: static/js/timeago: Try tiny format --- static/js/timeago.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'static/js') diff --git a/static/js/timeago.ts b/static/js/timeago.ts index 55616f0..47f6b79 100644 --- a/static/js/timeago.ts +++ b/static/js/timeago.ts @@ -15,6 +15,10 @@ view.right <= (window.innerWidth || self.documentElement.clientWidth) + options.offset; } + function tiny(string, place) { + return string.split(" ").slice(0, place).join(" ") + string.split(" ")[place].charAt(0); + } + const date = function (update) { const elements = document.querySelectorAll("time"); for (let i = 0; i < elements.length; ++i) { @@ -36,17 +40,17 @@ const future = Math.sign(seconds) === -1; if (past) { - if (seconds <= 60) { return element.textContent = relative.format(-1 * seconds, "second",); } - if (minutes <= 120) { return element.textContent = relative.format(-1 * minutes, "minute",); } - if (hours <= 48) { return element.textContent = relative.format(-1 * hours, "hour",); } - if (days <= 7) { return element.textContent = relative.format(-1 * days, "day",); } + if (seconds <= 60) { return element.textContent = tiny(relative.format(-1 * seconds, "second",), 1); } + if (minutes <= 120) { return element.textContent = tiny(relative.format(-1 * minutes, "minute",), 1); } + if (hours <= 48) { return element.textContent = tiny(relative.format(-1 * hours, "hour",), 1); } + if (days <= 7) { return element.textContent = tiny(relative.format(-1 * days, "day",), 1); } } if (future) { - if (-1 * days >= 4) { return element.textContent = relative.format(-1 * days, "day",); } - if (-1 * hours >= 3) { return element.textContent = relative.format(-1 * hours, "hour",); } - if (-1 * minutes >= 2) { return element.textContent = relative.format(-1 * minutes, "minute",); } - if (-1 * seconds >= 1) { return element.textContent = relative.format(-1 * seconds, "second",); } + if (-1 * days >= 4) { return element.textContent = tiny(relative.format(-1 * days, "day",), 2); } + if (-1 * hours >= 3) { return element.textContent = tiny(relative.format(-1 * hours, "hour",), 2); } + if (-1 * minutes >= 2) { return element.textContent = tiny(relative.format(-1 * minutes, "minute",), 2); } + if (-1 * seconds >= 1) { return element.textContent = tiny(relative.format(-1 * seconds, "second",), 2); } } } catch (error) { console.error( -- cgit v1.2.3