diff --git a/include/html_dumper.h b/include/html_dumper.h
index fd09659d..80eebd8e 100644
--- a/include/html_dumper.h
+++ b/include/html_dumper.h
@@ -42,7 +42,7 @@ class HTMLDumper : public LibraryDumper
*
* @return HTML content
*/
- std::string dumpPlainHTML() const;
+ std::string dumpPlainHTML(kiwix::Filter filter) const;
};
}
diff --git a/src/html_dumper.cpp b/src/html_dumper.cpp
index 27be874a..6cef6b6b 100644
--- a/src/html_dumper.cpp
+++ b/src/html_dumper.cpp
@@ -33,10 +33,13 @@ kainjow::mustache::list getTagList(std::string tags)
} // unnamed namespace
-std::string HTMLDumper::dumpPlainHTML() const
+std::string HTMLDumper::dumpPlainHTML(kiwix::Filter filter) const
{
kainjow::mustache::list booksData;
- for ( const auto& bookId : library->getBooksIds() ) {
+ const auto filteredBooks = library->filter(filter);
+ const auto searchQuery = filter.getQuery();
+
+ for ( const auto& bookId : filteredBooks ) {
const auto bookObj = library->getBookById(bookId);
const auto bookTitle = bookObj.getTitle();
std::string contentId = "";
@@ -65,7 +68,8 @@ std::string HTMLDumper::dumpPlainHTML() const
RESOURCE::templates::no_js_library_page_html,
kainjow::mustache::object{
{"root", rootLocation},
- {"books", booksData }
+ {"books", booksData },
+ {"searchQuery", searchQuery}
}
);
}
diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp
index 32aa7752..060d4186 100644
--- a/src/server/internalServer.cpp
+++ b/src/server/internalServer.cpp
@@ -783,7 +783,8 @@ std::unique_ptr InternalServer::handle_no_js(const RequestContext& req
std::string content;
if (urlParts.size() == 1) {
- content = htmlDumper.dumpPlainHTML();
+ const auto filter = get_search_filter(request);
+ content = htmlDumper.dumpPlainHTML(filter);
} else if ((urlParts.size() == 3) && (urlParts[1] == "download")) {
try {
const auto bookId = mp_nameMapper->getIdForName(urlParts[2]);
@@ -797,7 +798,6 @@ std::unique_ptr InternalServer::handle_no_js(const RequestContext& req
+ urlNotFoundMsg;
}
-
return ContentResponse::build(
*this,
content,
diff --git a/static/templates/no_js_library_page.html b/static/templates/no_js_library_page.html
index 21671cc8..6a43185e 100644
--- a/static/templates/no_js_library_page.html
+++ b/static/templates/no_js_library_page.html
@@ -61,6 +61,12 @@
+
+
+