Переглянути джерело

feat: pass in input query to event handler

Miguel Ángel Moreno 2 місяців тому
батько
коміт
556c4a56e9

+ 5 - 4
src/frontend/tubo/search/events.cljs

@@ -142,14 +142,15 @@
 
 (rf/reg-event-fx
  :search/submit
- (fn [{:keys [db]}]
-   (when (seq (:search/query db))
+ (fn [{:keys [db]} [_ query]]
+   (when (seq query)
      {:stop-debounce :search/query
-      :fx            [[:dispatch
+      :fx            [[:dispatch [:search/set-query query]]
+                      [:dispatch
                        [:navigation/navigate
                         {:name   :search-page
                          :params {}
-                         :query  (into {:q         (:search/query db)
+                         :query  (into {:q         query
                                         :serviceId (:service-id db)}
                                        (when (seq (:search/filter db))
                                          {:filter (:search/filter db)}))}]]]})))

+ 2 - 1
src/frontend/tubo/search/views.cljs

@@ -13,7 +13,8 @@
             show-search-form? @(rf/subscribe [:search/show-form])]
         [:form.relative.text-white.flex.items-center.justify-center.flex-auto.lg:flex-1
          {:class     (when-not show-search-form? "hidden")
-          :on-submit #(do (.preventDefault %) (rf/dispatch [:search/submit]))}
+          :on-submit #(do (.preventDefault %)
+                          (rf/dispatch [:search/submit (.-value @!input)]))}
          [:div.flex.items-center.relative.flex-auto.lg:flex-none
           [:button.p-2
            {:type "button" :on-click #(rf/dispatch [:search/cancel])}