diff --git a/public/__init__.py b/public/__init__.py index 1debde5485..493110db57 100644 --- a/public/__init__.py +++ b/public/__init__.py @@ -2,6 +2,6 @@ from pathlib import Path -def where(): +def where() -> Path: """Return path to the frontend.""" return Path(__file__).parent diff --git a/public/py.typed b/public/py.typed new file mode 100644 index 0000000000..e69de29bb2 diff --git a/setup.cfg b/setup.cfg index f3efcd2597..f1b3450973 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = home-assistant-frontend -version = 20220224.0 +version = 20220226.0 author = The Home Assistant Authors author_email = hello@home-assistant.io license = Apache-2.0 @@ -19,3 +19,8 @@ python_requires = >= 3.4.0 [options.packages.find] include = hass_frontend* + +[mypy] +python_version = 3.4 +show_error_codes = True +strict = True diff --git a/src/dialogs/more-info/controls/more-info-media_player.ts b/src/dialogs/more-info/controls/more-info-media_player.ts index 521ea4499a..916257695a 100644 --- a/src/dialogs/more-info/controls/more-info-media_player.ts +++ b/src/dialogs/more-info/controls/more-info-media_player.ts @@ -52,19 +52,21 @@ class MoreInfoMediaPlayer extends LitElement { return html`
- ${controls!.map( - (control) => html` - - - ` - )} + ${!controls + ? "" + : controls.map( + (control) => html` + + + ` + )}
${supportsFeature(stateObj, SUPPORT_BROWSE_MEDIA) ? html` diff --git a/src/panels/config/automation/action/types/ha-automation-action-device_id.ts b/src/panels/config/automation/action/types/ha-automation-action-device_id.ts index c837304ea9..96bfd08fc5 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-device_id.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-device_id.ts @@ -145,7 +145,7 @@ export class HaDeviceAction extends LitElement { static styles = css` ha-device-picker { display: block; - margin-bottom: 24px; + margin-bottom: 16px; } ha-device-action-picker { display: block; diff --git a/src/panels/config/automation/action/types/ha-automation-action-event.ts b/src/panels/config/automation/action/types/ha-automation-action-event.ts index ee133fa7da..e022bb5f50 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-event.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-event.ts @@ -50,7 +50,7 @@ export class HaEventAction extends LitElement implements ActionElement { -
newValue[key] === undefined || newValue[key] === "" diff --git a/src/panels/config/dashboard/ha-config-dashboard.ts b/src/panels/config/dashboard/ha-config-dashboard.ts index 8c77470c7f..2f67454a9c 100644 --- a/src/panels/config/dashboard/ha-config-dashboard.ts +++ b/src/panels/config/dashboard/ha-config-dashboard.ts @@ -17,7 +17,7 @@ import { PropertyValues, TemplateResult, } from "lit"; -import { customElement, property } from "lit/decorators"; +import { customElement, property, state } from "lit/decorators"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import "../../../components/ha-card"; import "../../../components/ha-icon-next"; @@ -118,6 +118,8 @@ class HaConfigDashboard extends LitElement { @property() public showAdvanced!: boolean; + @state() private _tip?: string; + private _notifyUpdates = false; protected render(): TemplateResult { @@ -204,7 +206,7 @@ class HaConfigDashboard extends LitElement {
Tip! - ${randomTip(this.hass)} + ${this._tip}
@@ -214,6 +216,10 @@ class HaConfigDashboard extends LitElement { protected override updated(changedProps: PropertyValues): void { super.updated(changedProps); + if (!this._tip && changedProps.has("hass")) { + this._tip = randomTip(this.hass); + } + if (!changedProps.has("supervisorUpdates") || !this._notifyUpdates) { return; } diff --git a/src/panels/developer-tools/template/developer-tools-template.ts b/src/panels/developer-tools/template/developer-tools-template.ts index 74a5b8027d..97fa25cc84 100644 --- a/src/panels/developer-tools/template/developer-tools-template.ts +++ b/src/panels/developer-tools/template/developer-tools-template.ts @@ -289,6 +289,12 @@ class HaPanelDevTemplate extends LitElement { .rendered.error { color: var(--error-color); } + + @media all and (max-width: 870px) { + .render-pane { + max-width: 100%; + } + } `, ]; } diff --git a/src/panels/media-browser/browser-media-player.ts b/src/panels/media-browser/browser-media-player.ts index 182f944e3f..bc88414a98 100644 --- a/src/panels/media-browser/browser-media-player.ts +++ b/src/panels/media-browser/browser-media-player.ts @@ -25,6 +25,7 @@ export class BrowserMediaPlayer { private onChange: () => void ) { const player = new Audio(this.resolved.url); + player.autoplay = true; player.volume = volume; player.addEventListener("play", this._handleChange); player.addEventListener("playing", () => { @@ -33,15 +34,7 @@ export class BrowserMediaPlayer { }); player.addEventListener("pause", this._handleChange); player.addEventListener("ended", this._handleChange); - player.addEventListener("canplaythrough", () => { - if (this._removed) { - return; - } - if (this.buffering) { - player.play(); - } - this.onChange(); - }); + player.addEventListener("canplaythrough", this._handleChange); this.player = player; } diff --git a/src/translations/en.json b/src/translations/en.json index d080bac456..d1ec5a56b3 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1863,7 +1863,7 @@ "event": { "label": "Fire event", "event": "[%key:ui::panel::config::automation::editor::triggers::type::event::label%]", - "service_data": "[%key:ui::components::service-control::service_data%]" + "event_data": "[%key:ui::panel::config::automation::editor::triggers::type::event::event_data%]" }, "device_id": { "label": "Device",