-
+

${this.badgeIcon
? html`
`
: ""}
@@ -44,33 +47,35 @@ class IntegrationBadge extends LitElement {
color: var(--primary-text-color);
}
+ img {
+ max-width: 100%;
+ max-height: 100%;
+ }
+
.icon {
position: relative;
margin: 0 auto 8px;
height: 40px;
width: 40px;
- border-radius: 50%;
- border: 1px solid var(--secondary-text-color);
display: flex;
align-items: center;
justify-content: center;
}
:host([clickable]) .icon {
- border-color: var(--primary-color);
- border-width: 2px;
}
.badge {
position: absolute;
- color: var(--primary-color);
- bottom: -5px;
- right: -5px;
- background-color: white;
+ color: white;
+ bottom: -7px;
+ right: -10px;
+ background-color: var(--label-badge-green);
border-radius: 50%;
width: 18px;
display: block;
height: 18px;
+ border: 2px solid white;
}
.title {
diff --git a/src/onboarding/onboarding-integrations.ts b/src/onboarding/onboarding-integrations.ts
index 74a2d2da65..85ab7b2558 100644
--- a/src/onboarding/onboarding-integrations.ts
+++ b/src/onboarding/onboarding-integrations.ts
@@ -26,7 +26,9 @@ import {
showConfigFlowDialog,
} from "../dialogs/config-flow/show-dialog-config-flow";
import { HomeAssistant } from "../types";
+import "./action-badge";
import "./integration-badge";
+import { domainToName } from "../data/integration";
@customElement("onboarding-integrations")
class OnboardingIntegrations extends LitElement {
@@ -42,8 +44,15 @@ class OnboardingIntegrations extends LitElement {
public connectedCallback() {
super.connectedCallback();
+ this.hass.loadBackendTranslation("title", undefined, true);
this._unsubEvents = subscribeConfigFlowInProgress(this.hass, (flows) => {
this._discovered = flows;
+ for (const flow of flows) {
+ // To render title placeholders
+ if (flow.context.title_placeholders) {
+ this.hass.loadBackendTranslation("config", flow.handler);
+ }
+ }
});
}
@@ -62,13 +71,14 @@ class OnboardingIntegrations extends LitElement {
// Render discovered and existing entries together sorted by localized title.
const entries: Array<[string, TemplateResult]> = this._entries.map(
(entry) => {
- const title = this.hass.localize(`component.${entry.domain}.title`);
+ const title = domainToName(this.hass.localize, entry.domain);
return [
title,
html`
`,
];
@@ -83,8 +93,8 @@ class OnboardingIntegrations extends LitElement {
`,
@@ -102,13 +112,13 @@ class OnboardingIntegrations extends LitElement {
${content}