diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-05-05 13:14:27 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-05-31 12:11:49 -0300 |
commit | b76fdc3b5ef0ce800c78014bfb879a5acc0329a9 (patch) | |
tree | fd98e4619d0ad0379a77af2f7089dbd9354a7d74 /src | |
parent | 5131c2d7928bb93118b40008513488e3e8d98fc7 (diff) |
client: show results from generic search
Diffstat (limited to 'src')
-rw-r--r-- | src/static/js/client.js | 45 | ||||
-rw-r--r-- | src/util/search-spec.js | 4 |
2 files changed, 29 insertions, 20 deletions
diff --git a/src/static/js/client.js b/src/static/js/client.js index d613bc6a..560a0d36 100644 --- a/src/static/js/client.js +++ b/src/static/js/client.js @@ -3714,19 +3714,40 @@ function showSidebarSearchResults(results) { cssProp(info.resultsContainer, 'display', 'block'); for (const result of flatResults) { - if (result.index !== 'tracks') continue; - info.results.appendChild(generateSidebarSearchTrackResult(result)); + if (result.index !== 'generic') continue; + + const el = generateSidebarSearchResult(result); + if (!el) continue; + + info.results.appendChild(el); } } function generateSidebarSearchResult(result) { + const preparedSlots = { + color: + result.data.color ?? null, + + name: + result.data.name ?? result.data.primaryName ?? null, + + imageSource: + getSearchResultImageSource(result), + }; + switch (result.referenceType) { - case 'track': - return generateSidebarSearchTrackResult(result); + case 'track': { + preparedSlots.href = + openTrack(result.directory); + + break; + } default: return null; } + + return generateSidebarSearchResultTemplate(preparedSlots); } function getSearchResultImageSource(result) { @@ -3757,22 +3778,6 @@ function getSearchResultImageSource(result) { } } -function generateSidebarSearchTrackResult(result) { - return generateSidebarSearchResultTemplate({ - href: - openTrack(result.directory), - - color: - result.data.color, - - name: - result.data.name, - - imageSource: - getSearchResultImageSource(result), - }); -} - function generateSidebarSearchResultTemplate(slots) { const link = document.createElement('a'); link.classList.add('wiki-search-result'); diff --git a/src/util/search-spec.js b/src/util/search-spec.js index e8bc7571..d8ae936e 100644 --- a/src/util/search-spec.js +++ b/src/util/search-spec.js @@ -42,6 +42,9 @@ export const searchSpec = { primaryName: thing.name, + color: + thing.color, + additionalNames: (Object.hasOwn(thing, 'additionalNames') ? thing.additionalNames.map(entry => entry.name) @@ -74,6 +77,7 @@ export const searchSpec = { store: [ 'primaryName', 'artwork', + 'color', ], }, |