aboutsummaryrefslogtreecommitdiff
path: root/ext/js/display
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/display')
-rw-r--r--ext/js/display/display-audio.js30
1 files changed, 23 insertions, 7 deletions
diff --git a/ext/js/display/display-audio.js b/ext/js/display/display-audio.js
index bb30c944..4fcabf06 100644
--- a/ext/js/display/display-audio.js
+++ b/ext/js/display/display-audio.js
@@ -166,16 +166,15 @@ export class DisplayAudio {
* @param {import('display').EventArgument<'optionsUpdated'>} details
*/
_onOptionsUpdated({options}) {
- const {enabled, autoPlay, volume, sources} = options.audio;
+ const {
+ general: {language},
+ audio: {enabled, autoPlay, volume, sources},
+ } = options;
this._autoPlay = enabled && autoPlay;
this._playbackVolume = Number.isFinite(volume) ? Math.max(0, Math.min(1, volume / 100)) : 1;
/** @type {Set<import('settings').AudioSourceType>} */
- const requiredAudioSources = new Set([
- 'jpod101',
- 'jpod101-alternate',
- 'jisho',
- ]);
+ const requiredAudioSources = this._getRequiredAudioSources(language);
/** @type {Map<string, import('display-audio').AudioSource[]>} */
const nameMap = new Map();
this._audioSources.length = 0;
@@ -188,11 +187,28 @@ export class DisplayAudio {
}
const data = document.documentElement.dataset;
- data.audioEnabled = `${enabled && sources.length > 0}`;
+ data.audioEnabled = enabled.toString();
this._cache.clear();
}
+ /**
+ * @param {string} language
+ * @returns {Set<import('settings').AudioSourceType>}
+ */
+ _getRequiredAudioSources(language) {
+ return language === 'ja' ?
+ new Set([
+ 'jpod101',
+ 'jpod101-alternate',
+ 'jisho',
+ ]) :
+ new Set([
+ 'lingua-libre',
+ 'wiktionary',
+ ]);
+ }
+
/** */
_onContentClear() {
this._entriesToken = {};