From 02819a74599a4f5e1a40f966819238dbc4a2b454 Mon Sep 17 00:00:00 2001 From: Cadence Ember Date: Thu, 10 Nov 2022 23:20:09 +1300 Subject: [PATCH] Allow searching for nothing on BreezeWiki homepage --- src/page-global-search.rkt | 25 ++++++++++++++++--------- src/page-home.rkt | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/page-global-search.rkt b/src/page-global-search.rkt index 4364dea..a9c79bb 100644 --- a/src/page-global-search.rkt +++ b/src/page-global-search.rkt @@ -4,6 +4,7 @@ net/url web-server/http "application-globals.rkt" + "data.rkt" "url-utils.rkt" "xexpr-utils.rkt") @@ -14,12 +15,18 @@ (define wikiname (dict-ref (url-query (request-uri req)) 'wikiname #f)) (define q (dict-ref (url-query (request-uri req)) 'q #f)) (response-handler - (if (not (and wikiname q)) - (response/output - #:code 400 - #:mime-type "text/plain" - (λ (out) - (displayln "Requires wikiname and q parameters." out))) - (generate-redirect (format "/~a/search?~a" - wikiname - (params->query `(("q" . ,q)))))))) + (cond + [(not wikiname) + (response/output + #:code 400 + #:mime-type "text/plain" + (λ (out) + (displayln "Requires wikiname and q parameters." out)))] + [(or (not q) (equal? q "")) + (define siteinfo (siteinfo-fetch wikiname)) + (define dest (format "/~a/wiki/~a" wikiname (or (siteinfo^-basepage siteinfo) "Main_Page"))) + (generate-redirect dest)] + [#t + (generate-redirect (format "/~a/search?~a" + wikiname + (params->query `(("q" . ,q)))))]))) diff --git a/src/page-home.rkt b/src/page-home.rkt index 4cd9f3a..6037d9a 100644 --- a/src/page-home.rkt +++ b/src/page-home.rkt @@ -40,7 +40,7 @@ (input (@ (name "wikiname") (class "paired__input") (type "text") (placeholder "pokemon") (required)))) (label (@ (class "paired__label")) "Search query" - (input (@ (name "q") (class "paired__input") (type "text") (placeholder "Eevee") (required)))) + (input (@ (name "q") (class "paired__input") (type "text") (placeholder "Eevee")))) (button "Search")) (h2 "Example pages") (ul