diff --git a/ui/page/wallet/single_wallet_main_page.go b/ui/page/wallet/single_wallet_main_page.go index 0f8363e25..84a415694 100644 --- a/ui/page/wallet/single_wallet_main_page.go +++ b/ui/page/wallet/single_wallet_main_page.go @@ -316,6 +316,12 @@ func (swmp *SingleWalletMasterPage) OnCurrencyChanged() { swmp.updateExchangeSetting() } +func (swmp *SingleWalletMasterPage) changeTab(tab string) { + selectedTab[swmp.selectedWallet.GetWalletID()] = tab + swmp.PageNavigationTab.SetSelectedSegment(tab) + swmp.navigateToSelectedTab() +} + // HandleUserInteractions is called just before Layout() to determine // if any user interaction recently occurred on the page and may be // used to update the page's UI components shortly before they are @@ -410,7 +416,7 @@ func (swmp *SingleWalletMasterPage) navigateToSelectedTab() { case values.String(values.StrAccounts): pg = accounts.NewAccountPage(swmp.Load, swmp.selectedWallet) case values.String(values.StrSettings): - pg = NewSettingsPage(swmp.Load, swmp.selectedWallet, swmp.showNavigationFunc) + pg = NewSettingsPage(swmp.Load, swmp.selectedWallet, swmp.showNavigationFunc, swmp.changeTab) } swmp.activeTab[swmp.PageNavigationTab.SelectedSegment()] = pg.ID() diff --git a/ui/page/wallet/wallet_settings_page.go b/ui/page/wallet/wallet_settings_page.go index 9a69b3816..ce3e84bfd 100644 --- a/ui/page/wallet/wallet_settings_page.go +++ b/ui/page/wallet/wallet_settings_page.go @@ -20,6 +20,7 @@ import ( "github.com/crypto-power/cryptopower/ui/load" "github.com/crypto-power/cryptopower/ui/modal" "github.com/crypto-power/cryptopower/ui/page/components" + "github.com/crypto-power/cryptopower/ui/page/info" "github.com/crypto-power/cryptopower/ui/page/security" "github.com/crypto-power/cryptopower/ui/page/seedbackup" s "github.com/crypto-power/cryptopower/ui/page/settings" @@ -67,11 +68,12 @@ type SettingsPage struct { connectToPeer *cryptomaterial.Switch walletCallbackFunc func() + changeTab func(string) peerAddr string } -func NewSettingsPage(l *load.Load, wallet sharedW.Asset, walletCallbackFunc func()) *SettingsPage { +func NewSettingsPage(l *load.Load, wallet sharedW.Asset, walletCallbackFunc func(), changeTab func(string)) *SettingsPage { pg := &SettingsPage{ Load: l, GenericPageModal: app.NewGenericPageModal(WalletSettingsPageID), @@ -99,6 +101,7 @@ func NewSettingsPage(l *load.Load, wallet sharedW.Asset, walletCallbackFunc func List: layout.List{Axis: layout.Vertical}, }, walletCallbackFunc: walletCallbackFunc, + changeTab: changeTab, } _, pg.infoButton = components.SubpageHeaderButtons(l) @@ -683,6 +686,7 @@ func (pg *SettingsPage) HandleUserInteractions(gtx C) { } im.Dismiss() + pg.changeTab(info.InfoID) return true })