summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/utils/time.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/utils/time.ts')
-rw-r--r--packages/app/src/utils/time.ts18
1 files changed, 13 insertions, 5 deletions
diff --git a/packages/app/src/utils/time.ts b/packages/app/src/utils/time.ts
index ac709d86d..d183e1080 100644
--- a/packages/app/src/utils/time.ts
+++ b/packages/app/src/utils/time.ts
@@ -1,4 +1,12 @@
-export function getRelativeTime(dateString: string): string {
+type TimeKey =
+ | "common.time.justNow"
+ | "common.time.minutesAgo.short"
+ | "common.time.hoursAgo.short"
+ | "common.time.daysAgo.short"
+
+type Translate = (key: TimeKey, params?: Record<string, string | number>) => string
+
+export function getRelativeTime(dateString: string, t: Translate): string {
const date = new Date(dateString)
const now = new Date()
const diffMs = now.getTime() - date.getTime()
@@ -7,8 +15,8 @@ export function getRelativeTime(dateString: string): string {
const diffHours = Math.floor(diffMinutes / 60)
const diffDays = Math.floor(diffHours / 24)
- if (diffSeconds < 60) return "Just now"
- if (diffMinutes < 60) return `${diffMinutes}m ago`
- if (diffHours < 24) return `${diffHours}h ago`
- return `${diffDays}d ago`
+ if (diffSeconds < 60) return t("common.time.justNow")
+ if (diffMinutes < 60) return t("common.time.minutesAgo.short", { count: diffMinutes })
+ if (diffHours < 24) return t("common.time.hoursAgo.short", { count: diffHours })
+ return t("common.time.daysAgo.short", { count: diffDays })
}