diff --git a/hassio/src/addon-view/log/hassio-addon-logs.ts b/hassio/src/addon-view/log/hassio-addon-logs.ts index 133e888bb9..7104e7ed50 100644 --- a/hassio/src/addon-view/log/hassio-addon-logs.ts +++ b/hassio/src/addon-view/log/hassio-addon-logs.ts @@ -2,6 +2,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-ansi-to-html"; import "../../../../src/components/ha-card"; import { fetchHassioAddonLogs, @@ -11,7 +12,6 @@ import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { haStyle } from "../../../../src/resources/styles"; import { HomeAssistant } from "../../../../src/types"; -import "../../components/hassio-ansi-to-html"; import { hassioStyle } from "../../resources/hassio-style"; @customElement("hassio-addon-logs") @@ -40,9 +40,9 @@ class HassioAddonLogs extends LitElement { : ""}
${this._content - ? html`` + >` : ""}
diff --git a/hassio/src/system/hassio-supervisor-log.ts b/hassio/src/system/hassio-supervisor-log.ts index a18f3c1d3b..c3f80e12a6 100644 --- a/hassio/src/system/hassio-supervisor-log.ts +++ b/hassio/src/system/hassio-supervisor-log.ts @@ -1,3 +1,4 @@ +import "../../../src/components/ha-ansi-to-html"; import "@material/mwc-button"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -11,7 +12,6 @@ import { Supervisor } from "../../../src/data/supervisor/supervisor"; import "../../../src/layouts/hass-loading-screen"; import { haStyle } from "../../../src/resources/styles"; import { HomeAssistant } from "../../../src/types"; -import "../components/hassio-ansi-to-html"; import { hassioStyle } from "../resources/hassio-style"; interface LogProvider { @@ -89,8 +89,8 @@ class HassioSupervisorLog extends LitElement {
${this._content - ? html` - ` + ? html` + ` : html``}
diff --git a/hassio/src/components/hassio-ansi-to-html.ts b/src/components/ha-ansi-to-html.ts similarity index 97% rename from hassio/src/components/hassio-ansi-to-html.ts rename to src/components/ha-ansi-to-html.ts index 60c8f51532..c28fff8b05 100644 --- a/hassio/src/components/hassio-ansi-to-html.ts +++ b/src/components/ha-ansi-to-html.ts @@ -10,8 +10,8 @@ interface State { backgroundColor: null | string; } -@customElement("hassio-ansi-to-html") -class HassioAnsiToHtml extends LitElement { +@customElement("ha-ansi-to-html") +class HaAnsiToHtml extends LitElement { @property() public content!: string; protected render(): TemplateResult | void { @@ -241,6 +241,6 @@ class HassioAnsiToHtml extends LitElement { declare global { interface HTMLElementTagNameMap { - "hassio-ansi-to-html": HassioAnsiToHtml; + "ha-ansi-to-html": HaAnsiToHtml; } } diff --git a/src/onboarding/onboarding-restore-backup.ts b/src/onboarding/onboarding-restore-backup.ts index 658593f5c9..49dbf5db83 100644 --- a/src/onboarding/onboarding-restore-backup.ts +++ b/src/onboarding/onboarding-restore-backup.ts @@ -1,11 +1,11 @@ import "@material/mwc-button/mwc-button"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; -import "../../hassio/src/components/hassio-ansi-to-html"; import { showBackupUploadDialog } from "../../hassio/src/dialogs/backup/show-dialog-backup-upload"; import { showHassioBackupDialog } from "../../hassio/src/dialogs/backup/show-dialog-hassio-backup"; import type { LocalizeFunc } from "../common/translations/localize"; import "../components/ha-card"; +import "../components/ha-ansi-to-html"; import { fetchInstallationType } from "../data/onboarding"; import { makeDialogManager } from "../dialogs/make-dialog-manager"; import { ProvideHassLitMixin } from "../mixins/provide-hass-lit-mixin"; @@ -86,7 +86,7 @@ class OnboardingRestoreBackup extends ProvideHassLitMixin(LitElement) { padding: 4px; margin-top: 8px; } - hassio-ansi-to-html { + ha-ansi-to-html { display: block; line-height: 22px; padding: 0 8px; diff --git a/src/panels/config/logs/error-log-card.ts b/src/panels/config/logs/error-log-card.ts index 36ecf7b7c2..1ad78d38ae 100644 --- a/src/panels/config/logs/error-log-card.ts +++ b/src/panels/config/logs/error-log-card.ts @@ -12,6 +12,7 @@ import { import { customElement, property, state } from "lit/decorators"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import "../../../components/ha-alert"; +import "../../../components/ha-ansi-to-html"; import "../../../components/ha-card"; import "../../../components/ha-icon-button"; import "../../../components/ha-select"; @@ -55,7 +56,7 @@ class ErrorLogCard extends LitElement { @state() private _isLogLoaded = false; - @state() private _logHTML!: TemplateResult[] | string; + @state() private _logHTML!: TemplateResult[] | TemplateResult | string; @state() private _error?: string; @@ -158,6 +159,10 @@ class ErrorLogCard extends LitElement { if (this._selectedLogProvider) { try { log = await fetchHassioLogs(this.hass, this._selectedLogProvider); + this._logHTML = html` + `; + this._isLogLoaded = true; + return; } catch (err: any) { this._error = this.hass.localize( "ui.panel.config.logs.failed_get_logs",