diff --git a/packages/web3/src/connect-button/__tests__/index.test.tsx b/packages/web3/src/connect-button/__tests__/index.test.tsx
index 51565565a..d193f48f9 100644
--- a/packages/web3/src/connect-button/__tests__/index.test.tsx
+++ b/packages/web3/src/connect-button/__tests__/index.test.tsx
@@ -11,9 +11,49 @@ describe('ConnectButton', () => {
afterEach(() => {
resetMockClipboard();
});
+
it('mount correctly', () => {
expect(() => render()).not.toThrow();
});
+
+ it('display name', () => {
+ const { baseElement } = render(
+ ,
+ );
+ expect(baseElement.querySelector('.ant-btn')?.textContent).toBe('wanderingearth.eth');
+ });
+
+ it('display addresss when not has name', () => {
+ const { baseElement } = render(
+ ,
+ );
+ expect(baseElement.querySelector('.ant-btn')?.textContent).toBe('0x21CD...Fd3B');
+ });
+
+ it('display name when not has address', () => {
+ const { baseElement } = render();
+ expect(baseElement.querySelector('.ant-btn')?.textContent).toBe('wanderingearth.eth');
+ });
+
+ it('tooltip show address when has name', () => {
+ const { baseElement } = render(
+ ,
+ );
+ expect(baseElement.querySelector('.ant-btn')?.textContent).toBe('wanderingearth.eth');
+ expect(baseElement.querySelector('.ant-tooltip')).not.toBeNull();
+ expect(baseElement.querySelector('.ant-tooltip-inner')?.textContent).toBe('0x3ea2cf...097c18');
+ expect(baseElement.querySelector('.anticon-copy')).not.toBeNull();
+ });
+
it('display tooltip', () => {
const { baseElement } = render(
,
diff --git a/packages/web3/src/connect-button/connect-button.tsx b/packages/web3/src/connect-button/connect-button.tsx
index d344c4d3d..395f231cc 100644
--- a/packages/web3/src/connect-button/connect-button.tsx
+++ b/packages/web3/src/connect-button/connect-button.tsx
@@ -14,9 +14,14 @@ export const ConnectButton: React.FC = (props) => {
currentChain,
onSwitchChain,
tooltip,
+ name,
...restProps
} = props;
+ let buttonText: React.ReactNode = 'Connect Wallet';
+ if (connected) {
+ buttonText = name ?? ;
+ }
const buttonProps = {
style: props.style,
className: props.className,
@@ -30,7 +35,7 @@ export const ConnectButton: React.FC = (props) => {
onConnectClick?.();
}
},
- children: connected ? : 'Connect Wallet',
+ children: buttonText,
...restProps,
};
diff --git a/packages/web3/src/connect-button/demos/name.tsx b/packages/web3/src/connect-button/demos/name.tsx
new file mode 100644
index 000000000..a497d7bf5
--- /dev/null
+++ b/packages/web3/src/connect-button/demos/name.tsx
@@ -0,0 +1,14 @@
+import { ConnectButton } from '@ant-design/web3';
+
+const App: React.FC = () => {
+ return (
+
+ );
+};
+
+export default App;
diff --git a/packages/web3/src/connect-button/demos/tooltip.tsx b/packages/web3/src/connect-button/demos/tooltip.tsx
index 26c82857b..1ca55ae99 100644
--- a/packages/web3/src/connect-button/demos/tooltip.tsx
+++ b/packages/web3/src/connect-button/demos/tooltip.tsx
@@ -4,12 +4,13 @@ import { Space } from 'antd';
const App: React.FC = () => {
return (
-
+
{
title: 'aaaaaabbbbbbcccccc',
copyable: false,
}}
+ connected
/>
);
diff --git a/packages/web3/src/connect-button/index.md b/packages/web3/src/connect-button/index.md
index 3b8b76d30..01f21327b 100644
--- a/packages/web3/src/connect-button/index.md
+++ b/packages/web3/src/connect-button/index.md
@@ -17,11 +17,16 @@ A Button for connect chain quickly.
+## Show Name
+
+
+
## API
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| address | Address | `string` | - | - |
+| name | Name, like ENS | `string` | - | - |
| tooltip | Show tooltip when mouse enter address | `boolean \|` [ConnectButtonTooltipProps](#connectbuttontooltipprops) | `true`, will display address by default | - |
### ConnectButtonTooltipProps
diff --git a/packages/web3/src/connect-button/index.zh-CN.md b/packages/web3/src/connect-button/index.zh-CN.md
index 8a79935e5..eede63106 100644
--- a/packages/web3/src/connect-button/index.zh-CN.md
+++ b/packages/web3/src/connect-button/index.zh-CN.md
@@ -15,11 +15,16 @@ group: 组件
+## 显示名称
+
+
+
## API
| 属性 | 描述 | 类型 | 默认值 | 版本 |
| --- | --- | --- | --- | --- |
| address | 地址 | `string` | - | - |
+| name | 名称,比如以太坊的 ENS | `string` | - | - |
| tooltip | 鼠标移入地址时展示提示 | `boolean \|` [ConnectButtonTooltipProps](#connectbuttontooltipprops) | `true`,默认显示 address 信息 | - |
### ConnectButtonTooltipProps