diff --git a/hassio/src/ingress-view/hassio-ingress-view.ts b/hassio/src/ingress-view/hassio-ingress-view.ts index 417954398f21..12cde3d4a110 100644 --- a/hassio/src/ingress-view/hassio-ingress-view.ts +++ b/hassio/src/ingress-view/hassio-ingress-view.ts @@ -46,9 +46,22 @@ class HassioIngressView extends LitElement { private _fetchDataTimeout?: number; + private _messageListener = (ev: MessageEvent) => { + if (this._addon?.webui_ha_aware && ev.data?.type === "toggle-sidebar") { + this._toggleMenu(); + } + }; + + public connectedCallback() { + super.connectedCallback(); + window.addEventListener("message", this._messageListener); + } + public disconnectedCallback() { super.disconnectedCallback(); + window.removeEventListener("message", this._messageListener); + if (this._sessionKeepAlive) { clearInterval(this._sessionKeepAlive); this._sessionKeepAlive = undefined; @@ -83,17 +96,25 @@ class HassioIngressView extends LitElement { `; } - return html`${this.narrow || this.hass.dockedSidebar === "always_hidden" - ? html`