diff --git a/src/components/entity/ha-state-label-badge.ts b/src/components/entity/ha-state-label-badge.ts
index 50bb6a137e..b7001ab861 100644
--- a/src/components/entity/ha-state-label-badge.ts
+++ b/src/components/entity/ha-state-label-badge.ts
@@ -1,3 +1,4 @@
+import { mdiAlert } from "@mdi/js";
import { HassEntity } from "home-assistant-js-websocket";
import {
css,
@@ -14,11 +15,12 @@ import { computeStateDisplay } from "../../common/entity/compute_state_display";
import { computeStateDomain } from "../../common/entity/compute_state_domain";
import { computeStateName } from "../../common/entity/compute_state_name";
import { stateIcon } from "../../common/entity/state_icon";
-import { timerTimeRemaining } from "../../data/timer";
import { formatNumber } from "../../common/number/format_number";
import { UNAVAILABLE, UNKNOWN } from "../../data/entity";
+import { timerTimeRemaining } from "../../data/timer";
import { HomeAssistant } from "../../types";
import "../ha-label-badge";
+import "../ha-icon";
@customElement("ha-state-label-badge")
export class HaStateLabelBadge extends LitElement {
@@ -58,16 +60,20 @@ export class HaStateLabelBadge extends LitElement {
+ >
+
+
`;
}
const domain = computeStateDomain(entityState);
+ const value = this._computeValue(domain, entityState);
+ const icon = this.icon ? this.icon : this._computeIcon(domain, entityState);
+
return html`
+ >
+ ${icon ? html`` : ""}
+ ${value && (this.icon || !this.image)
+ ? html` 4 ? "big" : ""}
+ >${value}`
+ : ""}
+
`;
}
@@ -208,7 +219,9 @@ export class HaStateLabelBadge extends LitElement {
:host {
cursor: pointer;
}
-
+ .big {
+ font-size: 70%;
+ }
ha-label-badge {
--ha-label-badge-color: var(--label-badge-red, #df4c1e);
}
diff --git a/src/components/ha-label-badge.ts b/src/components/ha-label-badge.ts
index 9312308687..7c1d633f43 100644
--- a/src/components/ha-label-badge.ts
+++ b/src/components/ha-label-badge.ts
@@ -8,13 +8,9 @@ import {
} from "lit";
import { property } from "lit/decorators";
import { classMap } from "lit/directives/class-map";
-import "./ha-icon";
+import "./ha-svg-icon";
class HaLabelBadge extends LitElement {
- @property() public value?: string;
-
- @property() public icon?: string;
-
@property() public label?: string;
@property() public description?: string;
@@ -25,20 +21,8 @@ class HaLabelBadge extends LitElement {
return html`
-
4),
- })}
- >
-
- ${this.icon && !this.value && !this.image
- ? html``
- : ""}
- ${this.value && !this.image
- ? html`${this.value}`
- : ""}
-
+
+
${this.label
? html`
@@ -54,7 +38,7 @@ class HaLabelBadge extends LitElement {
: ""}
${this.description
- ? html`
${this.description}
`
+ ? html`
${this.description}
`
: ""}
`;
@@ -87,14 +71,15 @@ class HaLabelBadge extends LitElement {
background-size: cover;
transition: border 0.3s ease-in-out;
}
+ .label-badge .label.big span {
+ font-size: 90%;
+ padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */
+ }
.label-badge .value {
font-size: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
- .label-badge .value.big {
- font-size: 70%;
- }
.label-badge .label {
position: absolute;
bottom: -1em;
@@ -119,10 +104,6 @@ class HaLabelBadge extends LitElement {
transition: background-color 0.3s ease-in-out;
text-transform: var(--ha-label-badge-label-text-transform, uppercase);
}
- .label-badge .label.big span {
- font-size: 90%;
- padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */
- }
.badge-container .title {
margin-top: 1em;
font-size: var(--ha-label-badge-title-font-size, 0.9em);
diff --git a/src/panels/lovelace/badges/hui-error-badge.ts b/src/panels/lovelace/badges/hui-error-badge.ts
index f15a5b0490..375cac75ab 100644
--- a/src/panels/lovelace/badges/hui-error-badge.ts
+++ b/src/panels/lovelace/badges/hui-error-badge.ts
@@ -1,6 +1,8 @@
+import { mdiAlert } from "@mdi/js";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
import { customElement, state } from "lit/decorators";
import "../../../components/ha-label-badge";
+import "../../../components/ha-svg-icon";
import { HomeAssistant } from "../../../types";
import { LovelaceBadge } from "../types";
import { ErrorBadgeConfig } from "./types";
@@ -32,11 +34,9 @@ export class HuiErrorBadge extends LitElement implements LovelaceBadge {
}
return html`
-
+
+
+
`;
}