mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Check for hass when setting themes (#6897)
This commit is contained in:
parent
eb96dd4803
commit
e955cc4378
@ -45,25 +45,28 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _applyTheme(dark: boolean) {
|
private _applyTheme(dark: boolean) {
|
||||||
|
if (!this.hass) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const themeName =
|
const themeName =
|
||||||
this.hass!.selectedTheme?.theme ||
|
this.hass.selectedTheme?.theme ||
|
||||||
(dark && this.hass!.themes.default_dark_theme
|
(dark && this.hass.themes.default_dark_theme
|
||||||
? this.hass!.themes.default_dark_theme!
|
? this.hass.themes.default_dark_theme!
|
||||||
: this.hass!.themes.default_theme);
|
: this.hass.themes.default_theme);
|
||||||
|
|
||||||
let options: Partial<HomeAssistant["selectedTheme"]> = this.hass!
|
let options: Partial<HomeAssistant["selectedTheme"]> = this.hass!
|
||||||
.selectedTheme;
|
.selectedTheme;
|
||||||
|
|
||||||
if (themeName === "default" && options?.dark === undefined) {
|
if (themeName === "default" && options?.dark === undefined) {
|
||||||
options = {
|
options = {
|
||||||
...this.hass!.selectedTheme!,
|
...this.hass.selectedTheme!,
|
||||||
dark,
|
dark,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
applyThemesOnElement(
|
applyThemesOnElement(
|
||||||
document.documentElement,
|
document.documentElement,
|
||||||
this.hass!.themes,
|
this.hass.themes,
|
||||||
themeName,
|
themeName,
|
||||||
options
|
options
|
||||||
);
|
);
|
||||||
@ -71,11 +74,11 @@ export default <T extends Constructor<HassBaseEl>>(superClass: T) =>
|
|||||||
const darkMode =
|
const darkMode =
|
||||||
themeName === "default"
|
themeName === "default"
|
||||||
? !!options?.dark
|
? !!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({
|
this._updateHass({
|
||||||
themes: { ...this.hass!.themes, darkMode },
|
themes: { ...this.hass.themes, darkMode },
|
||||||
});
|
});
|
||||||
|
|
||||||
const schemeMeta = document.querySelector("meta[name=color-scheme]");
|
const schemeMeta = document.querySelector("meta[name=color-scheme]");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user