From 1a356bc51da5758645080763a56596833c79eb36 Mon Sep 17 00:00:00 2001 From: Zed Date: Thu, 19 Sep 2019 23:47:05 +0200 Subject: [PATCH] Expand search panel if any options active --- src/views/search.nim | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/views/search.nim b/src/views/search.nim index 00c2a88..dc0338d 100644 --- a/src/views/search.nim +++ b/src/views/search.nim @@ -1,4 +1,4 @@ -import strutils, strformat, unicode, tables +import strutils, strformat, sequtils, unicode, tables import karax/[karaxdsl, vdom, vstyles] import renderutils, timeline @@ -55,6 +55,10 @@ proc renderSearchTabs*(query: Query): VNode = q.kind = users a(href=genQueryUrl(q)): text "Users" +proc isPanelOpen(q: Query): bool = + q.filters.len > 0 or q.excludes.len > 0 or + @[q.near, q.until, q.since].anyIt(it.len > 0) + proc renderSearchPanel*(query: Query): VNode = let user = query.fromUser.join(",") let action = if user.len > 0: &"/{user}/search" else: "/search" @@ -63,7 +67,10 @@ proc renderSearchPanel*(query: Query): VNode = genInput("text", "", query.text, "Enter search...", class="pref-inline", autofocus=true) button(`type`="submit"): icon "search" - input(id="search-panel-toggle", `type`="checkbox") + if isPanelOpen(query): + input(id="search-panel-toggle", `type`="checkbox", checked="") + else: + input(id="search-panel-toggle", `type`="checkbox") label(`for`="search-panel-toggle"): icon "down" tdiv(class="search-panel"):