diff --git a/landing-page/src/ha-landing-page.ts b/landing-page/src/ha-landing-page.ts index 06d1c43716..5a002518c1 100644 --- a/landing-page/src/ha-landing-page.ts +++ b/landing-page/src/ha-landing-page.ts @@ -2,6 +2,8 @@ import "@material/mwc-linear-progress"; import { type PropertyValues, css, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import "../../src/components/ha-alert"; +import "../../src/components/ha-fade-in"; +import "../../src/components/ha-spinner"; import { haStyle } from "../../src/resources/styles"; import "../../src/onboarding/onboarding-welcome-links"; import "./components/landing-page-network"; @@ -40,6 +42,14 @@ class HaLandingPage extends LandingPageBaseElement { render() { const networkIssue = this._networkInfo && !this._networkInfo.host_internet; + if (!this.localize) { + return html` + + + + `; + } + return html`
@@ -229,6 +239,12 @@ class HaLandingPage extends LandingPageBaseElement { margin-inline-end: 16px; margin-inline-start: initial; } + ha-fade-in { + min-height: calc(100vh - 64px - 88px); + display: flex; + justify-content: center; + align-items: center; + } `, ]; } diff --git a/landing-page/src/landing-page-base-element.ts b/landing-page/src/landing-page-base-element.ts index 9c7a544ddf..c54d85d2e1 100644 --- a/landing-page/src/landing-page-base-element.ts +++ b/landing-page/src/landing-page-base-element.ts @@ -6,23 +6,23 @@ import { type LandingPageKeys, type LocalizeFunc, } from "../../src/common/translations/localize"; +import { computeDirectionStyles } from "../../src/common/util/compute_rtl"; import { ProvideHassLitMixin } from "../../src/mixins/provide-hass-lit-mixin"; +import { translationMetadata } from "../../src/resources/translations-metadata"; +import type { HassBaseEl } from "../../src/state/hass-base-mixin"; +import themesMixin from "../../src/state/themes-mixin"; import type { Constructor, Resources } from "../../src/types"; import { getLocalLanguage, getTranslation, } from "../../src/util/common-translation"; -import { computeDirectionStyles } from "../../src/common/util/compute_rtl"; -import themesMixin from "../../src/state/themes-mixin"; -import { translationMetadata } from "../../src/resources/translations-metadata"; -import type { HassBaseEl } from "../../src/state/hass-base-mixin"; export class LandingPageBaseElement extends themesMixin( ProvideHassLitMixin(LitElement) as unknown as Constructor ) { // Initialized to empty will prevent undefined errors if called before connected to DOM. @property({ attribute: false }) - public localize: LocalizeFunc = () => ""; + public localize?: LocalizeFunc; // Use browser language setup before login. @property() public language?: string = getLocalLanguage();