From d4872b177ffcd94fe1d326df2d6f65dd55ef157c Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 4 Sep 2023 20:08:33 +0200 Subject: [PATCH] Start improve restore backup in onboarding (#17813) --- hassio/src/components/hassio-upload-backup.ts | 1 - src/onboarding/ha-onboarding.ts | 55 +++++++++++++++--- src/onboarding/onboarding-restore-backup.ts | 56 +++++++++++++------ src/onboarding/onboarding-welcome-link.ts | 1 + src/onboarding/onboarding-welcome-links.ts | 29 +++++++--- src/translations/en.json | 1 + 6 files changed, 109 insertions(+), 34 deletions(-) diff --git a/hassio/src/components/hassio-upload-backup.ts b/hassio/src/components/hassio-upload-backup.ts index 57046f2818..3cc379438e 100644 --- a/hassio/src/components/hassio-upload-backup.ts +++ b/hassio/src/components/hassio-upload-backup.ts @@ -33,7 +33,6 @@ export class HassioUploadBackup extends LitElement { label="Upload backup" supports="Supports .TAR files" @file-picked=${this._uploadFile} - auto-open-file-dialog > `; } diff --git a/src/onboarding/ha-onboarding.ts b/src/onboarding/ha-onboarding.ts index 7a06c0e3cf..8cd3f0fab4 100644 --- a/src/onboarding/ha-onboarding.ts +++ b/src/onboarding/ha-onboarding.ts @@ -15,7 +15,11 @@ import { } from "../common/auth/token_storage"; import { applyThemesOnElement } from "../common/dom/apply_themes_on_element"; import { HASSDomEvent } from "../common/dom/fire_event"; -import { extractSearchParamsObject } from "../common/url/search-params"; +import { + addSearchParam, + extractSearchParam, + extractSearchParamsObject, +} from "../common/url/search-params"; import { subscribeOne } from "../common/util/subscribe-one"; import "../components/ha-card"; import "../components/ha-language-picker"; @@ -39,6 +43,8 @@ import "./onboarding-loading"; import "./onboarding-welcome"; import "./onboarding-welcome-links"; import { makeDialogManager } from "../dialogs/make-dialog-manager"; +import { navigate } from "../common/navigate"; +import { mainWindow } from "../common/dom/get_main_window"; type OnboardingEvent = | { @@ -96,6 +102,27 @@ class HaOnboarding extends litLocalizeLiteMixin(HassElement) { @state() private _steps?: OnboardingStep[]; + @state() private _page = extractSearchParam("page"); + + private _mobileApp = + extractSearchParam("redirect_uri") === "homeassistant://auth-callback"; + + connectedCallback() { + super.connectedCallback(); + mainWindow.addEventListener("location-changed", this._updatePage); + mainWindow.addEventListener("popstate", this._updatePage); + } + + disconnectedCallback() { + super.connectedCallback(); + mainWindow.removeEventListener("location-changed", this._updatePage); + mainWindow.removeEventListener("popstate", this._updatePage); + } + + private _updatePage = () => { + this._page = extractSearchParam("page"); + }; + protected render() { return html`
${this._renderStep()}
- ${this._init + ${this._init && !this._restoring ? html`` : nothing}