Disable creating a chat until login complete
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
This commit is contained in:
parent
7d22f61e20
commit
e07433fdff
|
@ -9,6 +9,7 @@
|
||||||
[status-im.utils.keychain.core :as keychain]
|
[status-im.utils.keychain.core :as keychain]
|
||||||
[status-im.utils.types :as types]
|
[status-im.utils.types :as types]
|
||||||
[taoensso.timbre :as log]
|
[taoensso.timbre :as log]
|
||||||
|
[status-im.utils.universal-links.core :as universal-links]
|
||||||
[status-im.utils.security :as security]
|
[status-im.utils.security :as security]
|
||||||
[status-im.utils.platform :as platform]
|
[status-im.utils.platform :as platform]
|
||||||
[status-im.protocol.core :as protocol]
|
[status-im.protocol.core :as protocol]
|
||||||
|
@ -96,6 +97,7 @@
|
||||||
(when save-password?
|
(when save-password?
|
||||||
{:keychain/save-user-password [address password]}))
|
{:keychain/save-user-password [address password]}))
|
||||||
(protocol/initialize-protocol)
|
(protocol/initialize-protocol)
|
||||||
|
(universal-links/process-stored-event)
|
||||||
#(when-not platform/desktop?
|
#(when-not platform/desktop?
|
||||||
(initialize-wallet %)))
|
(initialize-wallet %)))
|
||||||
(account-and-db-password-do-not-match cofx error)))))
|
(account-and-db-password-do-not-match cofx error)))))
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
[status-im.utils.ethereum.core :as ethereum]
|
[status-im.utils.ethereum.core :as ethereum]
|
||||||
[status-im.utils.keychain.core :as keychain]
|
[status-im.utils.keychain.core :as keychain]
|
||||||
[status-im.utils.platform :as platform]
|
[status-im.utils.platform :as platform]
|
||||||
[status-im.utils.universal-links.core :as universal-links]
|
|
||||||
[status-im.utils.utils :as utils]
|
[status-im.utils.utils :as utils]
|
||||||
[taoensso.timbre :as log]
|
[taoensso.timbre :as log]
|
||||||
[status-im.utils.fx :as fx]
|
[status-im.utils.fx :as fx]
|
||||||
|
@ -204,7 +203,6 @@
|
||||||
(fx/merge cofx
|
(fx/merge cofx
|
||||||
{:notifications/request-notifications-permissions nil}
|
{:notifications/request-notifications-permissions nil}
|
||||||
(navigation/navigate-to-cofx :home nil)
|
(navigation/navigate-to-cofx :home nil)
|
||||||
(universal-links/process-stored-event)
|
|
||||||
(notifications/process-stored-event address stored-pns)
|
(notifications/process-stored-event address stored-pns)
|
||||||
(when platform/desktop?
|
(when platform/desktop?
|
||||||
(chat-model/update-dock-badge-label))))
|
(chat-model/update-dock-badge-label))))
|
||||||
|
|
|
@ -142,6 +142,7 @@
|
||||||
|
|
||||||
(views/defview chat-list-view [loading?]
|
(views/defview chat-list-view [loading?]
|
||||||
(views/letsubs [search-filter [:search/filter]
|
(views/letsubs [search-filter [:search/filter]
|
||||||
|
logging-in? [:get :accounts/login]
|
||||||
filtered-home-items [:search/filtered-home-items]]
|
filtered-home-items [:search/filtered-home-items]]
|
||||||
{:component-did-mount
|
{:component-did-mount
|
||||||
(fn [this]
|
(fn [this]
|
||||||
|
@ -152,9 +153,11 @@
|
||||||
[react/view {:style styles/chat-list-header}
|
[react/view {:style styles/chat-list-header}
|
||||||
[search-input search-filter]
|
[search-input search-filter]
|
||||||
[react/view
|
[react/view
|
||||||
[react/touchable-highlight {:on-press #(re-frame/dispatch [:set-in [:desktop :popup] popup])}
|
[react/touchable-highlight {:on-press (when-not logging-in? #(re-frame/dispatch [:set-in [:desktop :popup] popup]))}
|
||||||
[react/view {:style styles/add-new}
|
[react/view {:style styles/add-new}
|
||||||
[icons/icon :icons/add {:style {:tint-color :white}}]]]]]
|
(if logging-in?
|
||||||
|
[components/activity-indicator {:animating true :color :white}]
|
||||||
|
[icons/icon :icons/add {:style {:tint-color :white}}])]]]]
|
||||||
[react/scroll-view {:enableArrayScrollingOptimization true}
|
[react/scroll-view {:enableArrayScrollingOptimization true}
|
||||||
[react/view
|
[react/view
|
||||||
(for [[index chat] (map-indexed vector filtered-home-items)]
|
(for [[index chat] (map-indexed vector filtered-home-items)]
|
||||||
|
|
|
@ -187,3 +187,6 @@
|
||||||
:border-radius 28
|
:border-radius 28
|
||||||
:align-items :center
|
:align-items :center
|
||||||
:justify-content :center})
|
:justify-content :center})
|
||||||
|
|
||||||
|
(def spinner-container
|
||||||
|
{:margin-right 10})
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
[status-im.ui.components.toolbar.view :as toolbar]
|
[status-im.ui.components.toolbar.view :as toolbar]
|
||||||
[status-im.ui.components.toolbar.actions :as toolbar.actions]
|
[status-im.ui.components.toolbar.actions :as toolbar.actions]
|
||||||
[status-im.ui.components.connectivity.view :as connectivity]
|
[status-im.ui.components.connectivity.view :as connectivity]
|
||||||
|
[status-im.ui.components.colors :as colors]
|
||||||
[status-im.ui.screens.home.views.inner-item :as inner-item]
|
[status-im.ui.screens.home.views.inner-item :as inner-item]
|
||||||
[status-im.ui.screens.home.styles :as styles]
|
[status-im.ui.screens.home.styles :as styles]
|
||||||
[status-im.utils.platform :as platform]
|
[status-im.utils.platform :as platform]
|
||||||
|
@ -16,7 +17,7 @@
|
||||||
[status-im.ui.components.react :as components]
|
[status-im.ui.components.react :as components]
|
||||||
[status-im.utils.utils :as utils]))
|
[status-im.utils.utils :as utils]))
|
||||||
|
|
||||||
(defn- toolbar [show-welcome? show-sync-state sync-state latest-block-number]
|
(defn- toolbar [show-welcome? show-sync-state sync-state latest-block-number logged-in?]
|
||||||
(when-not (and show-welcome?
|
(when-not (and show-welcome?
|
||||||
platform/android?)
|
platform/android?)
|
||||||
[toolbar/toolbar nil nil
|
[toolbar/toolbar nil nil
|
||||||
|
@ -34,17 +35,27 @@
|
||||||
(str "not syncing")))]]]
|
(str "not syncing")))]]]
|
||||||
[toolbar/content-wrapper
|
[toolbar/content-wrapper
|
||||||
[components.common/logo styles/toolbar-logo]]))
|
[components.common/logo styles/toolbar-logo]]))
|
||||||
|
(cond
|
||||||
|
(and platform/ios?
|
||||||
|
logged-in?)
|
||||||
[toolbar/actions
|
[toolbar/actions
|
||||||
(when platform/ios?
|
|
||||||
[(-> (toolbar.actions/add true #(re-frame/dispatch [:navigate-to :new]))
|
[(-> (toolbar.actions/add true #(re-frame/dispatch [:navigate-to :new]))
|
||||||
(assoc-in [:icon-opts :accessibility-label] :new-chat-button))])]]))
|
(assoc-in [:icon-opts :accessibility-label] :new-chat-button))]]
|
||||||
|
platform/ios?
|
||||||
|
[react/view {:style styles/spinner-container}
|
||||||
|
[components/activity-indicator {:color colors/blue
|
||||||
|
:animating true}]])]))
|
||||||
|
|
||||||
(defn- home-action-button []
|
(defn- home-action-button [logged-in?]
|
||||||
[react/view styles/action-button-container
|
[react/view styles/action-button-container
|
||||||
[react/touchable-highlight {:accessibility-label :new-chat-button
|
[react/touchable-highlight {:accessibility-label :new-chat-button
|
||||||
:on-press #(re-frame/dispatch [:navigate-to :new])}
|
:on-press (when logged-in? #(re-frame/dispatch [:navigate-to :new]))}
|
||||||
[react/view styles/action-button
|
[react/view styles/action-button
|
||||||
[icons/icon :icons/add {:color :white}]]]])
|
|
||||||
|
(if-not logged-in?
|
||||||
|
[components/activity-indicator {:color :white
|
||||||
|
:animating true}]
|
||||||
|
[icons/icon :icons/add {:color :white}])]]])
|
||||||
|
|
||||||
(defn home-list-item [[home-item-id home-item]]
|
(defn home-list-item [[home-item-id home-item]]
|
||||||
(let [delete-action (if (:chat-id home-item)
|
(let [delete-action (if (:chat-id home-item)
|
||||||
|
@ -90,6 +101,7 @@
|
||||||
(views/defview home [loading?]
|
(views/defview home [loading?]
|
||||||
(views/letsubs [show-welcome? [:get-in [:accounts/create :show-welcome?]]
|
(views/letsubs [show-welcome? [:get-in [:accounts/create :show-welcome?]]
|
||||||
view-id [:get :view-id]
|
view-id [:get :view-id]
|
||||||
|
logging-in? [:get :accounts/login]
|
||||||
sync-state [:chain-sync-state]
|
sync-state [:chain-sync-state]
|
||||||
latest-block-number [:latest-block-number]
|
latest-block-number [:latest-block-number]
|
||||||
rpc-network? [:current-network-uses-rpc?]
|
rpc-network? [:current-network-uses-rpc?]
|
||||||
|
@ -102,7 +114,7 @@
|
||||||
#(re-frame/dispatch [:init-rest-of-chats])
|
#(re-frame/dispatch [:init-rest-of-chats])
|
||||||
100))))}
|
100))))}
|
||||||
[react/view styles/container
|
[react/view styles/container
|
||||||
[toolbar show-welcome? (and network-initialized? (not rpc-network?)) sync-state latest-block-number]
|
[toolbar show-welcome? (and network-initialized? (not rpc-network?)) sync-state latest-block-number (not logging-in?)]
|
||||||
(cond show-welcome?
|
(cond show-welcome?
|
||||||
[welcome view-id]
|
[welcome view-id]
|
||||||
loading?
|
loading?
|
||||||
|
@ -117,7 +129,7 @@
|
||||||
[connectivity/connectivity-view]
|
[connectivity/connectivity-view]
|
||||||
[chats-list]])
|
[chats-list]])
|
||||||
(when platform/android?
|
(when platform/android?
|
||||||
[home-action-button])]))
|
[home-action-button (not logging-in?)])]))
|
||||||
|
|
||||||
(views/defview home-wrapper []
|
(views/defview home-wrapper []
|
||||||
(views/letsubs [loading? [:get :chats/loading?]]
|
(views/letsubs [loading? [:get :chats/loading?]]
|
||||||
|
|
Loading…
Reference in New Issue