From 67ab63f00eac805887834033e3979faf3af53871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 27 Aug 2021 16:45:05 +0200 Subject: [PATCH] Use ha-alert for error and warning messages in the supervisor panel (#9892) * Use ha-alert for error and warning messages in the supervisor panel * use actionText * Update hassio/src/dialogs/network/dialog-hassio-network.ts Co-authored-by: Bram Kragten Co-authored-by: Bram Kragten --- .../addon-view/config/hassio-addon-audio.ts | 9 +++--- .../addon-view/config/hassio-addon-config.ts | 17 +++++----- .../addon-view/config/hassio-addon-network.ts | 9 +++--- .../hassio-addon-documentation-tab.ts | 5 ++- .../src/addon-view/info/hassio-addon-info.ts | 21 +++++++------ .../src/addon-view/log/hassio-addon-logs.ts | 9 +++--- .../dialogs/backup/dialog-hassio-backup.ts | 5 ++- .../backup/dialog-hassio-create-backup.ts | 5 ++- .../dialogs/network/dialog-hassio-network.ts | 5 +-- .../dialog-hassio-repositories.ts | 5 ++- .../update/dialog-supervisor-update.ts | 5 ++- hassio/src/system/hassio-supervisor-info.ts | 31 ++++++++----------- hassio/src/system/hassio-supervisor-log.ts | 9 +++--- 13 files changed, 71 insertions(+), 64 deletions(-) diff --git a/hassio/src/addon-view/config/hassio-addon-audio.ts b/hassio/src/addon-view/config/hassio-addon-audio.ts index ad6238c429..0851a1269b 100644 --- a/hassio/src/addon-view/config/hassio-addon-audio.ts +++ b/hassio/src/addon-view/config/hassio-addon-audio.ts @@ -13,6 +13,7 @@ import { import { customElement, property, state } from "lit/decorators"; import "web-animations-js/web-animations-next-lite.min"; import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-card"; import { HassioAddonDetails, @@ -53,7 +54,9 @@ class HassioAddonAudio extends LitElement { .header=${this.supervisor.localize("addon.configuration.audio.header")} >
- ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""} `} - ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""} ${!this._yamlMode || (this._canShowSchema && this.addon.schema) || this._valid ? "" : html` -
+ ${this.supervisor.localize( "addon.configuration.options.invalid_yaml" )} -
+ `}
${hasHiddenOptions @@ -324,13 +327,7 @@ class HassioAddonConfig extends LitElement { display: flex; justify-content: space-between; } - .errors { - color: var(--error-color); - margin-top: 16px; - } - .syntaxerror { - color: var(--error-color); - } + .card-menu { float: right; z-index: 3; diff --git a/hassio/src/addon-view/config/hassio-addon-network.ts b/hassio/src/addon-view/config/hassio-addon-network.ts index 9eb8541bdd..5fe8371014 100644 --- a/hassio/src/addon-view/config/hassio-addon-network.ts +++ b/hassio/src/addon-view/config/hassio-addon-network.ts @@ -10,6 +10,7 @@ import { import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../../../../src/common/dom/fire_event"; import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-card"; import { HassioAddonDetails, @@ -62,7 +63,9 @@ class HassioAddonNetwork extends LitElement { )} >
- ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""} @@ -225,10 +228,6 @@ class HassioAddonNetwork extends LitElement { ha-card { display: block; } - .errors { - color: var(--error-color); - margin-bottom: 16px; - } .card-actions { display: flex; justify-content: space-between; diff --git a/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts b/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts index ba12198a97..c5b15cc819 100644 --- a/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts +++ b/hassio/src/addon-view/documentation/hassio-addon-documentation-tab.ts @@ -1,5 +1,6 @@ import "../../../../src/components/ha-card"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-circular-progress"; import "../../../../src/components/ha-markdown"; import { customElement, property, state } from "lit/decorators"; @@ -38,7 +39,9 @@ class HassioAddonDocumentationDashboard extends LitElement { return html`
- ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""}
${this._content ? html`` diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index d6e8a45293..b415330194 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -23,6 +23,7 @@ import { fireEvent } from "../../../../src/common/dom/fire_event"; import { navigate } from "../../../../src/common/navigate"; import "../../../../src/components/buttons/ha-call-api-button"; import "../../../../src/components/buttons/ha-progress-button"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-card"; import "../../../../src/components/ha-label-badge"; import "../../../../src/components/ha-markdown"; @@ -143,14 +144,14 @@ class HassioAddonInfo extends LitElement { this.addon.arch ) ? html` -

+ ${this.supervisor.localize( "addon.dashboard.not_available_arch" )} -

+ ` : html` -

+ ${this.supervisor.localize( "addon.dashboard.not_available_arch", "core_version_installed", @@ -158,7 +159,7 @@ class HassioAddonInfo extends LitElement { "core_version_needed", addonStoreInfo.homeassistant )} -

+ ` : ""}
@@ -569,21 +570,23 @@ class HassioAddonInfo extends LitElement { : ""}
- ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""} ${!this.addon.version && addonStoreInfo && !this.addon.available ? !addonArchIsSupported( this.supervisor.info.supported_arch, this.addon.arch ) ? html` -

+ ${this.supervisor.localize( "addon.dashboard.not_available_arch" )} -

+ ` : html` -

+ ${this.supervisor.localize( "addon.dashboard.not_available_version", "core_version_installed", @@ -591,7 +594,7 @@ class HassioAddonInfo extends LitElement { "core_version_needed", addonStoreInfo!.homeassistant )} -

+ ` : ""} diff --git a/hassio/src/addon-view/log/hassio-addon-logs.ts b/hassio/src/addon-view/log/hassio-addon-logs.ts index a8ed8f3529..fc1cdab675 100644 --- a/hassio/src/addon-view/log/hassio-addon-logs.ts +++ b/hassio/src/addon-view/log/hassio-addon-logs.ts @@ -1,6 +1,7 @@ import "@material/mwc-button"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-card"; import { fetchHassioAddonLogs, @@ -34,7 +35,9 @@ class HassioAddonLogs extends LitElement { return html`

${this.addon.name}

- ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""}
${this._content ? html` `} - ${this._error ? html`

Error: ${this._error}

` : ""} + ${this._error + ? html`${this._error}` + : ""} `} - ${this._error ? html`

Error: ${this._error}

` : ""} + ${this._error + ? html`${this._error}` + : ""} ${this._dialogParams.supervisor.localize("common.close")} diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index 28aa6666c8..858a3eaf7e 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -10,6 +10,7 @@ import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { cache } from "lit/directives/cache"; import { fireEvent } from "../../../../src/common/dom/fire_event"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-circular-progress"; import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-expansion-panel"; @@ -251,9 +252,9 @@ export class DialogHassioNetwork ` : ""} ${this._dirty - ? html`
+ ? html` ${this.supervisor.localize("dialog.network.warning")} -
` + ` : ""}
diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index 7ff50b7e98..9a50043475 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -9,6 +9,7 @@ import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; import { fireEvent } from "../../../../src/common/dom/fire_event"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-circular-progress"; import { createCloseHeading } from "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-svg-icon"; @@ -75,7 +76,9 @@ class HassioRepositoriesDialog extends LitElement { this._dialogParams!.supervisor.localize("dialog.repositories.title") )} > - ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""}
${repositories.length ? repositories.map( diff --git a/hassio/src/dialogs/update/dialog-supervisor-update.ts b/hassio/src/dialogs/update/dialog-supervisor-update.ts index 03e388de59..62c48d2031 100644 --- a/hassio/src/dialogs/update/dialog-supervisor-update.ts +++ b/hassio/src/dialogs/update/dialog-supervisor-update.ts @@ -2,6 +2,7 @@ import "@material/mwc-button/mwc-button"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, state } from "lit/decorators"; import { fireEvent } from "../../../../src/common/dom/fire_event"; +import "../../../../src/components/ha-alert"; import "../../../../src/components/ha-circular-progress"; import "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-settings-row"; @@ -128,7 +129,9 @@ class DialogSupervisorUpdate extends LitElement { this._dialogParams.name )}

`} - ${this._error ? html`

${this._error}

` : ""} + ${this._error + ? html`${this._error}` + : ""} `; } diff --git a/hassio/src/system/hassio-supervisor-info.ts b/hassio/src/system/hassio-supervisor-info.ts index 62baf5809e..2df2530a6c 100644 --- a/hassio/src/system/hassio-supervisor-info.ts +++ b/hassio/src/system/hassio-supervisor-info.ts @@ -3,6 +3,7 @@ import { customElement, property, state } from "lit/decorators"; import { atLeastVersion } from "../../../src/common/config/version"; import { fireEvent } from "../../../src/common/dom/fire_event"; import "../../../src/components/buttons/ha-progress-button"; +import "../../../src/components/ha-alert"; import "../../../src/components/ha-card"; import "../../../src/components/ha-settings-row"; import "../../../src/components/ha-switch"; @@ -170,31 +171,25 @@ class HassioSupervisorInfo extends LitElement { > ` : "" - : html`
+ : html` ${this.supervisor.localize( "system.supervisor.unsupported_title" )} - -
`} + `} ${!this.supervisor.supervisor.healthy - ? html`
+ ? html` ${this.supervisor.localize( "system.supervisor.unhealthy_title" )} - -
` + ` : ""}
diff --git a/hassio/src/system/hassio-supervisor-log.ts b/hassio/src/system/hassio-supervisor-log.ts index ac0f3e8cdc..f41e0a09aa 100644 --- a/hassio/src/system/hassio-supervisor-log.ts +++ b/hassio/src/system/hassio-supervisor-log.ts @@ -5,6 +5,7 @@ import "@polymer/paper-listbox/paper-listbox"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import "../../../src/components/buttons/ha-progress-button"; +import "../../../src/components/ha-alert"; import "../../../src/components/ha-card"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; import { fetchHassioLogs } from "../../../src/data/hassio/supervisor"; @@ -67,7 +68,9 @@ class HassioSupervisorLog extends LitElement { protected render(): TemplateResult | void { return html` - ${this._error ? html`
${this._error}
` : ""} + ${this._error + ? html`${this._error}` + : ""} ${this.hass.userData?.showAdvanced ? html`