/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/console/app/src/lib/format-reset-time.ts
47 строк
2 KB
Victor Navarro
feat(go): referral support (#28345)
19 май 2026, 18:51
Не верифицирован
19 май 2026, 18:51
b32f071
Код
Авторство
О чём код?
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<typeof useI18n>, 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)}` }