diff --git a/packages/maskbook/src/plugins/Avatar/hooks/useCurrentUserInfo.ts b/packages/maskbook/src/plugins/Avatar/hooks/useCurrentProfileIdentifiers.ts similarity index 68% rename from packages/maskbook/src/plugins/Avatar/hooks/useCurrentUserInfo.ts rename to packages/maskbook/src/plugins/Avatar/hooks/useCurrentProfileIdentifiers.ts index ff540d450493..8e306caa68e1 100644 --- a/packages/maskbook/src/plugins/Avatar/hooks/useCurrentUserInfo.ts +++ b/packages/maskbook/src/plugins/Avatar/hooks/useCurrentProfileIdentifiers.ts @@ -3,14 +3,12 @@ import type { Persona } from '../../../database' import type { ProfileIdentifier } from '../../../database/type' import { getProfileIdentifierFromPersona } from '../utils/getProfileIdentifierFromPersona' -export function useCurrentProfileIdentifier(): { userId?: string; identifier?: ProfileIdentifier } | undefined { +export function useCurrentProfileIdentifiers(): ({ userId?: string; identifier?: ProfileIdentifier } | undefined)[] { const personas = useMyPersonas() - if (personas.length === 0) return - const userInfo = personas + if (personas.length === 0) return [] + return personas .map((persona: Persona) => { return getProfileIdentifierFromPersona(persona) }) .filter((x: any) => x) - - return userInfo?.[0] } diff --git a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/NFT/profileNFTAvatar.tsx b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/NFT/profileNFTAvatar.tsx index 4fc31395030f..77b7c1d3da05 100644 --- a/packages/maskbook/src/social-network-adaptor/twitter.com/injection/NFT/profileNFTAvatar.tsx +++ b/packages/maskbook/src/social-network-adaptor/twitter.com/injection/NFT/profileNFTAvatar.tsx @@ -12,7 +12,7 @@ import { useCurrentVisitingIdentity } from '../../../../components/DataSource/us import { getAvatarId } from '../../utils/user' import { toPNG } from '../../../../plugins/Avatar/utils' import type { ERC721TokenDetailed } from '@masknet/web3-shared-evm' -import { useCurrentProfileIdentifier } from '../../../../plugins/Avatar/hooks/useCurrentUserInfo' +import { useCurrentProfileIdentifiers } from '../../../../plugins/Avatar/hooks/useCurrentProfileIdentifiers' import { NFTAvatar } from '../../../../plugins/Avatar/SNSAdaptor/NFTAvatar' import { hookInputUploadOnce } from '@masknet/injected-script' @@ -36,7 +36,7 @@ async function changeImageToActiveElements(image: File | Blob): Promise { function NFTAvatarInTwitter() { const { classes } = useStyles() - const currentIdentifier = useCurrentProfileIdentifier() + const myIdentities = useCurrentProfileIdentifiers() const identity = useCurrentVisitingIdentity() const [avatarEvent, setAvatarEvent] = useState() @@ -73,6 +73,7 @@ function NFTAvatarInTwitter() { return () => profileSave.removeEventListener('click', handler) }, [handler]) - if (identity.identifier.userId !== currentIdentifier?.userId) return null - return + if (myIdentities.some((x) => x && x.userId === identity.identifier.userId)) + return + return null }