diff --git a/src/components/ha-navigation-picker.ts b/src/components/ha-navigation-picker.ts index 92399709a7..3be20513e2 100644 --- a/src/components/ha-navigation-picker.ts +++ b/src/components/ha-navigation-picker.ts @@ -1,5 +1,5 @@ import Fuse from "fuse.js"; -import { mdiDevices, mdiTextureBox } from "@mdi/js"; +import { mdiDevices, mdiPlus, mdiTextureBox } from "@mdi/js"; import { html, LitElement, nothing, type PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -237,6 +237,22 @@ export class HaNavigationPicker extends LitElement { addGroup("views", views); addGroup("other_routes", otherRoutes); + if ( + searchString && + !this._navigationItems.some((navItem) => navItem.id === searchString) + ) { + items.push({ + id: searchString, + primary: this.hass.localize( + "ui.components.navigation-picker.add_custom_path" + ), + secondary: `"${searchString}"`, + icon_path: mdiPlus, + sorting_label: searchString, + group: "other_routes", + }); + } + return items; };