From 47a3f649d2ce846f5d90a9d1100c19d3367142f5 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Fri, 26 Mar 2021 15:34:19 +0100 Subject: [PATCH] Prevent cloud tts update prefs on page load (#8707) --- .../config/cloud/account/cloud-tts-pref.ts | 40 +++++++------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/src/panels/config/cloud/account/cloud-tts-pref.ts b/src/panels/config/cloud/account/cloud-tts-pref.ts index e069a71ad5..b55b070333 100644 --- a/src/panels/config/cloud/account/cloud-tts-pref.ts +++ b/src/panels/config/cloud/account/cloud-tts-pref.ts @@ -47,12 +47,6 @@ export class CloudTTSPref extends LitElement { const languages = this.getLanguages(this.ttsInfo); const defaultVoice = this.cloudStatus.prefs.tts_default_voice; const genders = this.getSupportedGenders(defaultVoice[0], this.ttsInfo); - const defaultLangEntryIndex = languages.findIndex( - ([lang]) => lang === defaultVoice[0] - ); - const defaultGenderEntryIndex = genders.findIndex( - ([gender]) => gender === defaultVoice[1] - ); return html` ${languages.map( ([key, label]) => @@ -87,16 +79,12 @@ export class CloudTTSPref extends LitElement { - + ${genders.map( ([key, label]) => @@ -191,10 +179,11 @@ export class CloudTTSPref extends LitElement { } async _handleLanguageChange(ev) { + if (ev.detail.item.value === this.cloudStatus!.prefs.tts_default_voice[0]) { + return; + } this.savingPreferences = true; - const langLabel = ev.currentTarget.value; - const languages = this.getLanguages(this.ttsInfo); - const language = languages.find((item) => item[1] === langLabel)![0]; + const language = ev.detail.item.value; const curGender = this.cloudStatus!.prefs.tts_default_voice[1]; const genders = this.getSupportedGenders(language, this.ttsInfo); @@ -219,11 +208,12 @@ export class CloudTTSPref extends LitElement { } async _handleGenderChange(ev) { + if (ev.detail.item.value === this.cloudStatus!.prefs.tts_default_voice[1]) { + return; + } this.savingPreferences = true; const language = this.cloudStatus!.prefs.tts_default_voice[0]; - const genderLabel = ev.currentTarget.value; - const genders = this.getSupportedGenders(language, this.ttsInfo); - const gender = genders.find((item) => item[1] === genderLabel)![0]; + const gender = ev.detail.item.value; try { await updateCloudPref(this.hass, {