diff --git a/cast/src/receiver/layout/hc-lovelace.ts b/cast/src/receiver/layout/hc-lovelace.ts index 0151f39073..3812da11d0 100644 --- a/cast/src/receiver/layout/hc-lovelace.ts +++ b/cast/src/receiver/layout/hc-lovelace.ts @@ -49,7 +49,6 @@ class HcLovelace extends LitElement { .hass=${this.hass} .lovelace=${lovelace} .index=${index} - columns="2" > `; } @@ -67,7 +66,7 @@ class HcLovelace extends LitElement { if (configBackground) { (this.shadowRoot!.querySelector( - "hui-view, hui-panel-view" + "hui-view" ) as HTMLElement)!.style.setProperty( "--lovelace-background", configBackground diff --git a/src/panels/lovelace/views/hui-view.ts b/src/panels/lovelace/views/hui-view.ts index de0bae5ea6..3a8dcbcd04 100644 --- a/src/panels/lovelace/views/hui-view.ts +++ b/src/panels/lovelace/views/hui-view.ts @@ -164,14 +164,12 @@ export class HUIView extends UpdatingElement { return; } - const elements: HUIView["_badges"] = []; const badges = processConfigEntities(config.badges as any); - badges.forEach((badge) => { + this._badges = badges.map((badge) => { const element = createBadgeElement(badge); element.hass = this.hass; - elements.push(element); + return element; }); - this._badges = elements; } private _createCards(config: LovelaceViewConfig): void { @@ -180,9 +178,11 @@ export class HUIView extends UpdatingElement { return; } - this._cards = config.cards.map((cardConfig) => - this.createCardElement(cardConfig) - ); + this._cards = config.cards.map((cardConfig) => { + const element = this.createCardElement(cardConfig); + element.hass = this.hass; + return element; + }); } private _rebuildCard( @@ -190,6 +190,7 @@ export class HUIView extends UpdatingElement { config: LovelaceCardConfig ): void { const newCardEl = this.createCardElement(config); + newCardEl.hass = this.hass; if (cardElToReplace.parentElement) { cardElToReplace.parentElement!.replaceChild(newCardEl, cardElToReplace); } @@ -203,7 +204,13 @@ export class HUIView extends UpdatingElement { config: LovelaceBadgeConfig ): void { const newBadgeEl = this.createBadgeElement(config); - badgeElToReplace.parentElement!.replaceChild(newBadgeEl, badgeElToReplace); + newBadgeEl.hass = this.hass; + if (badgeElToReplace.parentElement) { + badgeElToReplace.parentElement!.replaceChild( + newBadgeEl, + badgeElToReplace + ); + } this._badges = this._cards!.map((curBadgeEl) => curBadgeEl === badgeElToReplace ? newBadgeEl : curBadgeEl );