diff --git a/src/layouts/hass-tabs-subpage-data-table.ts b/src/layouts/hass-tabs-subpage-data-table.ts index 79db1674e59a..8d88db443a58 100644 --- a/src/layouts/hass-tabs-subpage-data-table.ts +++ b/src/layouts/hass-tabs-subpage-data-table.ts @@ -266,7 +266,8 @@ export class HaTabsSubpageDataTable extends LitElement { ${normalEntries.length === 0 ? html`
- ${this.hass.config.components.find( + ${this._manifest && + !this._manifest.config_flow && + this.hass.config.components.find( (comp) => comp.split(".")[0] === this.domain ) ? this.hass.localize( diff --git a/src/panels/config/integrations/ha-config-integrations-dashboard.ts b/src/panels/config/integrations/ha-config-integrations-dashboard.ts index 938a9f9c2d47..bdb1dce7190a 100644 --- a/src/panels/config/integrations/ha-config-integrations-dashboard.ts +++ b/src/panels/config/integrations/ha-config-integrations-dashboard.ts @@ -172,6 +172,7 @@ class HaConfigIntegrationsDashboard extends SubscribeMixin(LitElement) { if ( !entryDomains.has(componentDomain) && manifests[componentDomain] && + !manifests[componentDomain].config_flow && (!manifests[componentDomain].integration_type || ["device", "hub", "service", "integration"].includes( manifests[componentDomain].integration_type! @@ -314,6 +315,11 @@ class HaConfigIntegrationsDashboard extends SubscribeMixin(LitElement) { this.configEntriesInProgress.map((flow) => flow.handler) ); } + if (changed.has("configEntries") && this.configEntries) { + this._fetchIntegrationManifests( + this.configEntries.map((entry) => entry.domain) + ); + } } protected render() { diff --git a/src/panels/config/integrations/ha-config-integrations.ts b/src/panels/config/integrations/ha-config-integrations.ts index aa218486ff81..4a80dbb80759 100644 --- a/src/panels/config/integrations/ha-config-integrations.ts +++ b/src/panels/config/integrations/ha-config-integrations.ts @@ -151,7 +151,10 @@ class HaConfigIntegrations extends SubscribeMixin(HassRouterPage) { if (this.hasUpdated) { return; } - this._loadTranslationsPromise = this.hass.loadBackendTranslation("title"); + this._loadTranslationsPromise = this.hass.loadBackendTranslation( + "title", + this.hass.config.components.map((comp) => comp.split(".")[0]) + ); } protected updatePageEl(pageEl) { diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index 0ea39700d6e2..3e7cd7568f58 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -182,7 +182,7 @@ export class HaIntegrationCard extends LitElement { >
` : nothing} - ${!this.manifest?.config_flow + ${this.manifest && !this.manifest?.config_flow ? html`