🐛 properly format timestamps in glance card (#4602)

* 🐛 properly format timestamps in glance card

* address review comments
This commit is contained in:
Ian Richardson 2020-02-04 09:18:42 -06:00 committed by GitHub
parent 4aa49f66bc
commit cdf6e9eb75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -1,4 +1,5 @@
export const UNAVAILABLE = "unavailable"; export const UNAVAILABLE = "unavailable";
export const UNKNOWN = "unknown";
export const ENTITY_COMPONENT_DOMAINS = [ export const ENTITY_COMPONENT_DOMAINS = [
"air_quality", "air_quality",

View File

@ -29,6 +29,8 @@ import { actionHandler } from "../common/directives/action-handler-directive";
import { hasAction } from "../common/has-action"; import { hasAction } from "../common/has-action";
import { ActionHandlerEvent } from "../../../data/lovelace"; import { ActionHandlerEvent } from "../../../data/lovelace";
import { handleAction } from "../common/handle-action"; import { handleAction } from "../common/handle-action";
import { computeDomain } from "../../../common/entity/compute_domain";
import { UNAVAILABLE, UNKNOWN } from "../../../data/entity";
@customElement("hui-glance-card") @customElement("hui-glance-card")
export class HuiGlanceCard extends LitElement implements LovelaceCard { 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 ${this._config!.show_state !== false && entityConf.show_state !== false
? html` ? html`
<div> <div>
${entityConf.show_last_changed ${computeDomain(entityConf.entity) === "sensor" &&
stateObj.attributes.device_class === "timestamp" &&
stateObj.state !== UNAVAILABLE &&
stateObj.state !== UNKNOWN
? html`
<hui-timestamp-display
.hass=${this.hass}
.ts=${new Date(stateObj.state)}
.format=${entityConf.format}
></hui-timestamp-display>
`
: entityConf.show_last_changed
? relativeTime( ? relativeTime(
new Date(stateObj.last_changed), new Date(stateObj.last_changed),
this.hass!.localize this.hass!.localize