From 7d6bec01ae957060969fded53c40fec3d018b421 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 30 Apr 2025 14:51:22 +0200 Subject: [PATCH] Add DHCP Browser entry point to network (#25235) * Add DHCP Browser entry point to network * lint --- .../config/network/ha-config-network-dhcp.ts | 66 +++++++++++++++++++ .../network/ha-config-section-network.ts | 7 ++ src/translations/en.json | 3 + 3 files changed, 76 insertions(+) create mode 100644 src/panels/config/network/ha-config-network-dhcp.ts diff --git a/src/panels/config/network/ha-config-network-dhcp.ts b/src/panels/config/network/ha-config-network-dhcp.ts new file mode 100644 index 0000000000..ef70d11903 --- /dev/null +++ b/src/panels/config/network/ha-config-network-dhcp.ts @@ -0,0 +1,66 @@ +import "@material/mwc-button/mwc-button"; +import type { CSSResultGroup } from "lit"; +import { css, html, LitElement } from "lit"; +import { customElement, property } from "lit/decorators"; +import "../../../components/ha-button"; +import "../../../components/ha-card"; +import { haStyle } from "../../../resources/styles"; +import type { HomeAssistant } from "../../../types"; + +@customElement("ha-config-network-dhcp") +class ConfigNetworkDHCP extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + protected render() { + return html` + +
+

+ ${this.hass.localize("ui.panel.config.network.discovery.dhcp_info")} +

+
+ +
+ `; + } + + static get styles(): CSSResultGroup { + return [ + haStyle, + css` + ha-settings-row { + padding: 0; + } + + .card-actions { + display: flex; + flex-direction: row-reverse; + justify-content: space-between; + align-items: center; + } + `, // row-reverse so we tab first to "save" + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-config-network-dhcp": ConfigNetworkDHCP; + } +} diff --git a/src/panels/config/network/ha-config-section-network.ts b/src/panels/config/network/ha-config-section-network.ts index 4b5f6a2808..c9a3df311d 100644 --- a/src/panels/config/network/ha-config-section-network.ts +++ b/src/panels/config/network/ha-config-section-network.ts @@ -5,6 +5,7 @@ import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import "../../../layouts/hass-subpage"; import type { HomeAssistant, Route } from "../../../types"; import "./ha-config-network"; +import "./ha-config-network-dhcp"; import "./ha-config-network-ssdp"; import "./ha-config-network-zeroconf"; import "./ha-config-url-form"; @@ -37,6 +38,11 @@ class HaConfigSectionNetwork extends LitElement { : ""} + ${isComponentLoaded(this.hass, "dhcp") + ? html`` + : ""} ${isComponentLoaded(this.hass, "ssdp") ? html`