remove navigate-to-nav2 event (#15454)

This commit is contained in:
Parvesh Monu 2023-03-24 15:44:17 +05:30 committed by GitHub
parent 45da51bea6
commit 5c92b7eb1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 59 additions and 68 deletions

View File

@ -276,7 +276,7 @@
(vals (get-in db [:communities community-id :chats])))] (vals (get-in db [:communities community-id :chats])))]
(when (and id (when (and id
(not= (:current-chat-id db) (str community-id id))) (not= (:current-chat-id db) (str community-id id)))
(chat.events/navigate-to-chat cofx (str community-id id) nil)))) (chat.events/navigate-to-chat cofx (str community-id id)))))
(rf/defn fetch (rf/defn fetch
[_] [_]
@ -817,7 +817,7 @@
[cofx community-id] [cofx community-id]
(rf/merge cofx (rf/merge cofx
(navigation/pop-to-root :shell-stack) (navigation/pop-to-root :shell-stack)
(navigation/navigate-to-nav2 :community community-id true))) (navigation/navigate-to-cofx :community-overview community-id)))
(rf/defn member-role-updated (rf/defn member-role-updated
{:events [:community.member/role-updated]} {:events [:community.member/role-updated]}

View File

@ -15,7 +15,7 @@
{:events [:navigate-chat-updated]} {:events [:navigate-chat-updated]}
[cofx chat-id] [cofx chat-id]
(when (get-in cofx [:db :chats chat-id]) (when (get-in cofx [:db :chats chat-id])
(chat.events/navigate-to-chat cofx chat-id nil))) (chat.events/navigate-to-chat cofx chat-id)))
(rf/defn handle-chat-removed (rf/defn handle-chat-removed
{:events [:chat-removed]} {:events [:chat-removed]}

View File

@ -44,6 +44,7 @@
[status-im2.navigation.events :as navigation] [status-im2.navigation.events :as navigation]
[status-im2.common.log :as logging] [status-im2.common.log :as logging]
[taoensso.timbre :as log] [taoensso.timbre :as log]
[status-im2.contexts.shell.animation :as shell.animation]
[utils.security.core :as security])) [utils.security.core :as security]))
(re-frame/reg-fx (re-frame/reg-fx
@ -520,6 +521,7 @@
tos-accepted? (get db :tos/accepted?) tos-accepted? (get db :tos/accepted?)
{:networks/keys [current-network networks]} db {:networks/keys [current-network networks]} db
network-id (str (get-in networks [current-network :config :NetworkId]))] network-id (str (get-in networks [current-network :config :NetworkId]))]
(shell.animation/change-selected-stack-id :communities-stack true)
(rf/merge cofx (rf/merge cofx
{:db (-> db {:db (-> db
(dissoc :multiaccounts/login) (dissoc :multiaccounts/login)

View File

@ -48,7 +48,7 @@
:on-press (fn [] :on-press (fn []
(rf/dispatch [:communities/load-category-states id]) (rf/dispatch [:communities/load-category-states id])
(rf/dispatch [:dismiss-keyboard]) (rf/dispatch [:dismiss-keyboard])
(rf/dispatch [:navigate-to-nav2 :community {:community-id id}])) (rf/dispatch [:navigate-to :community-overview id]))
:on-long-press #(rf/dispatch [:bottom-sheet/show-sheet :on-long-press #(rf/dispatch [:bottom-sheet/show-sheet
{:content (fn [] {:content (fn []
[community/community-actions community])}])} [community/community-actions community])}])}
@ -111,7 +111,7 @@
(i18n/label :t/open-membership))]] (i18n/label :t/open-membership))]]
:on-press #(do :on-press #(do
(rf/dispatch [:dismiss-keyboard]) (rf/dispatch [:dismiss-keyboard])
(rf/dispatch [:navigate-to-nav2 :community {:community-id id}]))}])) (rf/dispatch [:navigate-to :community-overview id]))}]))
(defn communities-actions (defn communities-actions
[] []

View File

@ -384,7 +384,7 @@
[rn/touchable-opacity [rn/touchable-opacity
{:on-press #(re-frame/dispatch {:on-press #(re-frame/dispatch
[:communities/navigate-to-community [:communities/navigate-to-community
{:community-id (:id community)}])} (:id community)])}
[rn/text [rn/text
{:style {:text-align :center {:style {:text-align :center
:color quo.colors/blue}} (i18n/label :t/view)]]]]))) :color quo.colors/blue}} (i18n/label :t/view)]]]])))

View File

@ -202,9 +202,9 @@
(rf/defn navigate-to-chat (rf/defn navigate-to-chat
"Takes coeffects map and chat-id, returns effects necessary for navigation and preloading data" "Takes coeffects map and chat-id, returns effects necessary for navigation and preloading data"
{:events [:chat/navigate-to-chat]} {:events [:chat/navigate-to-chat]}
[{db :db :as cofx} chat-id from-shell?] [{db :db :as cofx} chat-id]
(rf/merge cofx (rf/merge cofx
{:dispatch [:navigate-to-nav2 :chat chat-id from-shell?]} {:dispatch [:navigate-to :chat chat-id]}
(when-not (or (= (:view-id db) :community) (= (:view-id db) :community-overview)) (when-not (or (= (:view-id db) :community) (= (:view-id db) :community-overview))
(navigation/pop-to-root :shell-stack)) (navigation/pop-to-root :shell-stack))
(close-chat false) (close-chat false)

View File

@ -88,7 +88,7 @@
(let [chat-id "test_chat" (let [chat-id "test_chat"
db {:pagination-info {chat-id {:all-loaded? true}}}] db {:pagination-info {chat-id {:all-loaded? true}}}]
(testing "Pagination info should be reset on navigation" (testing "Pagination info should be reset on navigation"
(let [res (chat/navigate-to-chat {:db db} chat-id false)] (let [res (chat/navigate-to-chat {:db db} chat-id)]
(is (nil? (get-in res [:db :pagination-info chat-id :all-loaded?]))))))) (is (nil? (get-in res [:db :pagination-info chat-id :all-loaded?])))))))
(deftest camera-roll-loading-more-test (deftest camera-roll-loading-more-test

View File

@ -34,7 +34,7 @@
{:on-press (fn [] {:on-press (fn []
(rf/dispatch [:communities/load-category-states (:id item)]) (rf/dispatch [:communities/load-category-states (:id item)])
(rf/dispatch [:dismiss-keyboard]) (rf/dispatch [:dismiss-keyboard])
(rf/dispatch [:navigate-to :community {:community-id (:id item)}])) (rf/dispatch [:navigate-to :community-overview (:id item)]))
:on-long-press #(rf/dispatch :on-long-press #(rf/dispatch
[:bottom-sheet/show-sheet [:bottom-sheet/show-sheet
{:content (fn [] {:content (fn []
@ -144,7 +144,7 @@
{:on-press (fn [] {:on-press (fn []
(rf/dispatch [:communities/load-category-states (:id community)]) (rf/dispatch [:communities/load-category-states (:id community)])
(rf/dispatch [:dismiss-keyboard]) (rf/dispatch [:dismiss-keyboard])
(rf/dispatch [:navigate-to :community (:id community)])) (rf/dispatch [:navigate-to :community-overview (:id community)]))
:on-long-press #(rf/dispatch [:bottom-sheet/show-sheet :on-long-press #(rf/dispatch [:bottom-sheet/show-sheet
{:content (fn [] {:content (fn []
;; TODO implement with quo2 ;; TODO implement with quo2

View File

@ -18,7 +18,7 @@
item (merge item unviewed-counts)] item (merge item unviewed-counts)]
[quo/communities-membership-list-item [quo/communities-membership-list-item
{:style {:padding-horizontal 18} {:style {:padding-horizontal 18}
:on-press #(rf/dispatch [:navigate-to-nav2 :community-overview id]) :on-press #(rf/dispatch [:navigate-to :community-overview id])
:on-long-press #(rf/dispatch :on-long-press #(rf/dispatch
[:bottom-sheet/show-sheet [:bottom-sheet/show-sheet
{:content (fn [] {:content (fn []

View File

@ -26,6 +26,16 @@
(or (= state shell.constants/open-with-animation) (or (= state shell.constants/open-with-animation)
(= state shell.constants/open-without-animation)))) (= state shell.constants/open-without-animation))))
(defn calculate-home-stack-state-value
[stack-id & animate?]
(if animate?
(if (some? stack-id)
shell.constants/open-with-animation
shell.constants/close-with-animation)
(if (some? stack-id)
shell.constants/open-without-animation
shell.constants/close-without-animation)))
(defn load-stack (defn load-stack
[stack-id] [stack-id]
(case stack-id (case stack-id
@ -35,14 +45,14 @@
:browser-stack (reset! load-browser-stack? true) :browser-stack (reset! load-browser-stack? true)
"")) ""))
(defn selected-stack-id-loaded (defn change-selected-stack-id
[stack-id] [stack-id & [store? home-stack-state-value]]
(let [home-stack-state-value (or home-stack-state-value
(calculate-home-stack-state-value stack-id))]
(reset! selected-stack-id stack-id) (reset! selected-stack-id stack-id)
(reset! (reset! home-stack-state home-stack-state-value)
home-stack-state (when store?
(if (some? stack-id) (async-storage/set-item! :selected-stack-id stack-id))))
shell.constants/open-with-animation
shell.constants/close-with-animation)))
(defn calculate-home-stack-position (defn calculate-home-stack-position
[] []
@ -133,28 +143,17 @@
(defn open-home-stack (defn open-home-stack
[stack-id animate?] [stack-id animate?]
(let [home-stack-state-value (if animate? (let [home-stack-state-value (calculate-home-stack-state-value stack-id animate?)]
shell.constants/open-with-animation (reanimated/set-shared-value (:selected-stack-id @shared-values-atom) (name stack-id))
shell.constants/open-without-animation)] (reanimated/set-shared-value (:home-stack-state @shared-values-atom) home-stack-state-value)
(reanimated/set-shared-value (js/setTimeout change-root-status-bar-style shell.constants/shell-animation-time)
(:selected-stack-id @shared-values-atom) (change-selected-stack-id stack-id true home-stack-state-value)))
(name stack-id))
(reanimated/set-shared-value
(:home-stack-state @shared-values-atom)
home-stack-state-value)
(reset! home-stack-state home-stack-state-value)
(js/setTimeout
change-root-status-bar-style
shell.constants/shell-animation-time)
(reset! selected-stack-id stack-id)
(async-storage/set-item! :selected-stack-id stack-id)))
(defn change-tab (defn change-tab
[stack-id] [stack-id]
(reanimated/set-shared-value (:animate-home-stack-left @shared-values-atom) false) (reanimated/set-shared-value (:animate-home-stack-left @shared-values-atom) false)
(reanimated/set-shared-value (:selected-stack-id @shared-values-atom) (name stack-id)) (reanimated/set-shared-value (:selected-stack-id @shared-values-atom) (name stack-id))
(reset! selected-stack-id stack-id) (change-selected-stack-id stack-id true))
(async-storage/set-item! :selected-stack-id stack-id))
(defn bottom-tab-on-press (defn bottom-tab-on-press
[stack-id] [stack-id]
@ -169,16 +168,9 @@
(defn close-home-stack (defn close-home-stack
[animate?] [animate?]
(let [home-stack-state-value (if animate? (let [stack-id nil
shell.constants/close-with-animation home-stack-state-value (calculate-home-stack-state-value stack-id animate?)]
shell.constants/close-without-animation)] (reanimated/set-shared-value (:animate-home-stack-left @shared-values-atom) true)
(reanimated/set-shared-value (reanimated/set-shared-value (:home-stack-state @shared-values-atom) home-stack-state-value)
(:animate-home-stack-left @shared-values-atom)
true)
(reanimated/set-shared-value
(:home-stack-state @shared-values-atom)
home-stack-state-value)
(reset! home-stack-state home-stack-state-value)
(change-root-status-bar-style) (change-root-status-bar-style)
(reset! selected-stack-id nil) (change-selected-stack-id stack-id true home-stack-state-value)))
(async-storage/set-item! :selected-stack-id nil)))

View File

@ -42,7 +42,7 @@
(utils.universal-links/initialize) (utils.universal-links/initialize)
;; TODO(parvesh) - Remove while moving functionality to status-go ;; TODO(parvesh) - Remove while moving functionality to status-go
(async-storage/get-item :selected-stack-id #(animation/selected-stack-id-loaded %)) (async-storage/get-item :selected-stack-id #(animation/change-selected-stack-id %))
(async-storage/get-item :screen-height #(reset! animation/screen-height %)) (async-storage/get-item :screen-height #(reset! animation/screen-height %))

View File

@ -11,11 +11,16 @@
(assoc-in [:navigation/screen-params view] screen-params))) (assoc-in [:navigation/screen-params view] screen-params)))
(rf/defn navigate-to-cofx (rf/defn navigate-to-cofx
[{:keys [db]} go-to-view-id screen-params] [{:keys [db] :as cofx} go-to-view-id screen-params]
{:db (merge
(-> (assoc db :view-id go-to-view-id) {:db (-> (assoc db :view-id go-to-view-id)
(all-screens-params go-to-view-id screen-params)) (all-screens-params go-to-view-id screen-params))
:navigate-to-fx go-to-view-id}) :navigate-to-fx go-to-view-id}
(when (#{:chat :community-overview} go-to-view-id)
{:dispatch-later
;; 300 ms delay because, navigation is priority over shell card update
[{:dispatch [:shell/add-switcher-card go-to-view-id screen-params]
:ms 300}]})))
(rf/defn navigate-to (rf/defn navigate-to
{:events [:navigate-to]} {:events [:navigate-to]}
@ -100,14 +105,6 @@
{:shell/reset-bottom-tabs nil {:shell/reset-bottom-tabs nil
:dispatch [:init-root :shell-stack]}) :dispatch [:init-root :shell-stack]})
(rf/defn navigate-to-nav2
{:events [:navigate-to-nav2]}
[cofx view-id screen-params from-shell?]
(rf/merge
cofx
{:dispatch [:shell/add-switcher-card view-id screen-params from-shell?]}
(navigate-to-cofx view-id screen-params)))
(rf/defn change-root-status-bar-style (rf/defn change-root-status-bar-style
{:events [:change-root-status-bar-style]} {:events [:change-root-status-bar-style]}
[_ style] [_ style]

View File

@ -67,7 +67,7 @@
(str profile-picture "&addRing=0"))} (str profile-picture "&addRing=0"))}
:customization-color (or (:customization-color contact) :primary) :customization-color (or (:customization-color contact) :primary)
:on-close #(re-frame/dispatch [:shell/close-switcher-card id]) :on-close #(re-frame/dispatch [:shell/close-switcher-card id])
:on-press #(re-frame/dispatch [:chat/navigate-to-chat id true]) :on-press #(re-frame/dispatch [:chat/navigate-to-chat id])
:content (get-card-content chat communities)})) :content (get-card-content chat communities)}))
(defn private-group-chat-card (defn private-group-chat-card
@ -76,7 +76,7 @@
:avatar-params {} :avatar-params {}
:customization-color (or (:customization-color chat) :primary) :customization-color (or (:customization-color chat) :primary)
:on-close #(re-frame/dispatch [:shell/close-switcher-card id]) :on-close #(re-frame/dispatch [:shell/close-switcher-card id])
:on-press #(re-frame/dispatch [:chat/navigate-to-chat id true]) :on-press #(re-frame/dispatch [:chat/navigate-to-chat id])
:content (get-card-content chat communities)}) :content (get-card-content chat communities)})
(defn community-card (defn community-card
@ -88,7 +88,7 @@
{:name (:name community)}) {:name (:name community)})
:customization-color (or (:customization-color community) :primary) :customization-color (or (:customization-color community) :primary)
:on-close #(re-frame/dispatch [:shell/close-switcher-card id]) :on-close #(re-frame/dispatch [:shell/close-switcher-card id])
:on-press #(re-frame/dispatch [:navigate-to-nav2 :community-overview id true]) :on-press #(re-frame/dispatch [:navigate-to :community-overview id])
:content {:community-info {:type :permission}}})) :content {:community-info {:type :permission}}}))
(defn community-channel-card (defn community-channel-card
@ -98,9 +98,9 @@
{:content {:community-channel {:emoji (:emoji channel) {:content {:community-channel {:emoji (:emoji channel)
:channel-name (str "# " (:name channel))}} :channel-name (str "# " (:name channel))}}
:on-press (fn [] :on-press (fn []
(re-frame/dispatch [:navigate-to-nav2 :community-overview community-id true]) (re-frame/dispatch [:navigate-to :community-overview community-id])
(js/setTimeout (js/setTimeout
#(re-frame/dispatch [:chat/navigate-to-chat channel-id true]) #(re-frame/dispatch [:chat/navigate-to-chat channel-id])
100))})) 100))}))
(re-frame/reg-sub (re-frame/reg-sub