Use "q" instead of "text" for search compatibility

Fixes #49
This commit is contained in:
Zed 2019-09-30 22:24:01 +02:00
parent 53a7113905
commit 8cae23dc7e
4 changed files with 10 additions and 10 deletions

View file

@ -25,7 +25,7 @@ template `@`(param: string): untyped =
proc initQuery*(pms: Table[string, string]; name=""): Query =
result = Query(
kind: parseEnum[QueryKind](@"kind", custom),
text: @"text",
text: @"q",
filters: validFilters.filterIt("f-" & it in pms),
excludes: validFilters.filterIt("e-" & it in pms),
since: @"since",
@ -88,7 +88,7 @@ proc genQueryUrl*(query: Query): string =
var params = @[&"kind={query.kind}"]
if query.text.len > 0:
params.add "text=" & encodeUrl(query.text)
params.add "q=" & encodeUrl(query.text)
for f in query.filters:
params.add "f-" & f & "=on"
for e in query.excludes:

View file

@ -20,7 +20,7 @@ template respRss*(rss: typed) =
proc createRssRouter*(cfg: Config) =
router rss:
get "/search/rss":
if @"text".len > 200:
if @"q".len > 200:
resp Http400, showError("Search input too long.", cfg.title)
let query = initQuery(params(request))

View file

@ -11,7 +11,7 @@ export search
proc createSearchRouter*(cfg: Config) =
router search:
get "/search/?":
if @"text".len > 200:
if @"q".len > 200:
resp Http400, showError("Search input too long.", cfg.title)
let prefs = cookiePrefs()
@ -19,8 +19,8 @@ proc createSearchRouter*(cfg: Config) =
case query.kind
of userSearch:
if "," in @"text":
redirect("/" & @"text")
if "," in @"q":
redirect("/" & @"q")
let users = await getSearch[Profile](query, @"after", getAgent())
resp renderMain(renderUserSearch(users, prefs), request, cfg.title)
of custom:
@ -32,4 +32,4 @@ proc createSearchRouter*(cfg: Config) =
resp Http404, showError("Invalid search.", cfg.title)
get "/hashtag/@hash":
redirect("/search?text=" & encodeUrl("#" & @"hash"))
redirect("/search?q=" & encodeUrl("#" & @"hash"))

View file

@ -24,7 +24,7 @@ proc renderSearch*(): VNode =
tdiv(class="search-bar"):
form(`method`="get", action="/search"):
hiddenField("kind", "userSearch")
input(`type`="text", name="text", autofocus="", placeholder="Enter username...")
input(`type`="text", name="q", autofocus="", placeholder="Enter username...")
button(`type`="submit"): icon "search"
proc renderProfileTabs*(query: Query; username: string): VNode =
@ -58,7 +58,7 @@ proc renderSearchPanel*(query: Query): VNode =
let action = if user.len > 0: &"/{user}/search" else: "/search"
buildHtml(form(`method`="get", action=action, class="search-field")):
hiddenField("kind", "custom")
genInput("text", "", query.text, "Enter search...",
genInput("q", "", query.text, "Enter search...",
class="pref-inline", autofocus=true)
button(`type`="submit"): icon "search"
if isPanelOpen(query):
@ -110,7 +110,7 @@ proc renderUserSearch*(users: Result[Profile]; prefs: Prefs): VNode =
tdiv(class="timeline-header"):
form(`method`="get", action="/search", class="search-field"):
hiddenField("kind", "userSearch")
genInput("text", "", users.query.text, "Enter username...", class="pref-inline")
genInput("q", "", users.query.text, "Enter username...", class="pref-inline")
button(`type`="submit"): icon "search"
renderSearchTabs(users.query)