diff --git a/hassio/src/dialogs/registries/dialog-hassio-registries.ts b/hassio/src/dialogs/registries/dialog-hassio-registries.ts index 28803a3298..1eb0072a3f 100644 --- a/hassio/src/dialogs/registries/dialog-hassio-registries.ts +++ b/hassio/src/dialogs/registries/dialog-hassio-registries.ts @@ -1,12 +1,12 @@ import "@material/mwc-button/mwc-button"; -import "@material/mwc-list/mwc-list-item"; import { mdiDelete } from "@mdi/js"; -import { PaperInputElement } from "@polymer/paper-input/paper-input"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; -import "../../../../src/components/ha-circular-progress"; import { createCloseHeading } from "../../../../src/components/ha-dialog"; +import "../../../../src/components/ha-form/ha-form"; +import { HaFormSchema } from "../../../../src/components/ha-form/types"; import "../../../../src/components/ha-icon-button"; +import "../../../../src/components/ha-settings-row"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; import { addHassioDockerRegistry, @@ -19,22 +19,41 @@ import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; import { RegistriesDialogParams } from "./show-dialog-registries"; +const SCHEMA = [ + { + type: "string", + name: "registry", + required: true, + }, + { + type: "string", + name: "username", + required: true, + }, + { + type: "string", + name: "password", + required: true, + format: "password", + }, +]; + @customElement("dialog-hassio-registries") class HassioRegistriesDialog extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public supervisor!: Supervisor; - @property({ attribute: false }) private _registries?: { + @state() private _registries?: { registry: string; username: string; }[]; - @state() private _registry?: string; - - @state() private _username?: string; - - @state() private _password?: string; + @state() private _input: { + registry?: string; + username?: string; + password?: string; + } = {}; @state() private _opened = false; @@ -47,6 +66,7 @@ class HassioRegistriesDialog extends LitElement { @closed=${this.closeDialog} scrimClickAction escapeKeyAction + hideActions .heading=${createCloseHeading( this.hass, this._addingRegistry @@ -54,99 +74,77 @@ class HassioRegistriesDialog extends LitElement { : this.supervisor.localize("dialog.registries.title_manage") )} > -