diff --git a/packages/sub-connect/src/components/WalletMetadata.scss b/packages/sub-connect/src/components/WalletMetadata.scss index d4e5946..1b6535a 100644 --- a/packages/sub-connect/src/components/WalletMetadata.scss +++ b/packages/sub-connect/src/components/WalletMetadata.scss @@ -24,4 +24,11 @@ color: #7B8098; text-overflow: ellipsis; overflow: hidden; -} \ No newline at end of file +} + +.wallet-action-button-group { + display: flex; + flex-direction: row; + gap: 16px; + align-items: center; +} diff --git a/packages/sub-connect/src/components/WalletMetadata.tsx b/packages/sub-connect/src/components/WalletMetadata.tsx index 763a1fb..12d3a9c 100644 --- a/packages/sub-connect/src/components/WalletMetadata.tsx +++ b/packages/sub-connect/src/components/WalletMetadata.tsx @@ -3,6 +3,7 @@ /* eslint-disable @typescript-eslint/no-floating-promises */ import { PlusCircleOutlined } from '@ant-design/icons'; +import { RequestAddPspToken } from "@subwallet/wallet-connect/types"; import { Button, message } from 'antd'; import React, { useCallback, useContext, useEffect, useState } from 'react'; @@ -68,6 +69,37 @@ function WalletMetadata (): React.ReactElement { [loadMetadata, walletContext.wallet?.metadata] ); + const addToken = useCallback( + () => { + const metadata = walletContext.wallet?.metadata; + + if (metadata) { + const requestAddPspToken: RequestAddPspToken = { + genesisHash: '0x05d5279c52c484cc80396535a316add7d47b1c5b9e0398dd1f584149341460c5', // Aleph zero testnet + tokenInfo: { + type: 'psp22', + address: '5DGHdeY4SXsZ2w8RZrgXXJwHXXe2Qg8LCnUoDTr3tnBnu2BC', + symbol: 'PANX', + name: 'PANX' + } + }; + const key = 'add-token'; + + message.loading({ content: 'Adding Token', key }); + metadata.addToken(requestAddPspToken) + .then((rs) => { + message.success({ content: 'Add Token Successfully!', key }); + loadMetadata(); + }) + .catch((error) => { + console.error(error); + message.warn({ content: 'Add Token Failed or Cancelled!', key }); + }); + } + }, + [loadMetadata, walletContext.wallet?.metadata] + ); + return (