diff --git a/code/services-application/search-service/java/nu/marginalia/search/command/SearchParameters.java b/code/services-application/search-service/java/nu/marginalia/search/command/SearchParameters.java index 9c47419d..6fbc14e1 100644 --- a/code/services-application/search-service/java/nu/marginalia/search/command/SearchParameters.java +++ b/code/services-application/search-service/java/nu/marginalia/search/command/SearchParameters.java @@ -17,33 +17,34 @@ public record SearchParameters(String query, SearchRecentParameter recent, SearchTitleParameter searchTitle, SearchAdtechParameter adtech, - boolean poisonResults + boolean poisonResults, + boolean newFilter ) { public String profileStr() { return profile.filterId; } public SearchParameters withProfile(SearchProfile profile) { - return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults); + return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults, true); } public SearchParameters withJs(SearchJsParameter js) { - return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults); + return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults, true); } public SearchParameters withAdtech(SearchAdtechParameter adtech) { - return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults); + return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults, true); } public SearchParameters withRecent(SearchRecentParameter recent) { - return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults); + return new SearchParameters(query, profile, js, recent, searchTitle, adtech, poisonResults, true); } public SearchParameters withTitle(SearchTitleParameter title) { - return new SearchParameters(query, profile, js, recent, title, adtech, poisonResults); + return new SearchParameters(query, profile, js, recent, title, adtech, poisonResults, true); } public String renderUrl(WebsiteUrl baseUrl) { - String path = String.format("/search?query=%s&profile=%s&js=%s&adtech=%s&recent=%s&searchTitle=%s", + String path = String.format("/search?query=%s&profile=%s&js=%s&adtech=%s&recent=%s&searchTitle=%s&newfilter=true", URLEncoder.encode(query, StandardCharsets.UTF_8), URLEncoder.encode(profile.filterId, StandardCharsets.UTF_8), URLEncoder.encode(js.value, StandardCharsets.UTF_8), diff --git a/code/services-application/search-service/java/nu/marginalia/search/model/DecoratedSearchResults.java b/code/services-application/search-service/java/nu/marginalia/search/model/DecoratedSearchResults.java index 3ca1eed1..184c7ec7 100644 --- a/code/services-application/search-service/java/nu/marginalia/search/model/DecoratedSearchResults.java +++ b/code/services-application/search-service/java/nu/marginalia/search/model/DecoratedSearchResults.java @@ -26,4 +26,5 @@ public class DecoratedSearchResults { public String getAdtech() { return params.adtech().value; } public String getRecent() { return params.recent().value; } public String getSearchTitle() { return params.searchTitle().value; } + public Boolean isNewFilter() { return params.newFilter(); } } diff --git a/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryService.java b/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryService.java index 3cc9166d..b8bb908b 100644 --- a/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryService.java +++ b/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryService.java @@ -58,7 +58,8 @@ public class SearchQueryService { SearchRecentParameter.parse(request.queryParams("recent")), SearchTitleParameter.parse(request.queryParams("searchTitle")), SearchAdtechParameter.parse(request.queryParams("adtech")), - "1".equals(request.headers("X-Poison-Results")) + "1".equals(request.headers("X-Poison-Results")), + "true".equals(request.queryParams("newfilter")) ); } catch (Exception ex) { diff --git a/code/services-application/search-service/resources/templates/search/search-results.hdb b/code/services-application/search-service/resources/templates/search/search-results.hdb index 65765ba2..17ffb582 100644 --- a/code/services-application/search-service/resources/templates/search/search-results.hdb +++ b/code/services-application/search-service/resources/templates/search/search-results.hdb @@ -12,11 +12,14 @@ +{{#if newFilter}}
Search Filters Updated
{{/if}} + {{>search/parts/search-header}} {{>search/parts/search-form}} +