|
|
@@ -14,25 +14,27 @@ export search
|
|
|
proc createSearchRouter*(cfg: Config) =
|
|
|
router search:
|
|
|
get "/search/?":
|
|
|
- if @"q".len > 500:
|
|
|
+ let q = @"q"
|
|
|
+ if q.len > 500:
|
|
|
resp Http400, showError("Search input too long.", cfg)
|
|
|
|
|
|
let
|
|
|
prefs = cookiePrefs()
|
|
|
query = initQuery(params(request))
|
|
|
+ title = "Search" & (if q.len > 0: " (" & q & ")" else: "")
|
|
|
|
|
|
case query.kind
|
|
|
of users:
|
|
|
- if "," in @"q":
|
|
|
- redirect("/" & @"q")
|
|
|
+ if "," in q:
|
|
|
+ redirect("/" & q)
|
|
|
let users = await getSearch[User](query, getCursor())
|
|
|
- resp renderMain(renderUserSearch(users, prefs), request, cfg, prefs)
|
|
|
+ resp renderMain(renderUserSearch(users, prefs), request, cfg, prefs, title)
|
|
|
of tweets:
|
|
|
let
|
|
|
tweets = await getSearch[Tweet](query, getCursor())
|
|
|
rss = "/search/rss?" & genQueryUrl(query)
|
|
|
resp renderMain(renderTweetSearch(tweets, prefs, getPath()),
|
|
|
- request, cfg, prefs, rss=rss)
|
|
|
+ request, cfg, prefs, title, rss=rss)
|
|
|
else:
|
|
|
resp Http404, showError("Invalid search", cfg)
|
|
|
|