Loading spinner for sign up confirmation view

This commit is contained in:
virvar 2016-03-21 15:27:50 +03:00
parent c95ecf5363
commit 81b1d6440a

View File

@ -10,12 +10,14 @@
[messenger.state :as state] [messenger.state :as state]
[messenger.utils.utils :refer [log toast]] [messenger.utils.utils :refer [log toast]]
[messenger.utils.resources :as res] [messenger.utils.resources :as res]
[messenger.components.spinner :refer [spinner]]
[messenger.comm.intercom :as intercom :refer [set-confirmation-code]] [messenger.comm.intercom :as intercom :refer [set-confirmation-code]]
[messenger.android.contacts-list :refer [contacts-list]])) [messenger.android.contacts-list :refer [contacts-list]]))
(def nav-atom (atom nil)) (def nav-atom (atom nil))
(defn show-home-view [] (defn show-home-view []
(swap! state/app-state assoc :loading false)
(binding [state/*nav-render* false] (binding [state/*nav-render* false]
(.replace @nav-atom (clj->js {:component contacts-list (.replace @nav-atom (clj->js {:component contacts-list
:name "contacts-list"})))) :name "contacts-list"}))))
@ -37,6 +39,7 @@
(defn send-code [code] (defn send-code [code]
(when (code-valid? code) (when (code-valid? code)
(swap! state/app-state assoc :loading true)
(intercom/sign-up-confirm code on-send-code-response))) (intercom/sign-up-confirm code on-send-code-response)))
(defn update-code [value] (defn update-code [value]
@ -46,13 +49,15 @@
(defui SignUpConfirm (defui SignUpConfirm
static om/IQuery static om/IQuery
(query [this] (query [this]
'[:confirmation-code]) '[:confirmation-code :loading])
Object Object
(render (render
[this] [this]
(let [{:keys [confirmation-code]} (om/props this) (let [{:keys [confirmation-code loading]} (om/props this)
{:keys [nav]} (om/get-computed this)] {:keys [nav]} (om/get-computed this)]
(reset! nav-atom nav) (reset! nav-atom nav)
(view
{:style {:flex 1}}
(view (view
{:style {:flex 1 {:style {:flex 1
:backgroundColor "white"}} :backgroundColor "white"}}
@ -94,6 +99,8 @@
:width 100}} :width 100}}
(text {:style {:marginVertical 10 (text {:style {:marginVertical 10
:textAlign "center"}} :textAlign "center"}}
"Confirm")))))))) "Confirm")))))
(when loading
(spinner {:visible true}))))))
(def sign-up-confirm (om/factory SignUpConfirm)) (def sign-up-confirm (om/factory SignUpConfirm))