mirror of
https://github.com/status-im/status-mobile.git
synced 2025-03-01 08:40:50 +00:00
parent
a4dc268bc3
commit
5eb0baa64d
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
(defn container
|
(defn container
|
||||||
[network state theme]
|
[network state theme]
|
||||||
{:width 136
|
{:flex 1
|
||||||
:height 44
|
:height 44
|
||||||
:border-width 1
|
:border-width 1
|
||||||
:border-radius 12
|
:border-radius 12
|
||||||
|
@ -16,12 +16,12 @@
|
|||||||
[icon/icon :i/add-circle {:size 12 :no-color true}]])
|
[icon/icon :i/add-circle {:size 12 :no-color true}]])
|
||||||
|
|
||||||
(defn view-internal
|
(defn view-internal
|
||||||
[{:keys [theme network status amount] :as args}]
|
[{:keys [theme network status amount container-style] :as args}]
|
||||||
(let [network-text (if (= network :ethereum) "Mainnet" (string/capitalize (name network)))]
|
(let [network-text (if (= network :ethereum) "Mainnet" (string/capitalize (name network)))]
|
||||||
(if (= status :add)
|
(if (= status :add)
|
||||||
[network-bridge-add args]
|
[network-bridge-add args]
|
||||||
[rn/view
|
[rn/view
|
||||||
{:style (style/container network status theme)
|
{:style (merge (style/container network status theme) container-style)
|
||||||
:accessible true
|
:accessible true
|
||||||
:accessibility-label :container}
|
:accessibility-label :container}
|
||||||
(if (= status :loading)
|
(if (= status :loading)
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
(:require
|
(:require
|
||||||
[quo.foundations.colors :as colors]
|
[quo.foundations.colors :as colors]
|
||||||
[quo.theme :as quo.theme]
|
[quo.theme :as quo.theme]
|
||||||
|
[react-native.core :as rn]
|
||||||
[react-native.svg :as svg]))
|
[react-native.svg :as svg]))
|
||||||
|
|
||||||
(defn link-linear
|
(defn link-linear
|
||||||
@ -76,10 +77,11 @@
|
|||||||
[svg/stop {:offset "1" :stop-color (colors/resolve-color source theme)}]]]])
|
[svg/stop {:offset "1" :stop-color (colors/resolve-color source theme)}]]]])
|
||||||
|
|
||||||
(defn- view-internal
|
(defn- view-internal
|
||||||
[{:keys [shape] :as props}]
|
[{:keys [shape container-style] :as props}]
|
||||||
(case shape
|
[rn/view {:style container-style}
|
||||||
:linear [link-linear props]
|
(case shape
|
||||||
:1x [link-1x props]
|
:linear [link-linear props]
|
||||||
:2x [link-2x props]))
|
:1x [link-1x props]
|
||||||
|
:2x [link-2x props])])
|
||||||
|
|
||||||
(def view (quo.theme/with-theme view-internal))
|
(def view (quo.theme/with-theme view-internal))
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
(str $ address))
|
(str $ address))
|
||||||
address))
|
address))
|
||||||
|
|
||||||
(def id-to-network
|
(def id->network
|
||||||
{constants/mainnet-chain-id :ethereum
|
{constants/mainnet-chain-id :ethereum
|
||||||
constants/optimism-chain-id :optimism
|
constants/optimism-chain-id :optimism
|
||||||
constants/arbitrum-chain-id :arbitrum})
|
constants/arbitrum-chain-id :arbitrum})
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
:selected-networks (set @selected-networks)
|
:selected-networks (set @selected-networks)
|
||||||
:on-save (fn [chain-ids]
|
:on-save (fn [chain-ids]
|
||||||
(rf/dispatch [:hide-bottom-sheet])
|
(rf/dispatch [:hide-bottom-sheet])
|
||||||
(reset! selected-networks (map #(get utils/id-to-network %)
|
(reset! selected-networks (map #(get utils/id->network %)
|
||||||
chain-ids)))}])}]))
|
chain-ids)))}])}]))
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,9 @@
|
|||||||
[react-native.safe-area :as safe-area]
|
[react-native.safe-area :as safe-area]
|
||||||
[reagent.core :as reagent]
|
[reagent.core :as reagent]
|
||||||
[status-im.contexts.wallet.common.account-switcher.view :as account-switcher]
|
[status-im.contexts.wallet.common.account-switcher.view :as account-switcher]
|
||||||
|
[status-im.contexts.wallet.common.utils :as utils]
|
||||||
[status-im.contexts.wallet.send.input-amount.style :as style]
|
[status-im.contexts.wallet.send.input-amount.style :as style]
|
||||||
|
[status-im.contexts.wallet.send.routes.view :as routes]
|
||||||
[utils.debounce :as debounce]
|
[utils.debounce :as debounce]
|
||||||
[utils.i18n :as i18n]
|
[utils.i18n :as i18n]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
@ -103,7 +105,10 @@
|
|||||||
(nil? route)
|
(nil? route)
|
||||||
(empty? @input-value)
|
(empty? @input-value)
|
||||||
(<= input-num-value 0)
|
(<= input-num-value 0)
|
||||||
(> input-num-value (:amount @current-limit)))]
|
(> input-num-value (:amount @current-limit)))
|
||||||
|
from-network (utils/id->network (get-in route [:From :chainId]))
|
||||||
|
to-network (utils/id->network (get-in route [:To :chainId]))
|
||||||
|
amount (str @input-value " " token-symbol)]
|
||||||
(rn/use-effect
|
(rn/use-effect
|
||||||
(fn []
|
(fn []
|
||||||
(let [dismiss-keyboard-fn #(when (= % "active") (rn/dismiss-keyboard!))
|
(let [dismiss-keyboard-fn #(when (= % "active") (rn/dismiss-keyboard!))
|
||||||
@ -144,7 +149,10 @@
|
|||||||
(cond loading-suggested-routes?
|
(cond loading-suggested-routes?
|
||||||
[quo/text "Loading routes"]
|
[quo/text "Loading routes"]
|
||||||
(and (not loading-suggested-routes?) route)
|
(and (not loading-suggested-routes?) route)
|
||||||
[quo/text "Route found"]
|
[routes/view
|
||||||
|
{:amount amount
|
||||||
|
:from-network from-network
|
||||||
|
:to-network to-network}]
|
||||||
(and (not loading-suggested-routes?) (nil? route))
|
(and (not loading-suggested-routes?) (nil? route))
|
||||||
[quo/text "Route not found"])]
|
[quo/text "Route not found"])]
|
||||||
[quo/bottom-actions
|
[quo/bottom-actions
|
||||||
|
26
src/status_im/contexts/wallet/send/routes/style.cljs
Normal file
26
src/status_im/contexts/wallet/send/routes/style.cljs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
(ns status-im.contexts.wallet.send.routes.style)
|
||||||
|
|
||||||
|
(def routes-container
|
||||||
|
{:padding-horizontal 20
|
||||||
|
:padding-vertical 16
|
||||||
|
:width "100%"
|
||||||
|
:height "100%"})
|
||||||
|
|
||||||
|
(def routes-header-container
|
||||||
|
{:flex-direction :row
|
||||||
|
:justify-content :space-between})
|
||||||
|
|
||||||
|
(def routes-inner-container
|
||||||
|
{:margin-top 8
|
||||||
|
:flex-direction :row
|
||||||
|
:align-items :center
|
||||||
|
:justify-content :space-between})
|
||||||
|
|
||||||
|
(defn section-label
|
||||||
|
[margin-left]
|
||||||
|
{:flex 0.5
|
||||||
|
:margin-left margin-left})
|
||||||
|
|
||||||
|
(def network-link
|
||||||
|
{:right 6
|
||||||
|
:z-index 1})
|
32
src/status_im/contexts/wallet/send/routes/view.cljs
Normal file
32
src/status_im/contexts/wallet/send/routes/view.cljs
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
(ns status-im.contexts.wallet.send.routes.view
|
||||||
|
(:require
|
||||||
|
[quo.core :as quo]
|
||||||
|
[react-native.core :as rn]
|
||||||
|
[status-im.contexts.wallet.send.routes.style :as style]
|
||||||
|
[utils.i18n :as i18n]))
|
||||||
|
|
||||||
|
(defn view
|
||||||
|
[{:keys [amount from-network to-network]}]
|
||||||
|
[rn/view {:style style/routes-container}
|
||||||
|
[rn/view {:style style/routes-header-container}
|
||||||
|
[quo/section-label
|
||||||
|
{:section (i18n/label :t/from-label)
|
||||||
|
:container-style (style/section-label 0)}]
|
||||||
|
[quo/section-label
|
||||||
|
{:section (i18n/label :t/to-label)
|
||||||
|
:container-style (style/section-label 64)}]]
|
||||||
|
[rn/view {:style style/routes-inner-container}
|
||||||
|
[quo/network-bridge
|
||||||
|
{:amount amount
|
||||||
|
:network from-network
|
||||||
|
:status :default}]
|
||||||
|
[quo/network-link
|
||||||
|
{:shape :linear
|
||||||
|
:source from-network
|
||||||
|
:destination to-network
|
||||||
|
:container-style style/network-link}]
|
||||||
|
[quo/network-bridge
|
||||||
|
{:amount amount
|
||||||
|
:network to-network
|
||||||
|
:status :default
|
||||||
|
:container-style {:right 12}}]]])
|
@ -4,7 +4,7 @@
|
|||||||
[status-im.contexts.chat.messages.content.audio.component-spec]
|
[status-im.contexts.chat.messages.content.audio.component-spec]
|
||||||
[status-im.contexts.communities.actions.community-options.component-spec]
|
[status-im.contexts.communities.actions.community-options.component-spec]
|
||||||
[status-im.contexts.wallet.add-address-to-watch.component-spec]
|
[status-im.contexts.wallet.add-address-to-watch.component-spec]
|
||||||
[status-im.contexts.wallet.add-address-to-watch.confirm-address.component-spec]
|
[status-im.contexts.wallet.add-address-to-watch.confirm-address.component-spec]))
|
||||||
[status-im.contexts.wallet.send.input-amount.component-spec]))
|
|
||||||
|
|
||||||
;; [status-im.contexts.wallet.create-account.edit-derivation-path.component-spec]
|
;; [status-im.contexts.wallet.create-account.edit-derivation-path.component-spec]
|
||||||
|
;; [status-im.contexts.wallet.send.input-amount.component-spec]
|
||||||
|
@ -2439,8 +2439,10 @@
|
|||||||
"copy-all-details": "Copy all details",
|
"copy-all-details": "Copy all details",
|
||||||
"share-details": "Share details",
|
"share-details": "Share details",
|
||||||
"what-are-you-waiting-for": "What are you waiting for?",
|
"what-are-you-waiting-for": "What are you waiting for?",
|
||||||
"no-relevant-tokens": "No relevant tokens",
|
|
||||||
"sending-with-elipsis": "Sending...",
|
"sending-with-elipsis": "Sending...",
|
||||||
"transaction-confirmed": "Transaction confirmed!",
|
"transaction-confirmed": "Transaction confirmed!",
|
||||||
"transacation-finalised": "Transaction finalised!"
|
"transacation-finalised": "Transaction finalised!",
|
||||||
|
"no-relevant-tokens": "No relevant tokens",
|
||||||
|
"from-label": "From",
|
||||||
|
"to-label": "To"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user