diff --git a/hassio/src/hassio-router.ts b/hassio/src/hassio-router.ts index 082688399e..bbb3038a88 100644 --- a/hassio/src/hassio-router.ts +++ b/hassio/src/hassio-router.ts @@ -61,10 +61,11 @@ class HassioRouter extends HassRouterPage { el.hass = this.hass; el.narrow = this.narrow; el.route = route; - el.supervisor = this.supervisor; if (el.localName === "hassio-ingress-view") { el.ingressPanel = this.panel.config && this.panel.config.ingress; + } else { + el.supervisor = this.supervisor; } } diff --git a/hassio/src/ingress-view/hassio-ingress-view.ts b/hassio/src/ingress-view/hassio-ingress-view.ts index 24d050acb9..0775850ea2 100644 --- a/hassio/src/ingress-view/hassio-ingress-view.ts +++ b/hassio/src/ingress-view/hassio-ingress-view.ts @@ -21,7 +21,6 @@ import { createHassioSession, validateHassioSession, } from "../../../src/data/hassio/ingress"; -import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showAlertDialog } from "../../../src/dialogs/generic/show-dialog-box"; import "../../../src/layouts/hass-loading-screen"; import "../../../src/layouts/hass-subpage"; @@ -31,11 +30,9 @@ import { HomeAssistant, Route } from "../../../src/types"; class HassioIngressView extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public supervisor!: Supervisor; + @property({ attribute: false }) public route!: Route; - @property() public route!: Route; - - @property() public ingressPanel = false; + @property({ type: Boolean }) public ingressPanel = false; @state() private _addon?: HassioAddonDetails; @@ -102,14 +99,14 @@ class HassioIngressView extends LitElement { } if (!addonInfo.version) { await showAlertDialog(this, { - text: this.supervisor.localize("my.error_addon_not_installed"), + text: this.hass.localize("supervisor.my.error_addon_not_installed"), title: addonInfo.name, }); await nextRender(); navigate(`/hassio/addon/${addonInfo.slug}/info`, { replace: true }); } else if (!addonInfo.ingress) { await showAlertDialog(this, { - text: this.supervisor.localize("my.error_addon_no_ingress"), + text: this.hass.localize("supervisor.my.error_addon_no_ingress"), title: addonInfo.name, }); await nextRender(); diff --git a/hassio/src/supervisor-base-element.ts b/hassio/src/supervisor-base-element.ts index 9811f36266..553eecdc82 100644 --- a/hassio/src/supervisor-base-element.ts +++ b/hassio/src/supervisor-base-element.ts @@ -15,6 +15,7 @@ import { fetchHassioHomeAssistantInfo, fetchHassioInfo, fetchHassioSupervisorInfo, + HassioPanelInfo, } from "../../src/data/hassio/supervisor"; import { fetchSupervisorStore } from "../../src/data/supervisor/store"; import { @@ -25,7 +26,7 @@ import { } from "../../src/data/supervisor/supervisor"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; import { urlSyncMixin } from "../../src/state/url-sync-mixin"; -import { HomeAssistant } from "../../src/types"; +import { HomeAssistant, Route } from "../../src/types"; import { getTranslation } from "../../src/util/common-translation"; declare global { @@ -42,6 +43,10 @@ export class SupervisorBaseElement extends urlSyncMixin( localize: () => "", }; + @property({ attribute: false }) public panel!: HassioPanelInfo; + + @property({ attribute: false }) public route?: Route; + @state() private _unsubs: Record = {}; @state() private _collections: Record> = {}; @@ -110,7 +115,12 @@ export class SupervisorBaseElement extends urlSyncMixin( this._language = this.hass.language; } this._initializeLocalize(); - this._initSupervisor(); + if ( + !(this.panel.config && "ingress" in this.panel.config) && + this.route?.path !== "/ingress" + ) { + this._initSupervisor(); + } } private async _initializeLocalize() {