From 55a48d5541e51bfe3cf6ff89f16416e7ddab39e1 Mon Sep 17 00:00:00 2001 From: jejolare Date: Sat, 14 Jun 2025 17:56:37 +0700 Subject: [PATCH] debug --- .../default/LatestBlocks/LatestBlocks.tsx | 14 +++++++++++++- src/utils/utils.ts | 10 ++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/default/LatestBlocks/LatestBlocks.tsx b/src/components/default/LatestBlocks/LatestBlocks.tsx index 6b30455..6e29727 100644 --- a/src/components/default/LatestBlocks/LatestBlocks.tsx +++ b/src/components/default/LatestBlocks/LatestBlocks.tsx @@ -133,7 +133,19 @@ function LatestBlocks({ fetchedInfo, fetchedLatestBlocks }: { fetchedInfo: Info ] }); - const lastUpdatedText = lastUpdated ? Utils.timeElapsedString(lastUpdated) : undefined; + const [lastUpdatedText, setLastUpdatedText] = useState(undefined); + + useEffect(() => { + function formatLastUpdated() { + setLastUpdatedText(lastUpdated ? Utils.timeElapsedString(lastUpdated / 1000, true) : undefined); + } + + formatLastUpdated(); + const interval = setInterval(formatLastUpdated, 1000); + return () => clearInterval(interval); + + }, [lastUpdated]); + return (
diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 7432b2d..c4c42dc 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -92,12 +92,18 @@ class Utils { } as Block)); } - static timeElapsedString(timestamp: number): string { + static timeElapsedString(timestamp: number, includeSeconds: boolean = false): string { const currentTimestamp: number = Date.now() / 1000; const elapsedSeconds: number = currentTimestamp - timestamp; if (elapsedSeconds < 60) { - return "just now"; + + if (includeSeconds && elapsedSeconds > 0) { + const seconds: number = Math.floor(elapsedSeconds); + return `${seconds} second${seconds > 1 ? 's' : ''} ago`; + } else { + return "just now"; + } } else if (elapsedSeconds < 3600) { const minutes: number = Math.floor(elapsedSeconds / 60); return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;