No dictionaries have been installed or enabled yet.
+ +From 18149b6b3e3971bbc8dde6b2914bc8ba0946b40c Mon Sep 17 00:00:00 2001 From: Khai Truong <56820749+khaitruong922@users.noreply.github.com> Date: Mon, 15 Jul 2024 03:38:55 +0700 Subject: [PATCH] Add helper text when search with no dictionaries enabled (#1220) * Helper text when no dictionary enabled * Don't need to search if there is no dictionary entries * update helper link --- ext/js/display/display.js | 19 +++++++++++++++++-- ext/popup.html | 6 ++++++ ext/search.html | 6 ++++++ 3 files changed, 29 insertions(+), 2 deletions(-) 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 @@ +
No dictionaries have been installed or enabled yet.
+ +No dictionaries have been installed or enabled yet.
+ +