Check for hass when setting themes (#6897)

This commit is contained in:
Bram Kragten 2020-09-09 22:57:44 +02:00 committed by GitHub
parent eb96dd4803
commit e955cc4378
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -45,25 +45,28 @@ export default <T extends Constructor<HassBaseEl>>(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<HomeAssistant["selectedTheme"]> = 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 <T extends Constructor<HassBaseEl>>(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]");