diff --git a/src/install-dialog.ts b/src/install-dialog.ts index f29eccb..73a667e 100644 --- a/src/install-dialog.ts +++ b/src/install-dialog.ts @@ -55,6 +55,7 @@ class EwtInstallDialog extends LitElement { @state() private _installState?: FlashState; @state() private _provisionForce = false; + private _wasProvisioned = false; @state() private _error?: string; @@ -246,44 +247,37 @@ class EwtInstallDialog extends LitElement { heading = undefined; content = html` ${messageTemplate(OK_ICON, "Device connected to the network!")} - ${ - // If we went to provision after installing the firmware with a full erase, - // there is nothing left for the user, let them go to the device dashboard - // if available - this._installState?.state === FlashStateType.FINISHED && - this._installErase && - this._client!.nextUrl !== undefined - ? html` - { - this._state = "DASHBOARD"; - }} - > - - - { - this._state = "DASHBOARD"; - this._installState = undefined; - }} - > - ` - : html` - { - this._state = "DASHBOARD"; - }} - > - ` - } + ${!this._wasProvisioned && this._client!.nextUrl !== undefined + ? html` + { + this._state = "DASHBOARD"; + }} + > + + + { + this._state = "DASHBOARD"; + this._installState = undefined; + }} + > + ` + : html` + { + this._state = "DASHBOARD"; + }} + > + `} `; } else { let error: string | undefined; @@ -597,6 +591,8 @@ class EwtInstallDialog extends LitElement { private async _doProvision() { this._busy = true; + this._wasProvisioned = + this._client!.state === ImprovSerialCurrentState.PROVISIONED; const ssid = ( this.shadowRoot!.querySelector("ewt-textfield[name=ssid]") as EwtTextfield ).value;