From 9f15a2db715dabd6d18633a0afa351cc7693479b Mon Sep 17 00:00:00 2001 From: Vitaliy Vlasov Date: Sat, 2 Dec 2017 21:24:01 +0200 Subject: [PATCH] [FIX #2118] ui: store search-key under [:toolbar-search :show] Chat list used to store booleans under [:toolbar-search :show] which is different from other views and caused the issue described in #2118. --- src/status_im/ui/screens/chats_list/subs.cljs | 5 +++-- src/status_im/ui/screens/chats_list/views.cljs | 14 +++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/status_im/ui/screens/chats_list/subs.cljs b/src/status_im/ui/screens/chats_list/subs.cljs index 3980df3c7a..9a86feef36 100644 --- a/src/status_im/ui/screens/chats_list/subs.cljs +++ b/src/status_im/ui/screens/chats_list/subs.cljs @@ -11,8 +11,9 @@ (reg-sub :filtered-chats :<- [:get :chats] :<- [:get-in [:toolbar-search :text]] - (fn [[chats search-text]] - (let [unordered-chats (if search-text + :<- [:get-in [:toolbar-search :show]] + (fn [[chats search-text show-search]] + (let [unordered-chats (if (and (= show-search :chat-list) search-text) (filter #(search-filter search-text (second %)) chats) chats)] diff --git a/src/status_im/ui/screens/chats_list/views.cljs b/src/status_im/ui/screens/chats_list/views.cljs index 93c680f85d..b53db8334d 100644 --- a/src/status_im/ui/screens/chats_list/views.cljs +++ b/src/status_im/ui/screens/chats_list/views.cljs @@ -26,12 +26,12 @@ [{:text (i18n/label :t/edit) :value #(re-frame/dispatch [:set-in [:chat-list-ui-props :edit?] true])}]) (defn android-toolbar-actions [] - [(act/search #(re-frame/dispatch [:set-in [:toolbar-search :show] true])) + [(act/search #(re-frame/dispatch [:set-in [:toolbar-search :show] :chat-list])) (act/opts android-toolbar-popup-options)]) (def ios-toolbar-popup-options [{:text (i18n/label :t/edit-chats) :value #(re-frame/dispatch [:set-in [:chat-list-ui-props :edit?] true])} - {:text (i18n/label :t/search-chats) :value #(re-frame/dispatch [:set-in [:toolbar-search :show] true])}]) + {:text (i18n/label :t/search-chats) :value #(re-frame/dispatch [:set-in [:toolbar-search :show] :chat-list])}]) (defn ios-toolbar-actions [] [(act/opts ios-toolbar-popup-options) @@ -77,13 +77,13 @@ (defview chats-list [] (letsubs [chats [:filtered-chats] edit? [:get-in [:chat-list-ui-props :edit?]] - search? [:get-in [:toolbar-search :show]] + show-search [:get-in [:toolbar-search :show]] tabs-hidden? [:tabs-hidden?]] [react/view st/chats-container (cond - edit? [toolbar-edit] - search? [toolbar-search] - :else [toolbar-view]) + edit? [toolbar-edit] + (= show-search :chat-list) [toolbar-search] + :else [toolbar-view]) [react/list-view {:dataSource (to-datasource chats) :renderRow (fn [[id :as row] _ _] (react/list-item ^{:key id} [chat-list-item row edit?])) @@ -95,7 +95,7 @@ :renderSeparator renderers/list-separator-renderer :style st/list-container}] (when (and (not edit?) - (not search?) + (not= show-search :chat-list) (get-in platform-specific [:chats :action-button?])) [chats-action-button]) [offline-view]]))