| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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)}`
- }
|