From ee38c419de9b1b2554fe1fd61e0d8da0b64eed07 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 25 Mar 2021 08:15:40 -1000 Subject: [PATCH] Ensure platform only integrations are displayed on the config info page (#8698) Co-authored-by: Bram Kragten --- src/data/integration.ts | 7 +++++-- src/panels/config/info/integrations-card.ts | 9 +++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/data/integration.ts b/src/data/integration.ts index 8a59d2d4d7..d8caf1b591 100644 --- a/src/data/integration.ts +++ b/src/data/integration.ts @@ -25,8 +25,11 @@ export const integrationIssuesUrl = ( manifest.issue_tracker || `https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+${domain}%22`; -export const domainToName = (localize: LocalizeFunc, domain: string) => - localize(`component.${domain}.title`) || domain; +export const domainToName = ( + localize: LocalizeFunc, + domain: string, + manifest?: IntegrationManifest +) => localize(`component.${domain}.title`) || manifest?.name || domain; export const fetchIntegrationManifests = (hass: HomeAssistant) => hass.callWS({ type: "manifest/list" }); diff --git a/src/panels/config/info/integrations-card.ts b/src/panels/config/info/integrations-card.ts index b7e10b3e24..d078524f1e 100644 --- a/src/panels/config/info/integrations-card.ts +++ b/src/panels/config/info/integrations-card.ts @@ -28,7 +28,12 @@ class IntegrationsCard extends LitElement { }; private _sortedIntegrations = memoizeOne((components: string[]) => { - return components.filter((comp) => !comp.includes(".")).sort(); + return Array.from( + new Set( + components + .map((comp) => (comp.includes(".") ? comp.split(".")[1] : comp)) + ) + ).sort(); }); firstUpdated(changedProps) { @@ -56,7 +61,7 @@ class IntegrationsCard extends LitElement { /> - ${domainToName(this.hass.localize, domain)}
+ ${domainToName(this.hass.localize, domain, manifest)}
${domain} ${!manifest