From f124ca425244ca90d647e1e2c42af9158189bbf2 Mon Sep 17 00:00:00 2001 From: Jamie Caprani Date: Mon, 27 Nov 2023 17:16:31 +0000 Subject: [PATCH] chore(wallet): add common page-nav component for account switcher (#17946) --- .../contexts/wallet/account/bridge/view.cljs | 16 ++++---------- .../contexts/wallet/account/view.cljs | 21 ++++-------------- .../wallet/common/account_switcher/view.cljs | 22 +++++++++++++++++++ .../wallet/send/select_address/view.cljs | 11 ++-------- 4 files changed, 32 insertions(+), 38 deletions(-) create mode 100644 src/status_im2/contexts/wallet/common/account_switcher/view.cljs diff --git a/src/status_im2/contexts/wallet/account/bridge/view.cljs b/src/status_im2/contexts/wallet/account/bridge/view.cljs index 745a0d29f8..bae5a81aad 100644 --- a/src/status_im2/contexts/wallet/account/bridge/view.cljs +++ b/src/status_im2/contexts/wallet/account/bridge/view.cljs @@ -4,7 +4,7 @@ [quo.foundations.resources :as quo.resources] [react-native.core :as rn] [status-im2.contexts.wallet.account.bridge.style :as style] - [status-im2.contexts.wallet.common.sheets.account-options.view :as account-options] + [status-im2.contexts.wallet.common.account-switcher.view :as account-switcher] [status-im2.contexts.wallet.common.temp :as temp] [utils.i18n :as i18n] [utils.re-frame :as rf])) @@ -18,17 +18,9 @@ (let [networks (rf/sub [:wallet/network-details]) networks-logos (map network-logo networks)] [rn/view {:style {:flex 1}} - [quo/page-nav - {:icon-name :i/close - :on-press #(rf/dispatch [:navigate-back]) - :accessibility-label :top-bar - :right-side :account-switcher - :account-switcher {:customization-color :purple - :on-press #(rf/dispatch [:show-bottom-sheet - {:content account-options/view - :gradient-cover? true - :customization-color :purple}]) - :emoji "🍑"}}] + [account-switcher/view + {:on-press #(rf/dispatch [:navigate-back]) + :accessibility-label :top-bar}] [quo/text-combinations {:container-style style/header-container :title (i18n/label :t/bridge)}] diff --git a/src/status_im2/contexts/wallet/account/view.cljs b/src/status_im2/contexts/wallet/account/view.cljs index 458ae5c561..16b41c60b3 100644 --- a/src/status_im2/contexts/wallet/account/view.cljs +++ b/src/status_im2/contexts/wallet/account/view.cljs @@ -5,7 +5,7 @@ [reagent.core :as reagent] [status-im2.contexts.wallet.account.style :as style] [status-im2.contexts.wallet.account.tabs.view :as tabs] - [status-im2.contexts.wallet.common.sheets.account-options.view :as account-options] + [status-im2.contexts.wallet.common.account-switcher.view :as account-switcher] [status-im2.contexts.wallet.common.temp :as temp] [status-im2.contexts.wallet.common.utils :as utils] [utils.i18n :as i18n] @@ -32,23 +32,10 @@ [] (let [selected-tab (reagent/atom (:id (first tabs-data)))] (fn [] - (let [{:keys [name color emoji balance]} (rf/sub [:wallet/current-viewing-account]) - networks (rf/sub [:wallet/network-details])] + (let [{:keys [name color balance]} (rf/sub [:wallet/current-viewing-account]) + ] [rn/view {:style {:flex 1}} - [quo/page-nav - {:type :wallet-networks - :background :blur - :icon-name :i/close - :on-press #(rf/dispatch [:wallet/close-account-page]) - :networks networks - :networks-on-press #(js/alert "Pressed Networks") - :right-side :account-switcher - :account-switcher {:customization-color color - :on-press #(rf/dispatch [:show-bottom-sheet - {:content account-options/view - :gradient-cover? true - :customization-color color}]) - :emoji emoji}}] + [account-switcher/view {:on-press #(rf/dispatch [:wallet/close-account-page])}] [quo/account-overview {:current-value (utils/prettify-balance balance) :account-name name diff --git a/src/status_im2/contexts/wallet/common/account_switcher/view.cljs b/src/status_im2/contexts/wallet/common/account_switcher/view.cljs new file mode 100644 index 0000000000..aebbd0bcf5 --- /dev/null +++ b/src/status_im2/contexts/wallet/common/account_switcher/view.cljs @@ -0,0 +1,22 @@ +(ns status-im2.contexts.wallet.common.account-switcher.view + (:require [quo.core :as quo] + [status-im2.contexts.wallet.common.sheets.account-options.view :as account-options] + [utils.re-frame :as rf])) + +(defn view + [{:keys [on-press accessibility-label] :or {accessibility-label :top-bar}}] + (let [{:keys [color emoji]} (rf/sub [:wallet/current-viewing-account]) + networks (rf/sub [:wallet/network-details])] + [quo/page-nav + {:icon-name :i/close + :on-press on-press + :accessibility-label accessibility-label + :networks networks + :networks-on-press #(js/alert "Pressed Networks") + :right-side :account-switcher + :account-switcher {:customization-color color + :on-press #(rf/dispatch [:show-bottom-sheet + {:content account-options/view + :gradient-cover? true + :customization-color color}]) + :emoji emoji}}])) diff --git a/src/status_im2/contexts/wallet/send/select_address/view.cljs b/src/status_im2/contexts/wallet/send/select_address/view.cljs index cade62a074..20d365c06b 100644 --- a/src/status_im2/contexts/wallet/send/select_address/view.cljs +++ b/src/status_im2/contexts/wallet/send/select_address/view.cljs @@ -7,6 +7,7 @@ [react-native.safe-area :as safe-area] [reagent.core :as reagent] [status-im2.constants :as constants] + [status-im2.contexts.wallet.common.account-switcher.view :as account-switcher] [status-im2.contexts.wallet.item-types :as types] [status-im2.contexts.wallet.send.select-address.style :as style] [utils.debounce :as debounce] @@ -146,15 +147,7 @@ {:content-container-style (style/container margin-top) :keyboard-should-persist-taps :handled :scroll-enabled false} - [quo/page-nav - {:icon-name :i/close - :on-press on-close - :accessibility-label :top-bar - :right-side :account-switcher - :account-switcher {:customization-color :purple - :on-press #(js/alert "Not implemented yet") - :state :default - :emoji "🍑"}}] + [account-switcher/view {:on-press on-close}] [quo/text-combinations {:title (i18n/label :t/send-to) :container-style style/title-container