From c760d9400cf02e830c33749eed3894165b760432 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 6 May 2024 17:23:36 -0300 Subject: content, client: "no results" message --- .../dependencies/generateSearchSidebarBox.js | 14 ++++++++++---- src/static/css/site.css | 6 ++++++ src/static/js/client.js | 22 +++++++++++++++++++++- src/strings-default.yaml | 9 +++++++++ 4 files changed, 46 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/content/dependencies/generateSearchSidebarBox.js b/src/content/dependencies/generateSearchSidebarBox.js index 6632a4e8..d4d6b4e0 100644 --- a/src/content/dependencies/generateSearchSidebarBox.js +++ b/src/content/dependencies/generateSearchSidebarBox.js @@ -1,21 +1,27 @@ export default { contentDependencies: ['generatePageSidebarBox'], - extraDependencies: ['html'], + extraDependencies: ['html', 'language'], relations: (relation) => ({ sidebarBox: relation('generatePageSidebarBox'), }), - generate: (relations, {html}) => + generate: (relations, {html, language}) => relations.sidebarBox.slots({ attributes: {class: 'wiki-search-sidebar-box'}, collapsible: false, content: [ html.tag('input', {class: 'wiki-search-input'}, - {placeholder: `Search for anything`}, - {type: 'search'}) + { + placeholder: + language.$('misc.search.placeholder').toString(), + }, + {type: 'search'}), + + html.tag('template', {class: 'wiki-search-no-results-string'}, + language.$('misc.search.noResults')), ], }), }; diff --git a/src/static/css/site.css b/src/static/css/site.css index 4fc2d8a3..17a85170 100644 --- a/src/static/css/site.css +++ b/src/static/css/site.css @@ -499,6 +499,12 @@ summary .group-name { margin-bottom: 5px; } +.wiki-search-no-results { + font-size: 0.9em; + padding: 2px 3px 4px 6px; + cursor: default; +} + .wiki-search-result { position: relative; display: flex; diff --git a/src/static/js/client.js b/src/static/js/client.js index d8828ad2..1b98137a 100644 --- a/src/static/js/client.js +++ b/src/static/js/client.js @@ -154,6 +154,14 @@ function cssProp(el, ...args) { } } +function templateContent(el) { + if (el?.nodeName !== 'TEMPLATE') { + throw new Error(`Expected a