diff --git a/hassio/src/addon-view/config/hassio-addon-audio.ts b/hassio/src/addon-view/config/hassio-addon-audio.ts index 17dde2fb41..a5de831ba2 100644 --- a/hassio/src/addon-view/config/hassio-addon-audio.ts +++ b/hassio/src/addon-view/config/hassio-addon-audio.ts @@ -28,6 +28,7 @@ import { haStyle } from "../../../../src/resources/styles"; import { HomeAssistant } from "../../../../src/types"; import { suggestAddonRestart } from "../../dialogs/suggestAddonRestart"; import { hassioStyle } from "../../resources/hassio-style"; +import "../../../../src/components/buttons/ha-progress-button"; @customElement("hassio-addon-audio") class HassioAddonAudio extends LitElement { @@ -91,7 +92,9 @@ class HassioAddonAudio extends LitElement {
- Save + + Save +
`; @@ -172,7 +175,10 @@ class HassioAddonAudio extends LitElement { } } - private async _saveSettings(): Promise { + private async _saveSettings(ev: CustomEvent): Promise { + const button = ev.target as any; + button.progress = true; + this._error = undefined; const data: HassioAddonSetOptionParams = { audio_input: @@ -182,12 +188,14 @@ class HassioAddonAudio extends LitElement { }; try { await setHassioAddonOption(this.hass, this.addon.slug, data); + if (this.addon?.state === "started") { + await suggestAddonRestart(this, this.hass, this.addon); + } } catch { this._error = "Failed to set addon audio device"; } - if (!this._error && this.addon?.state === "started") { - await suggestAddonRestart(this, this.hass, this.addon); - } + + button.progress = false; } }