From f3f85f99118e4d02c9caa2d431c9570e07445748 Mon Sep 17 00:00:00 2001 From: Volodymyr Kozieiev Date: Fri, 1 Sep 2023 16:20:15 +0100 Subject: [PATCH] Wallet activity component (#17141) * Wallet activity component * Component description added * removed unnecessary piece * lint fix * Review notes * fix issue with blur preview * lint fix --- resources/images/icons2/12x12/diamond@2x.png | Bin 676 -> 731 bytes resources/images/icons2/12x12/diamond@3x.png | Bin 964 -> 1024 bytes .../wallet_activity/component_spec.cljs | 15 ++ .../wallet/wallet_activity/style.cljs | 86 +++++++ .../wallet/wallet_activity/view.cljs | 165 +++++++++++++ src/quo2/core.cljs | 2 + src/quo2/core_spec.cljs | 3 +- src/status_im/ui/screens/signing/views.cljs | 6 +- .../ui/screens/wallet/send/views.cljs | 8 +- .../ui/screens/wallet/transactions/views.cljs | 9 +- src/status_im2/contexts/quo_preview/main.cljs | 3 + .../quo_preview/wallet/wallet_activity.cljs | 218 ++++++++++++++++++ src/status_im2/subs/wallet/transactions.cljs | 14 +- translations/en.json | 13 +- 14 files changed, 519 insertions(+), 23 deletions(-) create mode 100644 src/quo2/components/wallet/wallet_activity/component_spec.cljs create mode 100644 src/quo2/components/wallet/wallet_activity/style.cljs create mode 100644 src/quo2/components/wallet/wallet_activity/view.cljs create mode 100644 src/status_im2/contexts/quo_preview/wallet/wallet_activity.cljs diff --git a/resources/images/icons2/12x12/diamond@2x.png b/resources/images/icons2/12x12/diamond@2x.png index 27617f8a99abd0b33af7487445b619ae62ad6a6e..a78fbe23fc9aae902fd93a9c91229e8679324e19 100644 GIT binary patch delta 657 zcmV;C0&e}J1=|IXR)26wL_t(|0j*X$ZxcZfp4mGa#}3G8h(wyBBN0XD=r9l@oW|w{ z1ngfBr-RCN1*IEku|QDUO+o=8baYOY&~Z&7C5Pg>n+=l1*N zu`@P;53E!(8IQ*{ktjt#79d!>k4P<$Vh;goJ^Ee$@oB;K;(tKh=B>v~%fKsd2`L5P zP?fS<)(MH}joWEw(=Z~93y?E%LPQ(OX{Ru4n22Cy{j8`SCHOCh(*E{bc}9Remq-=3 z1Q6lY!A`s~5^!_QX(3F)<)Ec%a))bTx+)kcd6D0^j-D*-GhU=KCHa!5=Y3@FRe^qL z$rll-FJrK@h<_de1ds9^FA;E@?t(Bdk_8VuSu;J!8CMes8yVBn9*;*0rUa2eAg%YA zhyBB^Kb%ADb8o`Fk%_?5tm&@z^`15gB)lhtpjGhk{^*#XuE>v0XkxwjcAwbfaDUg--XwM+yJn8Qzm@&wU!C=J`SPV+nEU3kvkCST!7+e#?KP5zb24Sd)c8QGqFfD-slR}hHsmmgQ8j6D- rB?4Rhjj@&Oo8!z^>|Jbmar_0%y*kuc{POPr015yANkvXXu0mjfayB~j delta 601 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 counter 1) + [rn/view (style/transaction-counter-container theme blur?) + [text/text + {:weight :medium + :size :label + :style (style/transaction-counter theme)} + (i18n/label :t/x-counter {:counter counter})]]) + [rn/view + [text/text + {:weight :regular + :size :label + :style (style/timestamp theme blur?)} + timestamp]]]) + +(defn transaction-icon-view + [{:keys [theme blur? transaction status] + :or {transaction :receive + status :pending}}] + [rn/view {:style style/icon-container} + [hole-view/hole-view + {:style (style/icon-hole-view theme blur?) + :holes [{:x 20 + :y 20 + :right 0 + :width 12 + :height 12 + :borderRadius 6}]} + [icon/icon (transaction-icon transaction) + {:color (style/icon-color theme)}]] + [rn/view {:style style/icon-status-container} + [icon/icon (status-icon status) + {:size 12 + :no-color :true}]]]) + +(defn prop-text + [label theme] + [text/text + {:weight :regular + :size :paragraph-2 + :style (style/prop-text theme)} + [i18n/label label]]) + +(defn prop-tag + [props blur?] + [rn/view {:style {:margin-right 4}} + [context-tag/view (merge props {:size 24 :blur? blur?})]]) + +(defn- view-internal + [_] + (let [pressed? (reagent/atom false)] + (fn + [{:keys [state theme blur? + on-press + first-tag second-tag third-tag fourth-tag + second-tag-prefix third-tag-prefix fourth-tag-prefix] + :as props}] + [rn/pressable + {:style (style/wallet-activity-container {:pressed? @pressed? + :theme theme + :blur? blur?}) + :accessibility-label :wallet-activity + :disabled (= state :disabled) + :on-press on-press + :on-press-in (fn [] (reset! pressed? true)) + :on-press-out (fn [] (reset! pressed? false))} + [rn/view + {:style {:flex-direction :row}} + [transaction-icon-view props] + [rn/view + {:style style/content-container} + [transaction-header props] + [rn/view {:style style/content-line} + (when first-tag [prop-tag first-tag blur?]) + (when second-tag-prefix [prop-text second-tag-prefix theme]) + (when second-tag [prop-tag second-tag blur?])] + [rn/view {:style style/content-line} + (when third-tag-prefix [prop-text third-tag-prefix theme]) + (when third-tag [prop-tag third-tag blur?]) + (when fourth-tag-prefix [prop-text fourth-tag-prefix theme]) + (when fourth-tag [prop-tag fourth-tag blur?])]]]]))) + +(def view + "Properties: + - :transaction - type of transaction`. Possible values: + - :receive + - :send + - :swap + - :bridge + - :buy + - :destroy + - :mint + + - :status - transaction status. Possible values: + - :pending + - :confirmed + - :finalised + - :failed + + - :counter - amount of transactions shown by instance of the component + + - :timestamp - when transaction occured (string) + - :blur? + + - :first-tag - props for context tag component that will be first on the first line + - :second-tag - props for context tag component that will be second on the first line + - :third-tag - props for context tag component that will be first on the second line + - :fourth-tag - props for context tag component that will be second on the second line + + - :second-tag-prefix - translation keyword to be used with label before second context tag + - :third-tag-prefix - translation keyword to be used with label before third context tag + - :fourth-tag-prefix - translation keyword to be used with label before fourth context tag + + " + (quo.theme/with-theme view-internal)) diff --git a/src/quo2/core.cljs b/src/quo2/core.cljs index 5615d33f96..f6996215e9 100644 --- a/src/quo2/core.cljs +++ b/src/quo2/core.cljs @@ -125,6 +125,7 @@ quo2.components.wallet.progress-bar.view quo2.components.wallet.summary-info.view quo2.components.wallet.token-input.view + quo2.components.wallet.wallet-activity.view quo2.components.wallet.wallet-overview.view [quo2.components.graph.interactive-graph.view :as interactive-graph])) @@ -339,3 +340,4 @@ (def network-link quo2.components.wallet.network-link.view/view) (def token-input quo2.components.wallet.token-input.view/view) (def wallet-overview quo2.components.wallet.wallet-overview.view/view) +(def wallet-activity quo2.components.wallet.wallet-activity.view/view) diff --git a/src/quo2/core_spec.cljs b/src/quo2/core_spec.cljs index cc3f0b4ec6..899dfcfaeb 100644 --- a/src/quo2/core_spec.cljs +++ b/src/quo2/core_spec.cljs @@ -69,4 +69,5 @@ [quo2.components.wallet.progress-bar.component-spec] [quo2.components.wallet.summary-info.component-spec] [quo2.components.wallet.token-input.component-spec] - [quo2.components.wallet.wallet-overview.component-spec])) + [quo2.components.wallet.wallet-overview.component-spec] + [quo2.components.wallet.wallet-activity.component-spec])) diff --git a/src/status_im/ui/screens/signing/views.cljs b/src/status_im/ui/screens/signing/views.cljs index 47ead29c21..c61be68678 100644 --- a/src/status_im/ui/screens/signing/views.cljs +++ b/src/status_im/ui/screens/signing/views.cljs @@ -101,7 +101,7 @@ [react/nested-text {:style {:color colors/gray} :ellipsize-mode :middle - :number-of-lines 1} (i18n/label :t/to) " " + :number-of-lines 1} (i18n/label :t/to-capitalized) " " [{:style {:color colors/black}} (displayed-name contact)]] [react/text {:style {:margin-top 6 :color colors/gray}} (str fee " " fee-display-symbol " " (string/lower-case (i18n/label :t/network-fee)))])] @@ -497,9 +497,9 @@ [react/view [network-item] [separator]]) - [contact-item (i18n/label :t/from) from] + [contact-item (i18n/label :t/from-capitalized) from] [separator] - [contact-item (i18n/label :t/to) contact] + [contact-item (i18n/label :t/to-capitalized) contact] (when-not cancel? [separator]) (when-not cancel? diff --git a/src/status_im/ui/screens/wallet/send/views.cljs b/src/status_im/ui/screens/wallet/send/views.cljs index 23587d67db..2f65f67bd1 100644 --- a/src/status_im/ui/screens/wallet/send/views.cljs +++ b/src/status_im/ui/screens/wallet/send/views.cljs @@ -138,7 +138,7 @@ :align-items :center :margin-vertical 16}] [quo/list-header - (i18n/label :t/from)] + (i18n/label :t/from-capitalized)] [react/view {:flex-direction :row :flex 1 :align-items :center} [react/view {:flex 1} [render-account from nil ::commands/set-selected-account]]] @@ -204,7 +204,7 @@ [fiat-value amount-text token prices wallet-currency] [components/separator] [quo/list-header - (i18n/label :t/to)] + (i18n/label :t/to-capitalized)] [react/view {:flex-direction :row :flex 1 :align-items :center} [react/view {:flex 1} [render-account from token :wallet.request/set-field]]]]] @@ -278,12 +278,12 @@ (when-not (or request? from-chat?) [set-max token]) [components/separator] - [quo/list-header (i18n/label :t/from)] + [quo/list-header (i18n/label :t/from-capitalized)] [react/view {:flex-direction :row :flex 1 :align-items :center} [react/view {:flex 1} [render-account from token :wallet.send/set-field]]] [quo/list-header - (i18n/label :t/to)] + (i18n/label :t/to-capitalized)] [react/view {:flex-direction :row :flex 1 :align-items :center} [react/view {:flex 1} [render-contact to from-chat?]]]]] diff --git a/src/status_im/ui/screens/wallet/transactions/views.cljs b/src/status_im/ui/screens/wallet/transactions/views.cljs index cedfdd110c..430a50dfab 100644 --- a/src/status_im/ui/screens/wallet/transactions/views.cljs +++ b/src/status_im/ui/screens/wallet/transactions/views.cljs @@ -241,18 +241,17 @@ to to-wallet to-contact gas-limit gas-price-gwei gas-price-eth gas-used fee-cap-gwei tip-cap-gwei - cost nonce data] - :as tx}] + cost nonce data]}] [react/view {:style styles/details-block} [details-list-row :t/block block] - [details-list-row :t/hash (:hash tx)] - [details-list-row :t/from + [details-list-row :t/hash hash] + [details-list-row :t/from-capitalized [{:accessibility-label (if from-wallet :sender-name-text :sender-address-text)} (or from-wallet from-contact from)] (when (or from-wallet from-contact) [{:accessibility-label :sender-address-text} from])] - [details-list-row :t/to + [details-list-row :t/to-capitalized [{:accessibility-label (if to-wallet :recipient-name-text :recipient-address-text)} (or to-wallet to-contact to)] (when (or to-wallet to-contact) diff --git a/src/status_im2/contexts/quo_preview/main.cljs b/src/status_im2/contexts/quo_preview/main.cljs index acf3704450..fc8950bc14 100644 --- a/src/status_im2/contexts/quo_preview/main.cljs +++ b/src/status_im2/contexts/quo_preview/main.cljs @@ -125,6 +125,7 @@ [status-im2.contexts.quo-preview.wallet.progress-bar :as progress-bar] [status-im2.contexts.quo-preview.wallet.summary-info :as summary-info] [status-im2.contexts.quo-preview.wallet.token-input :as token-input] + [status-im2.contexts.quo-preview.wallet.wallet-activity :as wallet-activity] [status-im2.contexts.quo-preview.wallet.wallet-overview :as wallet-overview] [utils.re-frame :as rf])) @@ -377,6 +378,8 @@ :component summary-info/preview} {:name :token-input :component token-input/preview} + {:name :wallet-activity + :component wallet-activity/view} {:name :wallet-overview :component wallet-overview/preview-wallet-overview}] :keycard [{:name :keycard-component diff --git a/src/status_im2/contexts/quo_preview/wallet/wallet_activity.cljs b/src/status_im2/contexts/quo_preview/wallet/wallet_activity.cljs new file mode 100644 index 0000000000..8cd4fda82d --- /dev/null +++ b/src/status_im2/contexts/quo_preview/wallet/wallet_activity.cljs @@ -0,0 +1,218 @@ +(ns status-im2.contexts.quo-preview.wallet.wallet-activity + (:require [quo2.core :as quo] + [react-native.core :as rn] + [reagent.core :as reagent] + [status-im2.common.resources :as resources] + [status-im2.contexts.quo-preview.preview :as preview] + [quo2.foundations.resources :as quo.resources])) + +(def asset-snt + {:size 24 + :type :token + :token-name "SNT" + :amount 1500 + :token-logo (quo.resources/get-token :snt)}) + +(def asset-dai + {:size 24 + :type :token + :token-name "DAI" + :amount 2400 + :token-logo (quo.resources/get-token :dai)}) + +(def asset-collectible + {:size 24 + :type :collectible + :collectible (resources/mock-images :collectible) + :collectible-name "Collectible" + :collectible-number "123"}) + +(def trip-to-vegas + {:size 24 + :type :account + :account-name "Trip to Vegas" + :emoji "🤑"}) + +(def piggy-bank + {:size 24 + :type :account + :account-name "Piggy bank" + :emoji "🐷"}) + +(def aretha-gosling + {:size 24 + :type :default + :full-name "Aretha Gosling" + :profile-picture (resources/mock-images :user-picture-female2)}) + +(def james-bond + {:size 24 + :type :default + :full-name "James Bond" + :profile-picture (resources/mock-images :user-picture-male4)}) + +(def mainnet + {:size 24 + :type :network + :network-logo (quo.resources/get-network :ethereum) + :network-name "Mainnet"}) + +(def optimism + {:size 24 + :type :network + :network-logo (quo.resources/get-network :optimism) + :network-name "Optimism"}) + +(def arbitrum + {:size 24 + :type :network + :network-logo (quo.resources/get-network :arbitrum) + :network-name "Arbitrum"}) + +(def multinetwork + {:size 24 + :type :multinetwork + :networks [(quo.resources/get-network :ethereum) + (quo.resources/get-network :arbitrum) + (quo.resources/get-network :optimism)]}) + +(def moonpay + {:size 24 + :type :network + :network-logo (quo.resources/get-network :ethereum) + :network-name "Moonpay"}) + +(def binance + {:size 24 + :type :network + :network-logo (quo.resources/get-network :ethereum) + :network-name "Binance"}) + +(def context-tags + [{:key asset-snt + :value "SNT"} + {:key asset-dai + :value "UNK"} + {:key asset-collectible + :value "Collectible"} + {:key trip-to-vegas + :value "Account: Trip to Vegas"} + {:key piggy-bank + :value "Account: Piggy bank"} + {:key aretha-gosling + :value "Person: Aretha Gosling"} + {:key james-bond + :value "Person: James Bond"} + {:key mainnet + :value "Network: Mainnet"} + {:key optimism + :value "Network: Optimism"} + {:key arbitrum + :value "Network: Arbitrum"} + {:key multinetwork + :value "Network: Multinetwork"} + {:key moonpay + :value "Market: Moonpay"} + {:key binance + :value "Market: Binance"}]) + +(def prefixes + [{:key :t/to + :value "To"} + {:key :t/in + :value "In"} + {:key :t/via + :value "Via"} + {:key :t/from + :value "From"} + {:key :t/on + :value "On"} + {:key :t/at + :value "At"}]) + +(def descriptor + + (concat + [{:key :blur? + :type :select + :options [{:key true} + {:key false}]} + {:key :transaction + :type :select + :options [{:key :receive} + {:key :send} + {:key :swap} + {:key :bridge} + {:key :buy} + {:key :destroy} + {:key :mint}]} + {:key :status + :type :select + :options [{:key :pending} + {:key :confirmed} + {:key :finalised} + {:key :failed}]} + {:key :timestamp + :type :text} + {:key :counter + :type :select + :options [{:key 1 + :value 1} + {:key 2 + :value 2} + {:key 3 + :value 3}]} + + {:label "Slot 1" + :key :first-tag + :type :select + :options context-tags} + {:label "Slot 2 prefix" + :key :second-tag-prefix + :type :select + :options prefixes} + {:label "Slot 2" + :key :second-tag + :type :select + :options context-tags} + {:label "Slot 3 prefix" + :key :third-tag-prefix + :type :select + :options prefixes} + {:label "Slot 3" + :key :third-tag + :type :select + :options context-tags} + {:label "Slot 4 prefix" + :key :fourth-tag-prefix + :type :select + :options prefixes} + {:label "Slot 4" + :key :fourth-tag + :type :select + :options context-tags}])) + +(defn view + [] + (let [component-state (reagent/atom {:transaction :send + :timestamp "Today 22:20" + :status :pending + :counter 1 + :first-tag asset-snt + :second-tag-prefix :t/from + :second-tag piggy-bank + :third-tag-prefix :t/to + :third-tag aretha-gosling + :fourth-tag-prefix :t/via + :fourth-tag mainnet + :blur? false})] + (fn [] + [preview/preview-container + {:state component-state + :descriptor descriptor + :blur? (:blur? @component-state) + :show-blur-background? true} + [rn/view {:style {:align-self :center}} + [quo/wallet-activity + (merge {:on-press #(js/alert "Dropdown pressed")} + @component-state)]]]))) diff --git a/src/status_im2/subs/wallet/transactions.cljs b/src/status_im2/subs/wallet/transactions.cljs index 9fba0449c6..e672772b7b 100644 --- a/src/status_im2/subs/wallet/transactions.cljs +++ b/src/status_im2/subs/wallet/transactions.cljs @@ -70,11 +70,11 @@ (assoc acc tx-hash (enrich-transaction transaction contacts native-currency))) ;;TODO this doesn't - ;;look good for - ;;performance, we - ;;need to calculate - ;;this only once for - ;;each transaction + ;;look good for + ;;performance, we + ;;need to calculate + ;;this only once for + ;;each transaction {} transactions))) @@ -125,13 +125,13 @@ (case type :inbound (assoc transaction - :label (i18n/label :t/from) + :label (i18n/label :t/from-capitalized) :contact-accessibility-label :sender-text :address-accessibility-label :sender-address-text :contact from-contact :address from) (assoc transaction - :label (i18n/label :t/to) + :label (i18n/label :t/to-capitalized) :contact-accessibility-label :recipient-name-text :address-accessibility-label :recipient-address-text :contact to-contact diff --git a/translations/en.json b/translations/en.json index fe59cdae76..c6460bf173 100644 --- a/translations/en.json +++ b/translations/en.json @@ -625,7 +625,8 @@ "follow-your-interests": "Jump into a public chat and meet new people", "follow": "Follow", "free": "↓ Free", - "from": "From", + "from-capitalized": "From", + "from": "from", "gas-limit": "Gas limit", "gas-price": "Gas price", "gas-used": "Gas used", @@ -687,6 +688,7 @@ "profile-pic-take": "Take photo", "profile-pic-pick": "Select from gallery", "profile-pic-remove": "Remove photo", + "in": "in", "in-contacts": "In contacts", "incoming": "Incoming", "incoming-transaction": "Incoming transaction", @@ -1330,7 +1332,8 @@ "this-will-take-few-seconds": "This will take a few seconds", "three-words-description": "You should see these 3 words before signing each transaction", "three-words-description-2": "If you see a different combination, cancel the transaction and sign out", - "to": "To", + "to": "to", + "to-capitalized": "To", "to-block": "Block", "to-encrypt-enter-password": "To encrypt the account please enter your password", "to-see-this-message": "To see this message,", @@ -2294,5 +2297,9 @@ "add-address-description": "Watch a public address or ENS name", "colour": "Colour", "origin": "Origin", - "slide-create": "Slide to create account" + "slide-create": "Slide to create account", + "destroy": "Destroy", + "mint": "Mint", + "via": "via", + "x-counter": "x{{counter}}" }