From 23e5a47b3be5897458337f5c9fb18ea7cadfb5c0 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 13 Sep 2022 20:49:39 +0200 Subject: [PATCH] improve duration rendering for state trigger (#13723) --- src/data/automation_i18n.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 93a6970cc9..e81e6c992a 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -1,3 +1,4 @@ +import { formatDuration } from "../common/datetime/format_duration"; import secondsToDuration from "../common/datetime/seconds_to_duration"; import { ensureArray } from "../common/ensure-array"; import { computeStateName } from "../common/entity/compute_state_name"; @@ -140,17 +141,19 @@ export const describeTrigger = ( base += ` to ${to}`; } - if ("for" in trigger) { - let duration: string; + if (trigger.for) { + let duration: string | null; if (typeof trigger.for === "number") { - duration = `${secondsToDuration(trigger.for)!}`; + duration = secondsToDuration(trigger.for); } else if (typeof trigger.for === "string") { - duration = `${trigger.for}`; + duration = trigger.for; } else { - duration = `${JSON.stringify(trigger.for)}`; + duration = formatDuration(trigger.for); } - base += ` for ${duration}`; + if (duration) { + base += ` for ${duration}`; + } } return base;