From 4f60a92b9259a29e864c1c51a51465b10450ecca Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Sat, 29 May 2021 05:02:28 +0200 Subject: [PATCH] Fix default themes (#9290) * Fix default themes * Simplify pick theme row --- .../registries/dialog-hassio-registries.ts | 3 -- .../dialog-hassio-repositories.ts | 3 -- .../device/ha-device-action-picker.ts | 1 - .../device/ha-device-condition-picker.ts | 1 - .../device/ha-device-trigger-picker.ts | 1 - .../media-player/ha-media-player-browse.ts | 1 - .../types/ha-automation-trigger-tag.ts | 2 +- .../helpers/forms/ha-input_number-form.ts | 3 -- .../helpers/forms/ha-input_select-form.ts | 3 -- .../helpers/forms/ha-input_text-form.ts | 3 -- .../hui-header-footer-editor.ts | 1 - src/panels/profile/ha-pick-theme-row.ts | 36 ++++--------------- src/state/themes-mixin.ts | 9 +++-- 13 files changed, 11 insertions(+), 56 deletions(-) diff --git a/hassio/src/dialogs/registries/dialog-hassio-registries.ts b/hassio/src/dialogs/registries/dialog-hassio-registries.ts index 6cd738119a..043ca71de5 100644 --- a/hassio/src/dialogs/registries/dialog-hassio-registries.ts +++ b/hassio/src/dialogs/registries/dialog-hassio-registries.ts @@ -244,9 +244,6 @@ class HassioRegistriesDialog extends LitElement { mwc-list-item span[slot="secondary"] { color: var(--secondary-text-color); } - ha-paper-dropdown-menu { - display: block; - } `, ]; } diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index cbc1e6e40d..8130e0d781 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -150,9 +150,6 @@ class HassioRepositoriesDialog extends LitElement { mwc-button { margin-left: 8px; } - ha-paper-dropdown-menu { - display: block; - } ha-circular-progress { display: block; margin: 32px; diff --git a/src/components/device/ha-device-action-picker.ts b/src/components/device/ha-device-action-picker.ts index ce053d45cf..3dbeae27a6 100644 --- a/src/components/device/ha-device-action-picker.ts +++ b/src/components/device/ha-device-action-picker.ts @@ -4,7 +4,6 @@ import { fetchDeviceActions, localizeDeviceAutomationAction, } from "../../data/device_automation"; -import "../ha-paper-dropdown-menu"; import { HaDeviceAutomationPicker } from "./ha-device-automation-picker"; @customElement("ha-device-action-picker") diff --git a/src/components/device/ha-device-condition-picker.ts b/src/components/device/ha-device-condition-picker.ts index 977a4ee05f..f6ca89d012 100644 --- a/src/components/device/ha-device-condition-picker.ts +++ b/src/components/device/ha-device-condition-picker.ts @@ -4,7 +4,6 @@ import { fetchDeviceConditions, localizeDeviceAutomationCondition, } from "../../data/device_automation"; -import "../ha-paper-dropdown-menu"; import { HaDeviceAutomationPicker } from "./ha-device-automation-picker"; @customElement("ha-device-condition-picker") diff --git a/src/components/device/ha-device-trigger-picker.ts b/src/components/device/ha-device-trigger-picker.ts index 142955b24a..c5755f9ecd 100644 --- a/src/components/device/ha-device-trigger-picker.ts +++ b/src/components/device/ha-device-trigger-picker.ts @@ -4,7 +4,6 @@ import { fetchDeviceTriggers, localizeDeviceAutomationTrigger, } from "../../data/device_automation"; -import "../ha-paper-dropdown-menu"; import { HaDeviceAutomationPicker } from "./ha-device-automation-picker"; @customElement("ha-device-trigger-picker") diff --git a/src/components/media-player/ha-media-player-browse.ts b/src/components/media-player/ha-media-player-browse.ts index db5b8af6b3..481b0a5d2a 100644 --- a/src/components/media-player/ha-media-player-browse.ts +++ b/src/components/media-player/ha-media-player-browse.ts @@ -45,7 +45,6 @@ import "../ha-button-menu"; import "../ha-card"; import "../ha-circular-progress"; import "../ha-fab"; -import "../ha-paper-dropdown-menu"; import "../ha-svg-icon"; declare global { diff --git a/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts b/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts index 5accba1a25..454b3bdb80 100644 --- a/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts +++ b/src/panels/config/automation/trigger/types/ha-automation-trigger-tag.ts @@ -6,7 +6,7 @@ import { TagTrigger } from "../../../../../data/automation"; import { fetchTags, Tag } from "../../../../../data/tag"; import { HomeAssistant } from "../../../../../types"; import { TriggerElement } from "../ha-automation-trigger-row"; - +import "../../../../../components/ha-paper-dropdown-menu"; @customElement("ha-automation-trigger-tag") export class HaTagTrigger extends LitElement implements TriggerElement { @property({ attribute: false }) public hass!: HomeAssistant; diff --git a/src/panels/config/helpers/forms/ha-input_number-form.ts b/src/panels/config/helpers/forms/ha-input_number-form.ts index ec3288ebab..4f3a32bbd8 100644 --- a/src/panels/config/helpers/forms/ha-input_number-form.ts +++ b/src/panels/config/helpers/forms/ha-input_number-form.ts @@ -193,9 +193,6 @@ class HaInputNumberForm extends LitElement { .form { color: var(--primary-text-color); } - ha-paper-dropdown-menu { - display: block; - } `, ]; } diff --git a/src/panels/config/helpers/forms/ha-input_select-form.ts b/src/panels/config/helpers/forms/ha-input_select-form.ts index fbb15f7f6e..0267c9e6d2 100644 --- a/src/panels/config/helpers/forms/ha-input_select-form.ts +++ b/src/panels/config/helpers/forms/ha-input_select-form.ts @@ -196,9 +196,6 @@ class HaInputSelectForm extends LitElement { mwc-button { margin-left: 8px; } - ha-paper-dropdown-menu { - display: block; - } `, ]; } diff --git a/src/panels/config/helpers/forms/ha-input_text-form.ts b/src/panels/config/helpers/forms/ha-input_text-form.ts index 4de30e62d2..f48c562791 100644 --- a/src/panels/config/helpers/forms/ha-input_text-form.ts +++ b/src/panels/config/helpers/forms/ha-input_text-form.ts @@ -179,9 +179,6 @@ class HaInputTextForm extends LitElement { .row { padding: 16px 0; } - ha-paper-dropdown-menu { - display: block; - } `, ]; } diff --git a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts index 044f7502ae..5ee72ba281 100644 --- a/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts +++ b/src/panels/lovelace/editor/header-footer-editor/hui-header-footer-editor.ts @@ -5,7 +5,6 @@ import "@polymer/paper-listbox/paper-listbox"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { fireEvent } from "../../../../common/dom/fire_event"; -import "../../../../components/ha-paper-dropdown-menu"; import "../../../../components/ha-svg-icon"; import type { LovelaceConfig } from "../../../../data/lovelace"; import type { HomeAssistant } from "../../../../types"; diff --git a/src/panels/profile/ha-pick-theme-row.ts b/src/panels/profile/ha-pick-theme-row.ts index 7043281d87..bb2ac4a86d 100644 --- a/src/panels/profile/ha-pick-theme-row.ts +++ b/src/panels/profile/ha-pick-theme-row.ts @@ -17,7 +17,6 @@ import "../../components/ha-paper-dropdown-menu"; import "../../components/ha-radio"; import type { HaRadio } from "../../components/ha-radio"; import "../../components/ha-settings-row"; -import { Theme } from "../../data/ws-themes"; import { DEFAULT_PRIMARY_COLOR, DEFAULT_ACCENT_COLOR, @@ -33,10 +32,6 @@ export class HaPickThemeRow extends LitElement { @state() _themeNames: string[] = []; - @state() _selectedThemeIndex = 0; - - @state() _selectedTheme?: Theme; - protected render(): TemplateResult { const hasThemes = this.hass.themes.themes && Object.keys(this.hass.themes.themes).length; @@ -72,7 +67,8 @@ export class HaPickThemeRow extends LitElement { > ${this._themeNames.map( @@ -81,8 +77,7 @@ export class HaPickThemeRow extends LitElement { - ${curTheme === "default" || - (this._selectedTheme && this._supportsModeSelection(this._selectedTheme)) + ${curTheme === "default" || this._supportsModeSelection(curTheme) ? html`
0 - ) { - this._selectedThemeIndex = this._themeNames.indexOf( - this.hass.selectedTheme.theme - ); - this._selectedTheme = this.hass.themes.themes[ - this.hass.selectedTheme.theme - ]; - } else if (!this.hass.selectedTheme) { - this._selectedThemeIndex = 0; - } - } } private _handleColorChange(ev: CustomEvent) { @@ -199,8 +175,8 @@ export class HaPickThemeRow extends LitElement { }); } - private _supportsModeSelection(theme: Theme): boolean { - return theme.modes?.light !== undefined && theme.modes?.dark !== undefined; + private _supportsModeSelection(themeName: string): boolean { + return "modes" in this.hass.themes.themes[themeName]; } private _handleDarkMode(ev: CustomEvent) { diff --git a/src/state/themes-mixin.ts b/src/state/themes-mixin.ts index efce598882..2fc88a831a 100644 --- a/src/state/themes-mixin.ts +++ b/src/state/themes-mixin.ts @@ -74,16 +74,15 @@ export default >(superClass: T) => const themeName = themeSettings?.theme || (darkPreferred && this.hass.themes.default_dark_theme - ? this.hass.themes.default_dark_theme! + ? this.hass.themes.default_dark_theme : this.hass.themes.default_theme); let darkMode = themeSettings?.dark === undefined ? darkPreferred : themeSettings?.dark; - const selectedTheme = - themeSettings?.theme !== undefined - ? this.hass.themes.themes[themeSettings.theme] - : undefined; + const selectedTheme = themeName + ? this.hass.themes.themes[themeName] + : undefined; if (selectedTheme && darkMode && !selectedTheme.modes) { darkMode = false;