From 2c4e769343feaa6749034312ff2fc832d050e999 Mon Sep 17 00:00:00 2001 From: Zack Date: Fri, 19 Aug 2022 13:57:01 -0500 Subject: [PATCH] Start Dongles --- .../config/hardware/ha-config-hardware.ts | 54 ++++++++++++++++--- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/src/panels/config/hardware/ha-config-hardware.ts b/src/panels/config/hardware/ha-config-hardware.ts index ebeea3e350..82cc034786 100644 --- a/src/panels/config/hardware/ha-config-hardware.ts +++ b/src/panels/config/hardware/ha-config-hardware.ts @@ -61,16 +61,18 @@ class HaConfigHardware extends LitElement { let imageURL: string | undefined; let documentationURL: string | undefined; - if (this._hardwareInfo?.hardware.length) { - const boardData = this._hardwareInfo!.hardware[0]; + const hardware = this._hardwareInfo?.hardware.concat(); - boardId = boardData.board.hassio_board_id; - boardName = boardData.name; - documentationURL = boardData.url; + if (hardware?.length) { + const boardData = hardware.shift(); + + boardId = boardData!.board.hassio_board_id; + boardName = boardData!.name; + documentationURL = boardData!.url; imageURL = hardwareBrandsUrl({ category: "boards", - manufacturer: boardData.board.manufacturer, - model: boardData.board.model, + manufacturer: boardData!.board.manufacturer, + model: boardData!.board.model, darkOptimized: this.hass.themes?.darkMode, }); } else if (this._OSData?.board) { @@ -172,6 +174,43 @@ class HaConfigHardware extends LitElement { ` : ""} + ${hardware?.length + ? html` + +
Connected Hardware
+
+ + ${hardware.map((device) => { + const deviceImageURL = hardwareBrandsUrl({ + category: "boards", + manufacturer: device.dongles[0].manufacturer, + model: device.dongles[0].model, + darkOptimized: this.hass.themes?.darkMode, + }); + + return html` + + ${deviceImageURL + ? html`` + : ""} + ${device.name} + ${device.dongles[0].manufacturer} + + `; + })} + +
+
+ ` + : ""} `; } @@ -276,7 +315,6 @@ class HaConfigHardware extends LitElement { ha-card { max-width: 600px; margin: 0 auto; - height: 100%; justify-content: space-between; flex-direction: column; display: flex;