From e955cc437852f77b6aab70e49cd4e7118d5578f6 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 9 Sep 2020 22:57:44 +0200 Subject: [PATCH] Check for hass when setting themes (#6897) --- src/state/themes-mixin.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/state/themes-mixin.ts b/src/state/themes-mixin.ts index 0815f4391a..847f1102f5 100644 --- a/src/state/themes-mixin.ts +++ b/src/state/themes-mixin.ts @@ -45,25 +45,28 @@ export default >(superClass: T) => } private _applyTheme(dark: boolean) { + if (!this.hass) { + return; + } const themeName = - this.hass!.selectedTheme?.theme || - (dark && this.hass!.themes.default_dark_theme - ? this.hass!.themes.default_dark_theme! - : this.hass!.themes.default_theme); + this.hass.selectedTheme?.theme || + (dark && this.hass.themes.default_dark_theme + ? this.hass.themes.default_dark_theme! + : this.hass.themes.default_theme); let options: Partial = this.hass! .selectedTheme; if (themeName === "default" && options?.dark === undefined) { options = { - ...this.hass!.selectedTheme!, + ...this.hass.selectedTheme!, dark, }; } applyThemesOnElement( document.documentElement, - this.hass!.themes, + this.hass.themes, themeName, options ); @@ -71,11 +74,11 @@ export default >(superClass: T) => const darkMode = themeName === "default" ? !!options?.dark - : !!(dark && this.hass!.themes.default_dark_theme); + : !!(dark && this.hass.themes.default_dark_theme); - if (darkMode !== this.hass!.themes.darkMode) { + if (darkMode !== this.hass.themes.darkMode) { this._updateHass({ - themes: { ...this.hass!.themes, darkMode }, + themes: { ...this.hass.themes, darkMode }, }); const schemeMeta = document.querySelector("meta[name=color-scheme]");