diff --git a/src/status_im/contexts/wallet/events.cljs b/src/status_im/contexts/wallet/events.cljs index e00cc1a2ec..bd3d1d9607 100644 --- a/src/status_im/contexts/wallet/events.cljs +++ b/src/status_im/contexts/wallet/events.cljs @@ -362,11 +362,19 @@ (rf/reg-event-fx :wallet/address-validation-success (fn [{:keys [db]}] - {:db (assoc-in db [:wallet :ui :search-address :valid-ens-or-address?] true)})) + {:db (update-in db + [:wallet :ui :search-address] + assoc + :valid-ens-or-address? true + :loading? false)})) (rf/reg-event-fx :wallet/address-validation-failed (fn [{:keys [db]}] - {:db (assoc-in db [:wallet :ui :search-address :valid-ens-or-address?] false)})) + {:db (update-in db + [:wallet :ui :search-address] + assoc + :valid-ens-or-address? false + :loading? false)})) (rf/reg-event-fx :wallet/clean-local-suggestions (fn [{:keys [db]}] @@ -374,6 +382,10 @@ (assoc-in [:wallet :ui :search-address :local-suggestions] []) (assoc-in [:wallet :ui :search-address :valid-ens-or-address?] false))})) +(rf/reg-event-fx :wallet/searching-address + (fn [{:keys [db]}] + {:db (assoc-in db [:wallet :ui :search-address :loading?] true)})) + (rf/reg-event-fx :wallet/navigate-to-chain-explorer-from-bottom-sheet (fn [_ [explorer-link address]] diff --git a/src/status_im/contexts/wallet/send/select_address/view.cljs b/src/status_im/contexts/wallet/send/select_address/view.cljs index f936422114..a92e372d97 100644 --- a/src/status_im/contexts/wallet/send/select_address/view.cljs +++ b/src/status_im/contexts/wallet/send/select_address/view.cljs @@ -76,6 +76,7 @@ 300))) :on-change-text (fn [text] (rf/dispatch [:wallet/clean-local-suggestions]) + (rf/dispatch [:wallet/searching-address]) (validate-address text) (reset! input-value text)) :valid-ens-or-address? valid-ens-or-address?}]))) @@ -182,7 +183,8 @@ input-focused? (reagent/atom false)] (fn [] (let [selected-tab (or (rf/sub [:wallet/send-tab]) (:id (first tabs-data))) - valid-ens-or-address? (boolean (rf/sub [:wallet/valid-ens-or-address?]))] + valid-ens-or-address? (boolean (rf/sub [:wallet/valid-ens-or-address?])) + searching-address? (rf/sub [:wallet/searching-address?])] [floating-button-page/view {:content-container-style {:flex 1} :footer-container-padding 0 @@ -198,7 +200,7 @@ :title-accessibility-label :title-label}] [address-input input-value input-focused?] [quo/divider-line] - (when (and (not valid-ens-or-address?) (> (count @input-value) 0)) + (when (and (not valid-ens-or-address?) (> (count @input-value) 0) (not searching-address?)) [rn/view {:style {:padding 20}} [quo/info-message {:status :error diff --git a/src/status_im/subs/wallet/wallet.cljs b/src/status_im/subs/wallet/wallet.cljs index e481c1c7fb..103fae5f03 100644 --- a/src/status_im/subs/wallet/wallet.cljs +++ b/src/status_im/subs/wallet/wallet.cljs @@ -595,6 +595,11 @@ :<- [:wallet/search-address] :-> :valid-ens-or-address?) +(rf/reg-sub + :wallet/searching-address? + :<- [:wallet/search-address] + :-> :loading?) + (rf/reg-sub :wallet/aggregated-fiat-balance-per-chain :<- [:wallet/aggregated-tokens]