diff --git a/web/src/components/ServerTaskTable.tsx b/web/src/components/ServerTaskTable.tsx index bdcc63c..cd31f59 100644 --- a/web/src/components/ServerTaskTable.tsx +++ b/web/src/components/ServerTaskTable.tsx @@ -1,7 +1,7 @@ import cronstrue from "cronstrue"; import { CronExpressionParser } from "cron-parser"; import type { TaskRecord } from "../api/client"; -import { formatDateTime } from "../utils/date"; +import { formatDateTime, is24HourFormat } from "../utils/date"; export const SCHEDULE_TYPE_LABELS: Record = { cron: "Cron jobs", @@ -17,7 +17,7 @@ function describeSchedule(task: TaskRecord): string { if (!task.scheduleExpression) return "—"; if (task.scheduleType === "cron") { try { - return cronstrue.toString(task.scheduleExpression, { verbose: false }); + return cronstrue.toString(task.scheduleExpression, { verbose: false, use24HourTimeFormat: is24HourFormat() }); } catch { return task.scheduleExpression; } diff --git a/web/src/utils/date.ts b/web/src/utils/date.ts index f5c7b6b..ddf27e3 100644 --- a/web/src/utils/date.ts +++ b/web/src/utils/date.ts @@ -12,6 +12,11 @@ export function setDateTimeSettings(settings: DateTimeSettings): void { current = settings; } +/** Current 12h/24h preference, for formatters outside this file (e.g. cronstrue's use24HourTimeFormat option). */ +export function is24HourFormat(): boolean { + return current.timeFormat === "24h"; +} + function pad(n: number): string { return String(n).padStart(2, "0"); }