소스 검색

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

Fixes #49
Zed 7 년 전
부모
커밋
8cae23dc7e
4개의 변경된 파일10개의 추가작업 그리고 10개의 파일을 삭제
  1. 2 2
      src/query.nim
  2. 1 1
      src/routes/rss.nim
  3. 4 4
      src/routes/search.nim
  4. 3 3
      src/views/search.nim

+ 2 - 2
src/query.nim

@@ -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:

+ 1 - 1
src/routes/rss.nim

@@ -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))

+ 4 - 4
src/routes/search.nim

@@ -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"))

+ 3 - 3
src/views/search.nim

@@ -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)