Download packages/console/app/src/lib/format-reset-time.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.65 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/console/app/src/lib/format-reset-time.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/console/app/src/lib/format-reset-time.ts
-
curl -L -o format-reset-time.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/console/app/src/lib/format-reset-time.ts
1.65 kB
| 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)}` | |
| } | |