From d427d9e7f676ef08d458f07921088d695360b767 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 3 Jul 2023 15:36:29 +0200 Subject: [PATCH] Integrations header: center warning/error text (#17141) Co-authored-by: Paul Bottein --- .../ha-integration-action-card.ts | 3 + .../integrations/ha-integration-card.ts | 11 --- .../integrations/ha-integration-header.ts | 86 +++++++++++-------- 3 files changed, 54 insertions(+), 46 deletions(-) diff --git a/src/panels/config/integrations/ha-integration-action-card.ts b/src/panels/config/integrations/ha-integration-action-card.ts index 0d708df2ef..8914a5284c 100644 --- a/src/panels/config/integrations/ha-integration-action-card.ts +++ b/src/panels/config/integrations/ha-integration-action-card.ts @@ -77,10 +77,13 @@ export class HaIntegrationActionCard extends LitElement { font-weight: 400; margin-top: 8px; margin-bottom: 0; + max-width: 100%; } h3 { font-size: 14px; margin: 0; + max-width: 100%; + text-align: center; } .header-button { position: absolute; diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index acccb400a2..d26c156d85 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -24,8 +24,6 @@ import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; import { computeRTL } from "../../../common/util/compute_rtl"; import "../../../components/ha-card"; -import "../../../components/ha-icon-next"; -import "../../../components/ha-list-item"; import "../../../components/ha-svg-icon"; import { ConfigEntry, ERROR_STATES } from "../../../data/config_entries"; import type { DeviceRegistryEntry } from "../../../data/device_registry"; @@ -114,12 +112,6 @@ export class HaIntegrationCard extends LitElement { : undefined} .manifest=${this.manifest} > - @@ -345,9 +337,6 @@ export class HaIntegrationCard extends LitElement { text-decoration: none; color: var(--primary-text-color); } - a ha-icon-next { - color: var(--secondary-text-color); - } .icons { display: flex; } diff --git a/src/panels/config/integrations/ha-integration-header.ts b/src/panels/config/integrations/ha-integration-header.ts index 44fc4497be..63415f1d4e 100644 --- a/src/panels/config/integrations/ha-integration-header.ts +++ b/src/panels/config/integrations/ha-integration-header.ts @@ -1,6 +1,7 @@ import { mdiAlertCircleOutline, mdiAlertOutline } from "@mdi/js"; import { LitElement, TemplateResult, css, html, nothing } from "lit"; import { customElement, property } from "lit/decorators"; +import "../../../components/ha-icon-next"; import "../../../components/ha-svg-icon"; import { IntegrationManifest, domainToName } from "../../../data/integration"; import { HomeAssistant } from "../../../types"; @@ -40,27 +41,34 @@ export class HaIntegrationHeader extends LitElement { />
${domainName}
${this.error - ? html`
- ${this - .error} -
` + ? html` +
+ + ${this.error} +
+ ` : this.warning - ? html`
- ${this - .warning} -
` + ? html` +
+ + ${this.warning} +
+ ` : nothing}
-
- -
+ `; } @@ -76,12 +84,15 @@ export class HaIntegrationHeader extends LitElement { static styles = css` .header { display: flex; + align-items: center; position: relative; padding-top: 16px; padding-bottom: 16px; padding-inline-start: 16px; padding-inline-end: 8px; direction: var(--direction); + box-sizing: border-box; + min-width: 0; } .header img { margin-inline-start: initial; @@ -91,50 +102,55 @@ export class HaIntegrationHeader extends LitElement { direction: var(--direction); } .header .info { + position: relative; + display: flex; + flex-direction: column; flex: 1; align-self: center; + min-width: 0; } - .primary, - .warning, - .error { - word-wrap: break-word; - display: -webkit-box; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; + ha-icon-next { + color: var(--secondary-text-color); } .primary { + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; font-size: 16px; font-weight: 400; - word-break: break-word; color: var(--primary-text-color); - -webkit-line-clamp: 2; } - .hasError { + .has-secondary { -webkit-line-clamp: 1; font-size: 14px; } - .warning, - .error { - line-height: 20px; + .secondary { + min-width: 0; --mdc-icon-size: 20px; -webkit-line-clamp: 1; - font-size: 0.9em; + font-size: 12px; + display: flex; + flex-direction: row; + } + .secondary > span { + position: relative; + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .secondary > ha-svg-icon { + margin-right: 4px; + flex-shrink: 0; } .error ha-svg-icon { - margin-right: 4px; color: var(--error-color); } .warning ha-svg-icon { - margin-right: 4px; color: var(--warning-color); } - .header-button { - display: flex; - align-items: center; - justify-content: center; - width: 36px; - } `; }