Compare commits

...

9 Commits

Author SHA1 Message Date
Paul Bottein
431e533929 20250925.0 (#27170) 2025-09-25 10:48:30 +02:00
Paul Bottein
02c845cbc6 Bumped version to 20250925.0 2025-09-25 10:47:41 +02:00
Paul Bottein
628111ed20 Bumped version to 20250924.1 2025-09-25 10:46:44 +02:00
Paul Bottein
e825a9c02f Smooth animation of the sidebar resizing handle (#27166) 2025-09-25 10:46:36 +02:00
Paul Bottein
7a35bddf36 Fix safe padding for bottom sheet and add scroll lock (#27165) 2025-09-25 10:46:35 +02:00
Norbert Rittel
ad69270af8 Use "Add (person)" instead of "New person" / "Create" (#27161)
* Update dialog-person-detail.ts

* Update en.json
2025-09-25 10:46:34 +02:00
Paulus Schoutsen
404edf9483 Avoid invalid entities in common controls (#27158) 2025-09-25 10:46:33 +02:00
Paul Bottein
a166b4e9b6 Do not show error message when action has no response in dev tools (#27156) 2025-09-25 10:46:32 +02:00
Paul Bottein
7a285f11db 20250924.0 (#27155) 2025-09-24 17:15:37 +02:00
9 changed files with 26 additions and 13 deletions

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "home-assistant-frontend"
version = "20250924.0"
version = "20250925.0"
license = "Apache-2.0"
license-files = ["LICENSE*"]
description = "The Home Assistant frontend"

View File

@@ -54,9 +54,9 @@ export class HaBottomSheet extends LitElement {
border-top-left-radius: var(--ha-border-radius-lg);
border-top-right-radius: var(--ha-border-radius-lg);
max-height: 90vh;
margin-bottom: var(--safe-area-inset-bottom);
margin-left: var(--safe-area-inset-left);
margin-right: var(--safe-area-inset-right);
padding-bottom: var(--safe-area-inset-bottom);
padding-left: var(--safe-area-inset-left);
padding-right: var(--safe-area-inset-right);
}
`;
}

View File

@@ -4,7 +4,7 @@ import type { Action } from "./script";
export const callExecuteScript = (
hass: HomeAssistant,
sequence: Action | Action[]
): Promise<{ context: Context; response: Record<string, any> }> =>
): Promise<{ context: Context; response: Record<string, any> | null }> =>
hass.callWS({
type: "execute_script",
sequence,

View File

@@ -171,7 +171,7 @@ export default class HaAutomationSidebar extends LitElement {
@mousedown=${this._handleMouseDown}
@touchstart=${this._handleMouseDown}
>
${this._resizing ? html`<div class="indicator"></div>` : nothing}
<div class="indicator ${this._resizing ? "" : "hidden"}"></div>
</div>
${this._renderContent()}
`;
@@ -333,6 +333,15 @@ export default class HaAutomationSidebar extends LitElement {
height: 100%;
width: 4px;
border-radius: var(--ha-border-radius-pill);
transform: scale3d(1, 1, 1);
opacity: 1;
transition:
transform 180ms ease-in-out,
opacity 180ms ease-in-out;
}
.handle .indicator.hidden {
transform: scale3d(0, 1, 1);
opacity: 0;
}
`;
}

View File

@@ -260,7 +260,7 @@ class DialogPersonDetail extends LitElement implements HassDialog {
>
${this._params.entry
? this.hass!.localize("ui.common.save")
: this.hass!.localize("ui.panel.config.person.detail.create")}
: this.hass!.localize("ui.common.add")}
</ha-button>
</ha-dialog>
`;

View File

@@ -51,7 +51,7 @@ class HaPanelDevAction extends LitElement {
@state() private _response?: {
domain: string;
service: string;
result: Record<string, any>;
result: Record<string, any> | null;
media?: Promise<TemplateResult | typeof nothing>;
};
@@ -205,7 +205,7 @@ class HaPanelDevAction extends LitElement {
</ha-progress-button>
</div>
</div>
${this._response
${this._response?.result
? html`<div class="content response">
<ha-card
.header=${this.hass.localize(
@@ -491,7 +491,7 @@ class HaPanelDevAction extends LitElement {
service,
result,
media:
"media_source_id" in result
result && "media_source_id" in result
? resolveMediaSource(this.hass, result.media_source_id).then(
(resolved) =>
resolved.mime_type.startsWith("image/")

View File

@@ -46,7 +46,9 @@ export class CommonControlsSectionStrategy extends ReactiveElement {
}
const predictedCommonControl = await getCommonControlUsagePrediction(hass);
let predictedEntities = predictedCommonControl.entities;
let predictedEntities = predictedCommonControl.entities.filter(
(entity) => entity in hass.states
);
if (config.exclude_entities) {
predictedEntities = predictedEntities.filter(

View File

@@ -1,3 +1,4 @@
import scrollLockStyles from "@home-assistant/webawesome/dist/styles/utilities/scroll-lock.css.js";
import { css } from "lit";
import { extractDerivedVars } from "../../common/style/derived-css-vars";
@@ -18,6 +19,8 @@ export const waMainStyles = css`
--wa-border-width-l: var(--ha-border-radius-l);
--wa-space-xl: 32px;
}
${scrollLockStyles}
`;
export const waMainDerivedVariables = extractDerivedVars(waMainStyles);

View File

@@ -5365,7 +5365,7 @@
"person_not_found_title": "Person not found",
"person_not_found": "We couldn't find the person you were trying to edit.",
"detail": {
"new_person": "New person",
"new_person": "Add person",
"name": "Name",
"name_error_msg": "Name is required",
"linked_user": "Linked user",
@@ -5376,7 +5376,6 @@
"device_tracker_picked": "Track device",
"device_tracker_pick": "Pick device to track",
"delete": "Delete",
"create": "Create",
"update": "Update",
"confirm_delete_user_title": "Delete user account",
"confirm_delete_user_text": "The user account for ''{name}'' will be permanently deleted. You can still track the user, but the person will no longer be able to log in.",