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;
}
}