From fa4314c01c50ca437861f4d5372ad7f0e018f06a Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 14 Jun 2022 16:16:39 +0800 Subject: [PATCH 1/4] fix(nft lucky drop): ui issue --- .../plugins/RedPacket/SNSAdaptor/RedPacketCreateNew.tsx | 4 ++-- .../src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx | 7 ++++++- .../plugins/RedPacket/SNSAdaptor/RedPacketERC20Form.tsx | 1 + .../plugins/RedPacket/SNSAdaptor/RedPacketERC721Form.tsx | 5 ++++- .../plugins/Wallet/SNSAdaptor/SelectNftContractDialog.tsx | 6 ++++-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketCreateNew.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketCreateNew.tsx index 89315e24f61c..b2bfa7610b7d 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketCreateNew.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketCreateNew.tsx @@ -50,7 +50,7 @@ const useStyles = makeStyles()((theme, { snsId }) => ({ })) export function RedPacketCreateNew(props: RedPacketFormProps & { state: readonly [number, (next: number) => void] }) { - const { origin, onNext, onChange, onClose, state } = props + const { origin, onNext, onChange, onClose, state, setERC721DialogHeight } = props const t = useI18N() const { classes } = useStyles({ snsId: activatedSocialNetworkUI.networkIdentifier }) const chainId = useChainId(NetworkPluginID.PLUGIN_EVM) @@ -74,7 +74,7 @@ export function RedPacketCreateNew(props: RedPacketFormProps & { state: readonly {t.erc721_tab_title()} ), - children: , + children: , sx: { p: 0 }, disabled: ![ChainId.Mainnet, ChainId.Matic, ChainId.BSC, ChainId.Conflux].includes(chainId), }, diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx index f2d399aaf34b..decebd203c13 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx @@ -131,7 +131,11 @@ export default function RedPacketDialog(props: RedPacketDialogProps) { const tokenState = useState(RpTypeTabs.ERC20) - const dialogContentHeight = state[0] === DialogTabs.past ? 600 : tokenState[0] === RpTypeTabs.ERC20 ? 350 : 690 + // nft dialog height depends on the detailed step + const [ERC721DialogHeight, setERC721DialogHeight] = useState(350) + + const dialogContentHeight = + state[0] === DialogTabs.past ? 600 : tokenState[0] === RpTypeTabs.ERC20 ? 350 : ERC721DialogHeight const tabProps: AbstractTabProps = { tabs: [ @@ -144,6 +148,7 @@ export default function RedPacketDialog(props: RedPacketDialogProps) { state={tokenState} onClose={onClose} onChange={onChange} + setERC721DialogHeight={(height: number) => setERC721DialogHeight(height)} /> ), sx: { p: 0 }, diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC20Form.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC20Form.tsx index 85e3dcac69ac..49c831b14300 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC20Form.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC20Form.tsx @@ -80,6 +80,7 @@ export interface RedPacketFormProps extends withClasses { onClose: () => void origin?: RedPacketSettings onNext: () => void + setERC721DialogHeight?: (height: number) => void } export function RedPacketERC20Form(props: RedPacketFormProps) { diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC721Form.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC721Form.tsx index c565911503d8..2a841b6ec0bc 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC721Form.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketERC721Form.tsx @@ -195,10 +195,11 @@ const useStyles = makeStyles()((theme) => { }) interface RedPacketERC721FormProps { onClose: () => void + setERC721DialogHeight?: (height: number) => void } export function RedPacketERC721Form(props: RedPacketERC721FormProps) { const t = useI18N() - const { onClose } = props + const { onClose, setERC721DialogHeight } = props const { classes } = useStyles() const [open, setOpen] = useState(false) const [balance, setBalance] = useState(0) @@ -267,6 +268,8 @@ export function RedPacketERC721Form(props: RedPacketERC721FormProps) { return '' }, [tokenDetailedList.length, balance, t]) + setERC721DialogHeight?.(balance > 0 ? 690 : 350) + return ( <> diff --git a/packages/mask/src/plugins/Wallet/SNSAdaptor/SelectNftContractDialog.tsx b/packages/mask/src/plugins/Wallet/SNSAdaptor/SelectNftContractDialog.tsx index a77979aaec0e..1b4d2b183322 100644 --- a/packages/mask/src/plugins/Wallet/SNSAdaptor/SelectNftContractDialog.tsx +++ b/packages/mask/src/plugins/Wallet/SNSAdaptor/SelectNftContractDialog.tsx @@ -280,8 +280,10 @@ interface ContractListItemProps { function ContractListItem(props: ContractListItemProps) { const { onSubmit, contract } = props const { classes } = useStyles() - const { value: balance = '0' } = useNonFungibleTokenBalance(NetworkPluginID.PLUGIN_EVM, contract.address) - return ( + const { value: balance = '0' } = useNonFungibleTokenBalance(NetworkPluginID.PLUGIN_EVM, contract.address, { + chainId: contract.chainId, + }) + return balance === '0' ? null : (
onSubmit(balance, contract)}> From 8fe13bc904b26d9ca4d41a326ade3be116a15083 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 14 Jun 2022 17:10:06 +0800 Subject: [PATCH 2/4] fix: ipfs resolver --- packages/plugins/EVM/src/state/Connection/connection.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/plugins/EVM/src/state/Connection/connection.ts b/packages/plugins/EVM/src/state/Connection/connection.ts index ae5b72b012a6..1d64fff8c62d 100644 --- a/packages/plugins/EVM/src/state/Connection/connection.ts +++ b/packages/plugins/EVM/src/state/Connection/connection.ts @@ -33,6 +33,7 @@ import { createWeb3Provider, getEthereumConstants, isValidAddress, + resolveIPFSLinkFromURL, } from '@masknet/web3-shared-evm' import { Account, @@ -373,8 +374,8 @@ class Connection implements EVM_Connection { '', response.description, undefined, - response.image, - response.image, + resolveIPFSLinkFromURL(response.image), + resolveIPFSLinkFromURL(response.image), ) } @@ -391,8 +392,8 @@ class Connection implements EVM_Connection { '', response.description, undefined, - response.image, - response.image, + resolveIPFSLinkFromURL(response.image), + resolveIPFSLinkFromURL(response.image), ) } async getNonFungibleTokenContract( From e2cd8a074860ba29a7702b5607237530810cdf9b Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 14 Jun 2022 18:01:11 +0800 Subject: [PATCH 3/4] refactor: ipfs link --- packages/web3-shared/evm/pipes/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-shared/evm/pipes/index.ts b/packages/web3-shared/evm/pipes/index.ts index afe50e687041..380f11e471df 100644 --- a/packages/web3-shared/evm/pipes/index.ts +++ b/packages/web3-shared/evm/pipes/index.ts @@ -4,7 +4,7 @@ import { SourceType } from '@masknet/web3-shared-base' // TODO check ipfs inside before resolving export function resolveIPFSLink(ipfs: string): string { - return urlcat('https://coldcdn.com/api/cdn/mipfsygtms/ipfs/:ipfs', { ipfs }) + return urlcat('https://ipfs.io/ipfs/:ipfs', { ipfs }) } export function resolveIPFSLinkFromURL(url: string): string { From 6e82efb777c6fdf0d15d38de32f24171351e7ac0 Mon Sep 17 00:00:00 2001 From: zhouhanseng Date: Tue, 14 Jun 2022 18:20:04 +0800 Subject: [PATCH 4/4] chore: text --- packages/mask/src/plugins/RedPacket/locales/en-US.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mask/src/plugins/RedPacket/locales/en-US.json b/packages/mask/src/plugins/RedPacket/locales/en-US.json index f0d8bd365736..7cdfea81e923 100644 --- a/packages/mask/src/plugins/RedPacket/locales/en-US.json +++ b/packages/mask/src/plugins/RedPacket/locales/en-US.json @@ -48,7 +48,7 @@ "erc20_tab_title": "Token", "claimed": "Claimed", "details": "Lucky Drop Details", - "display_name": "Plugin: Lucky Drop", + "display_name": "Lucky Drop", "select_existing": "History", "create_new": "New", "send_symbol": "Send {{amount}} {{symbol}}",