From cdf6e9eb75d1959ab34ca262f89494556b5105d2 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Tue, 4 Feb 2020 09:18:42 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20properly=20format=20timestamps?= =?UTF-8?q?=20in=20glance=20card=20(#4602)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛 properly format timestamps in glance card * address review comments --- src/data/entity.ts | 1 + src/panels/lovelace/cards/hui-glance-card.ts | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/data/entity.ts b/src/data/entity.ts index 4960974c7e..f4d78f3175 100644 --- a/src/data/entity.ts +++ b/src/data/entity.ts @@ -1,4 +1,5 @@ export const UNAVAILABLE = "unavailable"; +export const UNKNOWN = "unknown"; export const ENTITY_COMPONENT_DOMAINS = [ "air_quality", diff --git a/src/panels/lovelace/cards/hui-glance-card.ts b/src/panels/lovelace/cards/hui-glance-card.ts index 883983fa8b..35130eb92c 100644 --- a/src/panels/lovelace/cards/hui-glance-card.ts +++ b/src/panels/lovelace/cards/hui-glance-card.ts @@ -29,6 +29,8 @@ import { actionHandler } from "../common/directives/action-handler-directive"; import { hasAction } from "../common/has-action"; import { ActionHandlerEvent } from "../../../data/lovelace"; import { handleAction } from "../common/handle-action"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { UNAVAILABLE, UNKNOWN } from "../../../data/entity"; @customElement("hui-glance-card") export class HuiGlanceCard extends LitElement implements LovelaceCard { @@ -242,7 +244,18 @@ export class HuiGlanceCard extends LitElement implements LovelaceCard { ${this._config!.show_state !== false && entityConf.show_state !== false ? html`
- ${entityConf.show_last_changed + ${computeDomain(entityConf.entity) === "sensor" && + stateObj.attributes.device_class === "timestamp" && + stateObj.state !== UNAVAILABLE && + stateObj.state !== UNKNOWN + ? html` + + ` + : entityConf.show_last_changed ? relativeTime( new Date(stateObj.last_changed), this.hass!.localize