diff options
Diffstat (limited to 'static/js/timeago.ts')
-rw-r--r-- | static/js/timeago.ts | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/static/js/timeago.ts b/static/js/timeago.ts index af974fc..f7567ed 100644 --- a/static/js/timeago.ts +++ b/static/js/timeago.ts @@ -8,47 +8,47 @@ style: "long", }); - const date = () => { - [...document.querySelectorAll("time")] - .forEach( - (element) => { - try { - const time: millisecond = new Date(element.dateTime) || new Date(); - const interval: second = ((new Date().getTime() - time.getTime()) / 1000); - - const seconds: number = Math.floor(interval); - const minutes: number = Math.floor(seconds / 60); - const hours: number = Math.floor(minutes / 60); - const days: number = Math.floor(hours / 24); - - if (Math.sign(seconds) === 1) { - 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 <= 60) { return element.textContent = relative.format(-1 * days, "day",); } - } - - if (Math.sign(seconds) === -1) { - if (-1 * days >= 60) { return element.textContent = relative.format(-1 * days, "day",); } - if (-1 * hours >= 48) { return element.textContent = relative.format(-1 * hours, "hour",); } - if (-1 * minutes >= 120) { return element.textContent = relative.format(-1 * minutes, "minute",); } - if (-1 * seconds >= 0) { return element.textContent = relative.format(-1 * seconds, "second",); } - } - - } catch (error) { - console.error( - "Error: Unable to resolve relative time format!", - error, - ); + const date = function () { + const elements = document.querySelectorAll("time"); + for (let i = 0; i < elements.length; ++i) { + (function (element) { + try { + const time: millisecond = new Date(element.dateTime) || new Date(); + const interval: second = ((new Date().getTime() - time.getTime()) / 1000); + + const seconds: number = Math.floor(interval); + const minutes: number = Math.floor(seconds / 60); + const hours: number = Math.floor(minutes / 60); + const days: number = Math.floor(hours / 24); + + if (Math.sign(seconds) === 1) { + 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 <= 60) { return element.textContent = relative.format(-1 * days, "day",); } } - }, - ); - } + + if (Math.sign(seconds) === -1) { + if (-1 * days >= 60) { return element.textContent = relative.format(-1 * days, "day",); } + if (-1 * hours >= 48) { return element.textContent = relative.format(-1 * hours, "hour",); } + if (-1 * minutes >= 120) { return element.textContent = relative.format(-1 * minutes, "minute",); } + if (-1 * seconds >= 0) { return element.textContent = relative.format(-1 * seconds, "second",); } + } + + } catch (error) { + console.error( + "Error: Unable to resolve relative time format!", + error, + ); + } + })(elements[i]); + } + }; const substitution = setInterval(date, 4); - self.addEventListener("load", () => { - setTimeout(() => { + self.addEventListener("load", function () { + setTimeout(function () { clearInterval(substitution); setInterval(date, 1000); }, 1000); |