diff --git a/src/panels/config/backup/dialogs/dialog-generate-backup.ts b/src/panels/config/backup/dialogs/dialog-generate-backup.ts index bcfff67081..1feff3f059 100644 --- a/src/panels/config/backup/dialogs/dialog-generate-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-generate-backup.ts @@ -1,7 +1,7 @@ import { mdiClose } from "@mdi/js"; import type { CSSResultGroup, PropertyValues } from "lit"; import { css, html, LitElement, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; +import { customElement, property, state } from "lit/decorators"; import { isComponentLoaded } from "../../../../common/config/is_component_loaded"; import { fireEvent } from "../../../../common/dom/fire_event"; import "../../../../components/ha-alert"; @@ -9,9 +9,9 @@ import "../../../../components/ha-button"; import "../../../../components/ha-dialog-header"; import "../../../../components/ha-expansion-panel"; import "../../../../components/ha-icon-button"; +import "../../../../components/ha-dialog-footer"; import "../../../../components/ha-icon-button-prev"; -import "../../../../components/ha-md-dialog"; -import type { HaMdDialog } from "../../../../components/ha-md-dialog"; +import "../../../../components/ha-wa-dialog"; import "../../../../components/ha-md-list"; import "../../../../components/ha-md-list-item"; import "../../../../components/ha-md-select"; @@ -73,12 +73,13 @@ class DialogGenerateBackup extends LitElement implements HassDialog { @state() private _formData?: FormData; - @query("ha-md-dialog") private _dialog?: HaMdDialog; + @state() private _open = false; public showDialog(_params: GenerateBackupDialogParams): void { this._step = STEPS[0]; this._formData = INITIAL_DATA; this._params = _params; + this._open = true; this._fetchAgents(); this._fetchBackupConfig(); @@ -88,6 +89,7 @@ class DialogGenerateBackup extends LitElement implements HassDialog { if (this._params!.cancel) { this._params!.cancel(); } + this._open = false; this._step = undefined; this._formData = undefined; this._agents = []; @@ -114,7 +116,7 @@ class DialogGenerateBackup extends LitElement implements HassDialog { } public closeDialog() { - this._dialog?.close(); + this._open = false; return true; } @@ -179,15 +181,19 @@ class DialogGenerateBackup extends LitElement implements HassDialog { const selectedAgents = this._formData.agent_ids; return html` - - + + ${isFirstStep ? html` ` : html` @@ -198,13 +204,17 @@ class DialogGenerateBackup extends LitElement implements HassDialog { `} ${dialogTitle} -
+
${this._step === "data" ? this._renderData() : this._renderSync()}
-
+ ${isFirstStep ? html` - + ${this.hass.localize("ui.common.cancel")} ` @@ -212,6 +222,7 @@ class DialogGenerateBackup extends LitElement implements HassDialog { ${isLastStep ? html` ${this.hass.localize("ui.common.next")} `} -
- + + `; } @@ -436,9 +448,8 @@ class DialogGenerateBackup extends LitElement implements HassDialog { haStyle, haStyleDialog, css` - ha-md-dialog { + ha-wa-dialog { --dialog-content-padding: 24px; - max-height: calc(100vh - 48px); } ha-md-list { background: none;