Compare commits

...
Author SHA1 Message Date
Omar Basem 5691049a41 lint 2024-07-08 11:39:50 +04:00
Omar Basem db6a014bbd fix sorting 2024-07-08 10:58:48 +04:00
4 changed files with 44 additions and 23 deletions
@@ -177,7 +177,7 @@
"This function returns token values in the props of token-value (quo) component"
[{:keys [token color currency currency-symbol]}]
(let [balance (calculate-total-token-balance token)
fiat-value (calculate-token-fiat-value
fiat-unformatted-value (calculate-token-fiat-value
{:currency currency
:balance balance
:token token})
@@ -191,7 +191,7 @@
crypto-value (get-standard-crypto-format token balance)
fiat-value (get-standard-fiat-format crypto-value
currency-symbol
fiat-value)]
fiat-unformatted-value)]
{:token (:symbol token)
:token-name (:name token)
:state :default
@@ -201,10 +201,11 @@
(neg? change-pct-24hour) :negative
:else :empty)
:customization-color color
:values {:crypto-value crypto-value
:fiat-value fiat-value
:fiat-change formatted-token-price
:percentage-change percentage-change}}))
:values {:crypto-value crypto-value
:fiat-value fiat-value
:fiat-unformatted-value fiat-unformatted-value
:fiat-change formatted-token-price
:percentage-change percentage-change}}))
(defn get-multichain-address
[networks address]
+10 -2
View File
@@ -362,11 +362,15 @@
(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 (-> db
(assoc-in [:wallet :ui :search-address :valid-ens-or-address?] true)
(assoc-in [:wallet :ui :search-address :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 (-> db
(assoc-in [:wallet :ui :search-address :valid-ens-or-address?] false)
(assoc-in [:wallet :ui :search-address :loading?] false))}))
(rf/reg-event-fx :wallet/clean-local-suggestions
(fn [{:keys [db]}]
@@ -374,6 +378,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]]
@@ -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
+23 -13
View File
@@ -496,11 +496,13 @@
:<- [:profile/currency]
:<- [:profile/currency-symbol]
(fn [[{:keys [color]} tokens currency currency-symbol]]
(mapv #(utils/calculate-token-value {:token %
:color color
:currency currency
:currency-symbol currency-symbol})
tokens)))
(let [calculated-tokens (mapv #(utils/calculate-token-value {:token %
:color color
:currency currency
:currency-symbol currency-symbol})
tokens)]
(vec (sort-by #(get-in % [:values :fiat-unformatted-value]) > calculated-tokens)))))
(rf/reg-sub
:wallet/aggregated-tokens
@@ -522,16 +524,19 @@
:<- [:profile/currency]
:<- [:profile/currency-symbol]
(fn [[aggregated-tokens color currency currency-symbol]]
(let [balance (utils/calculate-balance-from-tokens {:currency currency
:tokens aggregated-tokens})
formatted-balance (utils/prettify-balance currency-symbol balance)]
(let [balance (utils/calculate-balance-from-tokens {:currency currency
:tokens aggregated-tokens})
formatted-balance (utils/prettify-balance currency-symbol balance)
token-values (mapv #(utils/calculate-token-value {:token %
:color color
:currency currency
:currency-symbol currency-symbol})
aggregated-tokens)
sorted-token-values (sort-by #(-> % :values :fiat-unformatted-value) > token-values)]
{:balance balance
:formatted-balance formatted-balance
:tokens (mapv #(utils/calculate-token-value {:token %
:color color
:currency currency
:currency-symbol currency-symbol})
aggregated-tokens)})))
:tokens sorted-token-values})))
(rf/reg-sub
:wallet/network-preference-details
@@ -595,6 +600,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]