Skip to content

Commit

Permalink
fix: non supported network warning is shown on the bridge flow
Browse files Browse the repository at this point in the history
Signed-off-by: Brian Sztamfater <brian@status.im>
  • Loading branch information
briansztamfater committed May 19, 2024
1 parent d558c56 commit d94af4a
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 19 deletions.
1 change: 1 addition & 0 deletions src/quo/components/list_items/network_list/style.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
:padding-vertical 8
:border-radius 12
:height 56
:opacity (if (= state :disabled) 0.3 1)
:background-color (background-color state customization-color theme)})

(def info
Expand Down
8 changes: 4 additions & 4 deletions src/quo/components/list_items/network_list/view.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
[:fiat-value :string]
[:token-value :string]
[:customization-color {:optional true} [:maybe :schema.common/customization-color]]
[:state {:optional true} [:enum :pressed :active :default]]
[:state {:optional true} [:enum :pressed :active :disabled :default]]
[:on-press {:optional true} [:maybe fn?]]]]]
:any])

Expand All @@ -61,9 +61,9 @@
internal-state (if pressed? :pressed state)]
[rn/pressable
{:style (style/container internal-state customization-color theme)
:on-press-in on-press-in
:on-press-out on-press-out
:on-press on-press
:on-press-in (when-not (= state :disabled) on-press-in)
:on-press-out (when-not (= state :disabled) on-press-out)
:on-press (when-not (= state :disabled) on-press)
:accessibility-label :network-list}
[info props]
[values props]]))
Expand Down
35 changes: 23 additions & 12 deletions src/status_im/contexts/wallet/bridge/bridge_to/view.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,38 @@
[status-im.contexts.wallet.bridge.bridge-to.style :as style]
[status-im.contexts.wallet.common.account-switcher.view :as account-switcher]
[status-im.contexts.wallet.common.utils :as utils]
[status-im.contexts.wallet.common.utils.networks :as network-utils]
[utils.i18n :as i18n]
[utils.re-frame :as rf]))

(defn- bridge-token-component
[]
(fn [{:keys [chain-id network-name]} token]
(let [network (rf/sub [:wallet/network-details-by-chain-id chain-id])
currency (rf/sub [:profile/currency])
currency-symbol (rf/sub [:profile/currency-symbol])
balance (utils/calculate-total-token-balance token [chain-id])
crypto-value (utils/get-standard-crypto-format token balance)
fiat-value (utils/calculate-token-fiat-value
{:currency currency
:balance balance
:token token})
fiat-formatted (utils/get-standard-fiat-format crypto-value currency-symbol fiat-value)]
(let [theme (quo.theme/use-theme)
network (rf/sub [:wallet/network-details-by-chain-id chain-id])
currency (rf/sub [:profile/currency])
currency-symbol (rf/sub [:profile/currency-symbol])
networks (rf/sub [:wallet/network-details])
balance (utils/calculate-total-token-balance token [chain-id])
crypto-value (utils/get-standard-crypto-format token balance)
fiat-value (utils/calculate-token-fiat-value
{:currency currency
:balance balance
:token token})
fiat-formatted (utils/get-standard-fiat-format crypto-value
currency-symbol
fiat-value)
token-networks (network-utils/network-list token networks)
token-networks-ids (mapv #(:chain-id %) token-networks)
token-networks-ids-set (set token-networks-ids)
token-available-on-network? (contains? token-networks-ids-set chain-id)]
[quo/network-list
{:label (name network-name)
{:theme theme
:label (name network-name)
:network-image (quo.resources/get-network (:network-name network))
:token-value (str crypto-value " " (:symbol token))
:fiat-value fiat-formatted
:state (if token-available-on-network? :default :disabled)
:on-press #(rf/dispatch [:wallet/select-bridge-network
{:network-chain-id chain-id
:stack-id :screen/wallet.bridge-to}])}])))
Expand All @@ -45,7 +56,7 @@
layer-2-networks (rest network-details)
account-token (some #(when (= token-symbol (:symbol %)) %) tokens)
bridge-to-title (i18n/label :t/bridge-to
{:name (string/upper-case (str (:name token)))})]
{:name (string/upper-case (str token-symbol))})]
[rn/view
[account-switcher/view
{:on-press #(rf/dispatch [:navigate-back])
Expand Down
8 changes: 5 additions & 3 deletions src/status_im/contexts/wallet/send/input_amount/view.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,11 @@
[:wallet/wallet-send-sender-network-values])
receiver-network-values (rf/sub
[:wallet/wallet-send-receiver-network-values])
token-not-supported-in-receiver-networks? (every? #(= (:type %) :not-available)
(filter #(not= (:type %) :add)
receiver-network-values))
tx-type (rf/sub [:wallet/wallet-send-tx-type])
token-not-supported-in-receiver-networks? (and (not= tx-type :tx/bridge)
(every? #(= (:type %) :not-available)
(filter #(not= (:type %) :add)
receiver-network-values)))
suggested-routes (rf/sub [:wallet/wallet-send-suggested-routes])
routes (when suggested-routes
(or (:best suggested-routes) []))
Expand Down
5 changes: 5 additions & 0 deletions src/status_im/subs/wallet/wallet.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,11 @@
:<- [:wallet/wallet-send]
:-> :network-links)

(rf/reg-sub
:wallet/wallet-send-tx-type
:<- [:wallet/wallet-send]
:-> :tx-type)

(rf/reg-sub
:wallet/keypairs
:<- [:wallet]
Expand Down

0 comments on commit d94af4a

Please sign in to comment.