diff --git a/ext/js/display/display.js b/ext/js/display/display.js index 97b29bbd78..b2f96e363c 100644 --- a/ext/js/display/display.js +++ b/ext/js/display/display.js @@ -1296,6 +1296,7 @@ export class Display extends EventDispatcher { async _setContentTermsOrKanji(type, urlSearchParams, token) { const lookup = (urlSearchParams.get('lookup') !== 'false'); const wildcardsEnabled = (urlSearchParams.get('wildcards') !== 'off'); + const hasEnabledDictionaries = this._options ? this._options.dictionaries.some(({enabled}) => enabled) : false; // Set query let query = urlSearchParams.get('query'); @@ -1331,7 +1332,7 @@ export class Display extends EventDispatcher { let {dictionaryEntries} = content; if (!Array.isArray(dictionaryEntries)) { - dictionaryEntries = lookup && query.length > 0 ? await this._findDictionaryEntries(type === 'kanji', query, wildcardsEnabled, optionsContext) : []; + dictionaryEntries = hasEnabledDictionaries && lookup && query.length > 0 ? await this._findDictionaryEntries(type === 'kanji', query, wildcardsEnabled, optionsContext) : []; if (this._setContentToken !== token) { return; } content.dictionaryEntries = dictionaryEntries; changeHistory = true; @@ -1367,7 +1368,8 @@ export class Display extends EventDispatcher { this._dictionaryEntries = dictionaryEntries; this._updateNavigationAuto(); - this._setNoContentVisible(dictionaryEntries.length === 0 && lookup); + this._setNoContentVisible(hasEnabledDictionaries && dictionaryEntries.length === 0 && lookup); + this._setNoDictionariesVisible(!hasEnabledDictionaries); const container = this._container; container.textContent = ''; @@ -1424,6 +1426,7 @@ export class Display extends EventDispatcher { this._updateNavigation(false, false); this._setNoContentVisible(false); + this._setNoDictionariesVisible(false); this._setQuery('', '', 0); this._triggerContentUpdateStart(); @@ -1452,6 +1455,18 @@ export class Display extends EventDispatcher { } } + /** + * @param {boolean} visible + */ + _setNoDictionariesVisible(visible) { + /** @type {?HTMLElement} */ + const noDictionaries = document.querySelector('#no-dictionaries'); + + if (noDictionaries !== null) { + noDictionaries.hidden = !visible; + } + } + /** * @param {string} query * @param {string} fullQuery diff --git a/ext/popup.html b/ext/popup.html index 2b55df5de6..07201b89a9 100644 --- a/ext/popup.html +++ b/ext/popup.html @@ -45,6 +45,12 @@ + +