Skip to content

Commit 18149b6

Browse files
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
1 parent ee6185a commit 18149b6

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

ext/js/display/display.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,7 @@ export class Display extends EventDispatcher {
12961296
async _setContentTermsOrKanji(type, urlSearchParams, token) {
12971297
const lookup = (urlSearchParams.get('lookup') !== 'false');
12981298
const wildcardsEnabled = (urlSearchParams.get('wildcards') !== 'off');
1299+
const hasEnabledDictionaries = this._options ? this._options.dictionaries.some(({enabled}) => enabled) : false;
12991300

13001301
// Set query
13011302
let query = urlSearchParams.get('query');
@@ -1331,7 +1332,7 @@ export class Display extends EventDispatcher {
13311332

13321333
let {dictionaryEntries} = content;
13331334
if (!Array.isArray(dictionaryEntries)) {
1334-
dictionaryEntries = lookup && query.length > 0 ? await this._findDictionaryEntries(type === 'kanji', query, wildcardsEnabled, optionsContext) : [];
1335+
dictionaryEntries = hasEnabledDictionaries && lookup && query.length > 0 ? await this._findDictionaryEntries(type === 'kanji', query, wildcardsEnabled, optionsContext) : [];
13351336
if (this._setContentToken !== token) { return; }
13361337
content.dictionaryEntries = dictionaryEntries;
13371338
changeHistory = true;
@@ -1367,7 +1368,8 @@ export class Display extends EventDispatcher {
13671368
this._dictionaryEntries = dictionaryEntries;
13681369

13691370
this._updateNavigationAuto();
1370-
this._setNoContentVisible(dictionaryEntries.length === 0 && lookup);
1371+
this._setNoContentVisible(hasEnabledDictionaries && dictionaryEntries.length === 0 && lookup);
1372+
this._setNoDictionariesVisible(!hasEnabledDictionaries);
13711373

13721374
const container = this._container;
13731375
container.textContent = '';
@@ -1424,6 +1426,7 @@ export class Display extends EventDispatcher {
14241426

14251427
this._updateNavigation(false, false);
14261428
this._setNoContentVisible(false);
1429+
this._setNoDictionariesVisible(false);
14271430
this._setQuery('', '', 0);
14281431

14291432
this._triggerContentUpdateStart();
@@ -1452,6 +1455,18 @@ export class Display extends EventDispatcher {
14521455
}
14531456
}
14541457

1458+
/**
1459+
* @param {boolean} visible
1460+
*/
1461+
_setNoDictionariesVisible(visible) {
1462+
/** @type {?HTMLElement} */
1463+
const noDictionaries = document.querySelector('#no-dictionaries');
1464+
1465+
if (noDictionaries !== null) {
1466+
noDictionaries.hidden = !visible;
1467+
}
1468+
}
1469+
14551470
/**
14561471
* @param {string} query
14571472
* @param {string} fullQuery

ext/popup.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545
</div>
4646
</div>
4747

48+
<div id="no-dictionaries" hidden>
49+
<div class="entry">
50+
<p>No dictionaries have been installed or enabled yet.</p>
51+
<p><a href="/settings.html#!dictionaries" target="_blank">Go to Dictionaries settings.</a></p>
52+
</div>
53+
</div>
4854
<div id="error-extension-unloaded" hidden>
4955
<div class="entry">
5056
<h1>Yomitan Updated!</h1>

ext/search.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ <h1>Yomitan Search</h1>
8080
</div>
8181
</div>
8282

83+
<div id="no-dictionaries" hidden>
84+
<div class="entry">
85+
<p>No dictionaries have been installed or enabled yet.</p>
86+
<p><a href="/settings.html#!dictionaries" target="_blank">Go to Dictionaries settings.</a></p>
87+
</div>
88+
</div>
8389
</div>
8490
</div>
8591
</div>

0 commit comments

Comments
 (0)