From 4bcc299fb8d8c0e7ce8adc015c0c292a03db9c0e Mon Sep 17 00:00:00 2001 From: Wukong Sun Date: Fri, 11 Sep 2026 00:53:08 +0800 Subject: [PATCH 1/2] fix: mf-6835 keep external wallet connected after done and show provider icon --- .../popups/components/WalletAvatar/index.tsx | 12 ++++++++++-- .../pages/Personas/ConnectWallet/index.tsx | 3 +-- .../pages/Wallet/components/WalletHeader/UI.tsx | 16 +++++----------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/mask/popups/components/WalletAvatar/index.tsx b/packages/mask/popups/components/WalletAvatar/index.tsx index 8ac033b88fa..6531553a13c 100644 --- a/packages/mask/popups/components/WalletAvatar/index.tsx +++ b/packages/mask/popups/components/WalletAvatar/index.tsx @@ -1,9 +1,10 @@ import { Icons } from '@masknet/icons' import { Image } from '@masknet/shared' -import { PersistentStorages } from '@masknet/shared-base' +import { NetworkPluginID, PersistentStorages } from '@masknet/shared-base' import { makeStyles } from '@masknet/theme' import { isSameAddress } from '@masknet/web3-shared-base' -import { useFireflyEmbeddedWallets } from '@masknet/web3-hooks-base' +import { useChainContext, useFireflyEmbeddedWallets } from '@masknet/web3-hooks-base' +import { getRegisteredWeb3Providers } from '@masknet/web3-providers' import { memo, useMemo, type HTMLProps } from 'react' import { useSubscription } from 'use-subscription' @@ -28,6 +29,7 @@ interface Props extends HTMLProps { export const WalletAvatar = memo(function WalletAvatar({ size = 30, address, badgeSize = 12, ...rest }) { const { classes, cx } = useStyles() const { wallets: fireflyWallets } = useFireflyEmbeddedWallets() + const { providerType } = useChainContext() const isFireflyWallet = useMemo( () => fireflyWallets.some((w) => isSameAddress(w.address, address)), @@ -35,6 +37,11 @@ export const WalletAvatar = memo(function WalletAvatar({ size = 30, addre ) const fireflyAccount = useSubscription(PersistentStorages.Settings.storage.firefly_account.subscription) + const providerIcon = useMemo( + () => getRegisteredWeb3Providers(NetworkPluginID.PLUGIN_EVM).find((x) => x.type === providerType)?.icon, + [providerType], + ) + if (isFireflyWallet && fireflyAccount) return (
@@ -42,5 +49,6 @@ export const WalletAvatar = memo(function WalletAvatar({ size = 30, addre
) + if (providerIcon) return return }) diff --git a/packages/mask/popups/pages/Personas/ConnectWallet/index.tsx b/packages/mask/popups/pages/Personas/ConnectWallet/index.tsx index 387dc5b9ece..b6c7ce27f12 100644 --- a/packages/mask/popups/pages/Personas/ConnectWallet/index.tsx +++ b/packages/mask/popups/pages/Personas/ConnectWallet/index.tsx @@ -3,7 +3,7 @@ import { FormattedAddress, PopupHomeTabType } from '@masknet/shared' import { PopupModalRoutes, PopupRoutes, type NetworkPluginID } from '@masknet/shared-base' import { ActionButton, makeStyles } from '@masknet/theme' import { useChainContext, useNetworkContext, useReverseAddress } from '@masknet/web3-hooks-base' -import { EVMExplorerResolver, EVMProviderResolver, EVMWeb3 } from '@masknet/web3-providers' +import { EVMExplorerResolver, EVMProviderResolver } from '@masknet/web3-providers' import { formatDomainName, formatEthereumAddress, ProviderType } from '@masknet/web3-shared-evm' import { Box, Button, Link, Typography } from '@mui/material' import { memo, useCallback } from 'react' @@ -77,7 +77,6 @@ export const Component = memo(function ConnectWalletPage() { }, [modalNavigate]) const handleDone = useCallback(async () => { - await EVMWeb3.disconnect({ providerType }) if (providerType === ProviderType.WalletConnect) { navigate(urlcat(PopupRoutes.Personas, { tab: PopupHomeTabType.ConnectedWallets }), { replace: true, diff --git a/packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx b/packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx index b61869c228f..40eabe42aac 100644 --- a/packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx +++ b/packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx @@ -105,8 +105,8 @@ const useStyles = makeStyles<{ disabled: boolean }>()((theme, { disabled }) => { height: 7, borderRadius: 99, }, - unconnectedDot: { - backgroundColor: theme.vars.palette.maskColor.third, + connectedDot: { + backgroundColor: theme.vars.palette.maskColor.success, }, balance: { fontSize: 36, @@ -176,18 +176,12 @@ export const WalletHeaderUI = memo(function WalletHeaderUI( {networkName} - {disabled ? null : ( - - )} + {disabled ? null : } - + - Not Connected + Connected From 4882c8230342c7a2e8521a7c00bbd835c8a3c641 Mon Sep 17 00:00:00 2001 From: swkatmask Date: Thu, 10 Sep 2026 16:55:00 +0000 Subject: [PATCH 2/2] fix: linter --- packages/shared-base-ui/src/locale/en-US.po | 8 ++++---- packages/shared-base-ui/src/locale/ja-JP.po | 8 ++++---- packages/shared-base-ui/src/locale/ko-KR.po | 8 ++++---- packages/shared-base-ui/src/locale/zh-CN.po | 8 ++++---- packages/shared-base-ui/src/locale/zh-TW.po | 8 ++++---- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/shared-base-ui/src/locale/en-US.po b/packages/shared-base-ui/src/locale/en-US.po index 7a7c4c25dce..494f9fd9410 100644 --- a/packages/shared-base-ui/src/locale/en-US.po +++ b/packages/shared-base-ui/src/locale/en-US.po @@ -1722,8 +1722,8 @@ msgstr "" #~ msgstr "" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -#~ msgid "Connected" -#~ msgstr "" +msgid "Connected" +msgstr "" #: packages/mask/popups/pages/Personas/ConnectWallet/index.tsx #~ msgid "Connected {0} with {walletName}." @@ -4313,8 +4313,8 @@ msgid "Not connected" msgstr "" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -msgid "Not Connected" -msgstr "" +#~ msgid "Not Connected" +#~ msgstr "" #: packages/plugins/Avatar/src/Application/PersonaItem.tsx #~ msgid "Not current account. Please switch to this account to set up NFTs Profile." diff --git a/packages/shared-base-ui/src/locale/ja-JP.po b/packages/shared-base-ui/src/locale/ja-JP.po index 29ee28d088f..e910fdb153f 100644 --- a/packages/shared-base-ui/src/locale/ja-JP.po +++ b/packages/shared-base-ui/src/locale/ja-JP.po @@ -1727,8 +1727,8 @@ msgstr "ソーシャルプラットフォームのアカウントに接続しま #~ msgstr "ウォレットを接続します" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -#~ msgid "Connected" -#~ msgstr "" +msgid "Connected" +msgstr "" #: packages/mask/popups/pages/Personas/ConnectWallet/index.tsx #~ msgid "Connected {0} with {walletName}." @@ -4318,8 +4318,8 @@ msgid "Not connected" msgstr "接続されていません" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -msgid "Not Connected" -msgstr "" +#~ msgid "Not Connected" +#~ msgstr "" #: packages/plugins/Avatar/src/Application/PersonaItem.tsx #~ msgid "Not current account. Please switch to this account to set up NFTs Profile." diff --git a/packages/shared-base-ui/src/locale/ko-KR.po b/packages/shared-base-ui/src/locale/ko-KR.po index fd7505ebf56..bfd0076940b 100644 --- a/packages/shared-base-ui/src/locale/ko-KR.po +++ b/packages/shared-base-ui/src/locale/ko-KR.po @@ -1727,8 +1727,8 @@ msgstr "소셜 미디어 계정을 연결하기" #~ msgstr "월렛 연결" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -#~ msgid "Connected" -#~ msgstr "" +msgid "Connected" +msgstr "" #: packages/mask/popups/pages/Personas/ConnectWallet/index.tsx #~ msgid "Connected {0} with {walletName}." @@ -4318,8 +4318,8 @@ msgid "Not connected" msgstr "연결되지 않았습니다" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -msgid "Not Connected" -msgstr "" +#~ msgid "Not Connected" +#~ msgstr "" #: packages/plugins/Avatar/src/Application/PersonaItem.tsx #~ msgid "Not current account. Please switch to this account to set up NFTs Profile." diff --git a/packages/shared-base-ui/src/locale/zh-CN.po b/packages/shared-base-ui/src/locale/zh-CN.po index 173682ce0e7..b431d4cf2f6 100644 --- a/packages/shared-base-ui/src/locale/zh-CN.po +++ b/packages/shared-base-ui/src/locale/zh-CN.po @@ -1727,8 +1727,8 @@ msgstr "连接您的社交媒体帐户。" #~ msgstr "连接您的钱包" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -#~ msgid "Connected" -#~ msgstr "" +msgid "Connected" +msgstr "" #: packages/mask/popups/pages/Personas/ConnectWallet/index.tsx #~ msgid "Connected {0} with {walletName}." @@ -4318,8 +4318,8 @@ msgid "Not connected" msgstr "未连接" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -msgid "Not Connected" -msgstr "" +#~ msgid "Not Connected" +#~ msgstr "" #: packages/plugins/Avatar/src/Application/PersonaItem.tsx #~ msgid "Not current account. Please switch to this account to set up NFTs Profile." diff --git a/packages/shared-base-ui/src/locale/zh-TW.po b/packages/shared-base-ui/src/locale/zh-TW.po index 54ef0cf4b93..78e05874e06 100644 --- a/packages/shared-base-ui/src/locale/zh-TW.po +++ b/packages/shared-base-ui/src/locale/zh-TW.po @@ -1727,8 +1727,8 @@ msgstr "" #~ msgstr "" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -#~ msgid "Connected" -#~ msgstr "" +msgid "Connected" +msgstr "" #: packages/mask/popups/pages/Personas/ConnectWallet/index.tsx #~ msgid "Connected {0} with {walletName}." @@ -4318,8 +4318,8 @@ msgid "Not connected" msgstr "" #: packages/mask/popups/pages/Wallet/components/WalletHeader/UI.tsx -msgid "Not Connected" -msgstr "" +#~ msgid "Not Connected" +#~ msgstr "" #: packages/plugins/Avatar/src/Application/PersonaItem.tsx #~ msgid "Not current account. Please switch to this account to set up NFTs Profile."