Kaynağa Gözat

fix: hack to avoid text blink

Tienson Qin 3 yıl önce
ebeveyn
işleme
cc49f56a92

+ 1 - 0
src/main/electron/listener.cljs

@@ -130,6 +130,7 @@
                        (let [data' (bean/->clj data)]
                          (state/set-state! [:ui/find-in-page :matches] data')
                          (dom/remove-style! (dom/by-id "search-in-page-input") :visibility)
+                         (dom/set-text! (dom/by-id "search-in-page-placeholder") "")
                          (ui/focus-element "search-in-page-input")
                          true)))
 

+ 2 - 1
src/main/frontend/components/find_in_page.cljs

@@ -25,7 +25,8 @@
       [:div.text-sm.absolute.top-2.right-0.py-2.px-4
        (:activeMatchOrdinal matches 0)
        "/"
-       total]))])
+       total]))
+   [:div#search-in-page-placeholder.absolute.top-2.left-0.p-2.sm:text-sm]])
 
 (rum/defc search-inner < rum/static
   (mixins/event-mixin

+ 6 - 0
src/main/frontend/handler/search.cljs

@@ -76,6 +76,12 @@
       (when-not (string/blank? q)
         (dom/set-style! (dom/by-id "search-in-page-input")
                         :visibility "hidden")
+        (when (> (count q) 1)
+          (dom/set-html! (dom/by-id "search-in-page-placeholder")
+                         (util/format
+                          "<span><span>%s</span><span style=\"margin-left: -4px;\">%s</span></span>"
+                          (first q)
+                          (str " " (subs q 1)))))
         (ipc/ipc "find-in-page" q option)))))
 
 (defonce debounced-search (debounce electron-find-in-page! 500))