From c6ddcd7b2aee8f27ed695ff77f84696f53dc13a3 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Tue, 10 Feb 2026 14:29:40 +0100 Subject: [PATCH] review --- src/components/ha-vacuum-segment-area-mapper.ts | 16 +++++++++++----- .../ha-more-info-view-vacuum-segment-mapping.ts | 1 + .../vacuum/show-view-vacuum-segment-mapping.ts | 4 +++- .../dialogs/dialog-vacuum-segment-mapping.ts | 9 ++++----- .../entities/entity-registry-settings-editor.ts | 16 +++++++++++++--- src/translations/en.json | 5 ++++- 6 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/components/ha-vacuum-segment-area-mapper.ts b/src/components/ha-vacuum-segment-area-mapper.ts index 49022ba05b..0084e43187 100644 --- a/src/components/ha-vacuum-segment-area-mapper.ts +++ b/src/components/ha-vacuum-segment-area-mapper.ts @@ -1,14 +1,15 @@ -import "@material/mwc-list/mwc-list-item"; import type { CSSResultGroup, PropertyValues } from "lit"; import { LitElement, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../common/dom/fire_event"; import type { Segment } from "../data/vacuum"; import { getVacuumSegments } from "../data/vacuum"; +import { haStyle } from "../resources/styles"; import type { HomeAssistant } from "../types"; import "./ha-alert"; import "./ha-area-picker"; -import { haStyle } from "../resources/styles"; +import "./ha-md-list"; +import "./ha-md-list-item"; type AreaSegmentMapping = Record; // area ID -> segment IDs @@ -66,7 +67,11 @@ export class HaVacuumSegmentAreaMapper extends LitElement { if (!this._segments || this._segments.length === 0) { return html` - No segments available + + ${this.hass.localize( + "ui.dialogs.vacuum_segment_mapping.no_segments" + )} + `; } @@ -109,8 +114,9 @@ export class HaVacuumSegmentAreaMapper extends LitElement { slot="end" .hass=${this.hass} .value=${mappedAreas} - .label=${"Area"} - allow-custom-entity + .label=${this.hass.localize( + "ui.dialogs.vacuum_segment_mapping.area_label" + )} @value-changed=${this._handleAreaChanged} data-segment-id=${segment.id} > diff --git a/src/dialogs/more-info/components/vacuum/ha-more-info-view-vacuum-segment-mapping.ts b/src/dialogs/more-info/components/vacuum/ha-more-info-view-vacuum-segment-mapping.ts index 9981bc70f2..2b3b611b5b 100644 --- a/src/dialogs/more-info/components/vacuum/ha-more-info-view-vacuum-segment-mapping.ts +++ b/src/dialogs/more-info/components/vacuum/ha-more-info-view-vacuum-segment-mapping.ts @@ -2,6 +2,7 @@ import type { CSSResultGroup } from "lit"; import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import "../../../../components/ha-button"; +import "../../../../components/ha-spinner"; import "../../../../components/ha-vacuum-segment-area-mapper"; import type { HaVacuumSegmentAreaMapper } from "../../../../components/ha-vacuum-segment-area-mapper"; import type { diff --git a/src/dialogs/more-info/components/vacuum/show-view-vacuum-segment-mapping.ts b/src/dialogs/more-info/components/vacuum/show-view-vacuum-segment-mapping.ts index ce46a21513..4fc59fc85d 100644 --- a/src/dialogs/more-info/components/vacuum/show-view-vacuum-segment-mapping.ts +++ b/src/dialogs/more-info/components/vacuum/show-view-vacuum-segment-mapping.ts @@ -1,16 +1,18 @@ import { fireEvent } from "../../../../common/dom/fire_event"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; export const loadVacuumSegmentMappingView = () => import("./ha-more-info-view-vacuum-segment-mapping"); export const showVacuumSegmentMappingView = ( element: HTMLElement, + localize: LocalizeFunc, entityId: string ): void => { fireEvent(element, "show-child-view", { viewTag: "ha-more-info-view-vacuum-segment-mapping", viewImport: loadVacuumSegmentMappingView, - viewTitle: "Map vacuum segments to areas", + viewTitle: localize("ui.dialogs.vacuum_segment_mapping.title"), viewParams: { entityId }, }); }; diff --git a/src/panels/config/entities/dialogs/dialog-vacuum-segment-mapping.ts b/src/panels/config/entities/dialogs/dialog-vacuum-segment-mapping.ts index ef09d9854a..6375c6471c 100644 --- a/src/panels/config/entities/dialogs/dialog-vacuum-segment-mapping.ts +++ b/src/panels/config/entities/dialogs/dialog-vacuum-segment-mapping.ts @@ -29,10 +29,7 @@ import { import type { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; import type { HomeAssistant } from "../../../../types"; - -export interface VacuumSegmentMappingDialogParams { - entityId: string; -} +import type { VacuumSegmentMappingDialogParams } from "./show-dialog-vacuum-segment-mapping"; @customElement("dialog-vacuum-segment-mapping") export class DialogVacuumSegmentMapping @@ -161,7 +158,9 @@ export class DialogVacuumSegmentMapping .hass=${this.hass} .open=${this._open} @closed=${this._dialogClosed} - header-title="Map vacuum segments to areas" + .headerTitle=${this.hass.localize( + "ui.dialogs.vacuum_segment_mapping.title" + )} .headerSubtitle=${breadcrumb.join( computeRTL(this.hass) ? " ◂ " : " ▸ " )} diff --git a/src/panels/config/entities/entity-registry-settings-editor.ts b/src/panels/config/entities/entity-registry-settings-editor.ts index 1c28459081..459aaca479 100644 --- a/src/panels/config/entities/entity-registry-settings-editor.ts +++ b/src/panels/config/entities/entity-registry-settings-editor.ts @@ -938,9 +938,15 @@ export class EntityRegistrySettingsEditor extends LitElement { .disabled=${this.disabled} @click=${this._handleVacuumSegmentMappingClicked} > - Map vacuum segments to areas + ${this.hass.localize( + "ui.dialogs.vacuum_segment_mapping.title" + )} - Configure which areas each vacuum segment should clean + ${this.hass.localize( + "ui.dialogs.vacuum_segment_mapping.description" + )} @@ -1534,7 +1540,11 @@ export class EntityRegistrySettingsEditor extends LitElement { } private _handleVacuumSegmentMappingClicked() { - showVacuumSegmentMappingView(this, this.entry.entity_id); + showVacuumSegmentMappingView( + this, + this.hass.localize, + this.entry.entity_id + ); } private async _showOptionsFlow() { diff --git a/src/translations/en.json b/src/translations/en.json index fe9b2e6e53..c1a1f5cea1 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -1359,7 +1359,10 @@ }, "dialogs": { "vacuum_segment_mapping": { - "title": "Map vacuum segments to areas" + "title": "Map vacuum segments to areas", + "no_segments": "No segments available", + "area_label": "Area", + "description": "Configure which areas each vacuum segment should clean" }, "safe_mode": { "title": "Safe mode",