import type { Key } from "~/i18n" import type { useI18n } from "~/context/i18n" type ResetTimeKeys = { day: Key days: Key hour: Key hours: Key minute: Key minutes: Key fewSeconds: Key } export const liteResetTimeKeys = { day: "workspace.lite.time.day", days: "workspace.lite.time.days", hour: "workspace.lite.time.hour", hours: "workspace.lite.time.hours", minute: "workspace.lite.time.minute", minutes: "workspace.lite.time.minutes", fewSeconds: "workspace.lite.time.fewSeconds", } satisfies ResetTimeKeys export const blackResetTimeKeys = { day: "workspace.black.time.day", days: "workspace.black.time.days", hour: "workspace.black.time.hour", hours: "workspace.black.time.hours", minute: "workspace.black.time.minute", minutes: "workspace.black.time.minutes", fewSeconds: "workspace.black.time.fewSeconds", } satisfies ResetTimeKeys export function formatResetTime(seconds: number, i18n: ReturnType, keys: ResetTimeKeys) { const days = Math.floor(seconds / 86400) if (days >= 1) { const hours = Math.floor((seconds % 86400) / 3600) return `${days} ${days === 1 ? i18n.t(keys.day) : i18n.t(keys.days)} ${hours} ${hours === 1 ? i18n.t(keys.hour) : i18n.t(keys.hours)}` } const hours = Math.floor(seconds / 3600) const minutes = Math.floor((seconds % 3600) / 60) if (hours >= 1) return `${hours} ${hours === 1 ? i18n.t(keys.hour) : i18n.t(keys.hours)} ${minutes} ${minutes === 1 ? i18n.t(keys.minute) : i18n.t(keys.minutes)}` if (minutes === 0) return i18n.t(keys.fewSeconds) return `${minutes} ${minutes === 1 ? i18n.t(keys.minute) : i18n.t(keys.minutes)}` }