Skip to content

Commit

Permalink
fixup! refactor: introduce concept of current user as my*
Browse files Browse the repository at this point in the history
  • Loading branch information
swkatmask committed Mar 22, 2024
1 parent eb9f42a commit 8b3a2ac
Show file tree
Hide file tree
Showing 31 changed files with 124 additions and 130 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ export function Composition({ type = 'timeline', requireClipboardPermission }: P
const { classes, cx } = useStyles()
const currentIdentity = useCurrentIdentity()?.identifier
const allPersonas = usePersonasFromDB()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useValueRef(currentPersonaIdentifier)
const { value: connectStatus } = useCurrentPersonaConnectStatus(
allPersonas,
currentIdentifier,
Services.Helper.openDashboard,
lastRecognized,
myIdentity,
)
/** @deprecated */
const { value: hasLocalKey } = useAsync(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export function EncryptionTargetSelector(props: EncryptionTargetSelectorProps) {

const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)
const allPersonas = usePersonasFromDB()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useValueRef(currentPersonaIdentifier)

const e2eDisabledMessage =
Expand All @@ -72,7 +72,7 @@ export function EncryptionTargetSelector(props: EncryptionTargetSelectorProps) {
<Box flex={1} />
<ConnectPersonaBoundary
personas={allPersonas}
identity={lastRecognized}
identity={myIdentity}
currentPersonaIdentifier={currentIdentifier}
openDashboard={Services.Helper.openDashboard}
customHint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ import { SteganographyPayload } from './SteganographyPayload.js'

export function useSubmit(onClose: () => void, reason: 'timeline' | 'popup' | 'reply') {
const t = useMaskSharedTrans()
const me = useMyIdentity()
const myIdentity = useMyIdentity()

return useCallback(
async (info: SubmitComposition) => {
const { content, encode, target } = info
if (encode === 'image' && !me) throw new Error('No Current Profile')
if (encode === 'image' && !myIdentity) throw new Error('No Current Profile')

// rawEncrypted is either string or Uint8Array
// string is the old format, Uint8Array is the new format.
const rawEncrypted = await Services.Crypto.encryptTo(
info.version,
content,
target,
me.identifier,
myIdentity.identifier,
activatedSiteAdaptorUI!.encryptPayloadNetwork,
)
// Since we cannot directly send binary in the composition box, we need to encode it into a string.
Expand Down Expand Up @@ -72,7 +72,7 @@ export function useSubmit(onClose: () => void, reason: 'timeline' | 'popup' | 'r

onClose()
},
[t, me, onClose, reason],
[t, myIdentity, onClose, reason],
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import { useSetupGuideStatus } from '../GuideStep/useSetupGuideStatus.js'
export function usePersonaPerSiteConnectStatus() {
const personas = usePersonasFromDB()
const lastState = useSetupGuideStatus()
const lastRecognized = useMyIdentity()
const username = lastState.username || lastRecognized.identifier?.userId
const myIdentity = useMyIdentity()
const username = lastState.username || myIdentity.identifier?.userId
const checkSiteConnectedToCurrentPersona = useCallback(
(persona: PersonaInformation) =>
username ? persona.linkedProfiles.some((x) => x.identifier.userId === username) : false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,11 @@ export function ProfileCardTitle({
onAddressChange,
...rest
}: ProfileCardTitleProps) {
const me = useMyIdentity()
const myIdentity = useMyIdentity()
const { classes, cx } = useStyles()

const userId = identity?.identifier?.userId
const itsMe = !!userId && userId === me?.identifier?.userId
const itsMe = !!userId && userId === myIdentity?.identifier?.userId
const { data: nextIdBindings = EMPTY_LIST } = useQuery({
queryKey: ['next-id', 'profiles-by-twitter-id', userId],
enabled: !!userId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,15 +147,15 @@ function Content(props: ProfileTabContentProps) {
const [menuOpen, setMenuOpen] = useState(false)
const closeMenu = useCallback(() => setMenuOpen(false), [])
const allPersonas = usePersonasFromDB()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useValueRef(currentPersonaIdentifier)

const {
value: personaStatus,
loading: loadingPersonaStatus,
error: loadPersonaStatusError,
retry: retryLoadPersonaStatus,
} = useCurrentPersonaConnectStatus(allPersonas, currentIdentifier, Services.Helper.openDashboard, lastRecognized)
} = useCurrentPersonaConnectStatus(allPersonas, currentIdentifier, Services.Helper.openDashboard, myIdentity)

const currentVisitingSocialIdentity = useCurrentVisitingIdentity()
const { data: currentSocialIdentity } = useSocialIdentity(currentVisitingSocialIdentity)
Expand Down Expand Up @@ -483,7 +483,7 @@ function Content(props: ProfileTabContentProps) {
{isOwnerIdentity && isOnTwitter ?
<ConnectPersonaBoundary
personas={allPersonas}
identity={lastRecognized}
identity={myIdentity}
currentPersonaIdentifier={currentIdentifier}
openDashboard={Services.Helper.openDashboard}
customHint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { useTimeout } from 'react-use'
import { useMyIdentity } from '../../../DataSource/useActivatedUI.js'

export function useCurrentUserId() {
const lastRecognized = useMyIdentity()
const currentUserId = lastRecognized.identifier?.userId
const myIdentity = useMyIdentity()
const currentUserId = myIdentity.identifier?.userId
// There is not state for getting current userId, setting a timeout for that.
const [timeout] = useTimeout(5000)
const [delay] = useTimeout(800)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { usePersonaPerSiteConnectStatus } from '../DataSource/usePersonaPerSiteC
import Services from '#services'

export function useOpenApplicationBoardDialog(quickMode?: boolean, focusPluginID?: PluginID) {
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const allPersonas = usePersonasFromDB()
const { value: applicationCurrentStatus, loading: personaPerSiteConnectStatusLoading } =
usePersonaPerSiteConnectStatus()
Expand All @@ -17,7 +17,7 @@ export function useOpenApplicationBoardDialog(quickMode?: boolean, focusPluginID
() =>
ApplicationBoardModal.open({
allPersonas,
lastRecognized,
myIdentity,
openDashboard: Services.Helper.openDashboard,
currentSite: activatedSiteAdaptorUI!.networkIdentifier,
queryOwnedPersonaInformation: Services.Identity.queryOwnedPersonaInformation,
Expand All @@ -29,7 +29,7 @@ export function useOpenApplicationBoardDialog(quickMode?: boolean, focusPluginID
}),
[
allPersonas,
lastRecognized,
myIdentity,
applicationCurrentStatus,
personaPerSiteConnectStatusLoading,
quickMode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ function requestSettingAvatar() {
function OpenNFTAvatarEditProfileButtonInTwitter() {
const { classes } = useNFTAvatarButtonStyles()
const allPersonas = usePersonasFromDB()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useValueRef(currentPersonaIdentifier)

useEffect(() => {
Expand All @@ -81,7 +81,7 @@ function OpenNFTAvatarEditProfileButtonInTwitter() {
return (
<ConnectPersonaBoundary
personas={allPersonas}
identity={lastRecognized}
identity={myIdentity}
currentPersonaIdentifier={currentIdentifier}
openDashboard={Services.Helper.openDashboard}
handlerPosition="top-right"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ function clickHandler() {
}
function OpenNFTAvatarEditProfileButtonInTwitter() {
const personas = usePersonasFromDB()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useValueRef(currentPersonaIdentifier)
const themeSettings = useThemeSettings()
const buttonStyle = ButtonStyle[themeSettings.size]
Expand All @@ -84,7 +84,7 @@ function OpenNFTAvatarEditProfileButtonInTwitter() {
<div className={classes.root}>
<ConnectPersonaBoundary
personas={personas}
identity={lastRecognized}
identity={myIdentity}
currentPersonaIdentifier={currentIdentifier}
openDashboard={Services.Helper.openDashboard}
handlerPosition="top-right"
Expand Down
12 changes: 6 additions & 6 deletions packages/plugins/Avatar/src/Application/PersonaPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ export function PersonaPage() {
const navigate = useNavigate()
const { setProofs, setTokenInfo, setProof, isPending, binding } = useAvatarManagement()

const socialIdentity = useMyIdentity()
const myIdentity = useMyIdentity()

const network = socialIdentity?.identifier?.network.replace('.com', '')
const userId = socialIdentity?.identifier?.userId
const network = myIdentity?.identifier?.network.replace('.com', '')
const userId = myIdentity?.identifier?.userId

const myPersonas = useAllPersonas()
const currentPersonaIdentifier = useSubscription(currentPersona)
Expand Down Expand Up @@ -82,9 +82,9 @@ export function PersonaPage() {
<PersonaItem
persona={binding?.persona}
key={`avatar${i}`}
avatar={socialIdentity!.avatar ?? ''}
avatar={myIdentity!.avatar ?? ''}
owner
nickname={socialIdentity!.nickname}
nickname={myIdentity!.nickname}
proof={x}
userId={userId ?? x.identity}
onSelect={handleSelect}
Expand Down Expand Up @@ -120,7 +120,7 @@ export function PersonaPage() {
<PersonaAction
avatar={avatar === null ? undefined : avatar}
currentPersona={currentPersonaInfo}
currentVisitingProfile={socialIdentity}
currentVisitingProfile={myIdentity}
/>
</DialogActions>
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ export function CardDialogContent(props: CardDialogContentProps) {
chainId,
} = Context.useContainer()
const currentVisitingIdentity = useCurrentVisitingIdentity()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const currentIdentifier = useSubscription(currentPersonaIdentifier)
const personas = useAllPersonas()
const onBeforeAction = useCallback(() => {
Expand Down Expand Up @@ -142,7 +142,7 @@ export function CardDialogContent(props: CardDialogContentProps) {
{origin === 'pfp' && currentVisitingIdentity?.isOwner ?
<ConnectPersonaBoundary
personas={personas}
identity={lastRecognized}
identity={myIdentity}
currentPersonaIdentifier={currentIdentifier}
openDashboard={openDashboard}
handlerPosition="top-right"
Expand Down
8 changes: 3 additions & 5 deletions packages/plugins/NextID/src/components/NextIdPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
import { openDashboard, openPopupWindow, queryPersonaByProfile } from '@masknet/plugin-infra/dom/context'

export const NextIdPage = memo(function NextIdPage() {
const currentProfileIdentifier = useMyIdentity()
const myIdentity = useMyIdentity()
const visitingPersonaIdentifier = useCurrentVisitingIdentity()
const allPersonas = useAllPersonas()
const currentIdentifier = useValueRef(currentPersonaIdentifier)
Expand All @@ -31,13 +31,11 @@ export const NextIdPage = memo(function NextIdPage() {
allPersonas,
currentIdentifier,
openDashboard,
currentProfileIdentifier,
myIdentity,
)

const [openBindDialog, toggleBindDialog] = useState(false)
const isOwn =
currentProfileIdentifier &&
currentProfileIdentifier?.identifier?.userId === visitingPersonaIdentifier?.identifier?.userId
const isOwn = myIdentity && myIdentity?.identifier?.userId === visitingPersonaIdentifier?.identifier?.userId

const { value: currentPersona, loading: loadingPersona } = useAsyncRetry(async () => {
if (!visitingPersonaIdentifier?.identifier) return
Expand Down
8 changes: 4 additions & 4 deletions packages/plugins/Pets/src/hooks/useUser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import { useCurrentVisitingIdentity, useMyIdentity } from '@masknet/plugin-infra

export function useUser() {
const { account } = useChainContext<NetworkPluginID.PLUGIN_EVM>()
const whoAmI = useMyIdentity()
const myIdentity = useMyIdentity()

return useMemo(() => {
if (!account || !whoAmI?.identifier || whoAmI.identifier?.userId === '$unknown') return
if (!account || !myIdentity?.identifier || myIdentity.identifier?.userId === '$unknown') return
return {
userId: whoAmI.identifier.userId,
userId: myIdentity.identifier.userId,
address: account,
}
}, [account, whoAmI])
}, [account, myIdentity])
}

export const DEFAULT_USER = { userId: '', address: '' }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,9 @@ export default function RedPacketDialog(props: RedPacketDialogProps) {
}, [props.onClose, step])

const currentIdentity = useCurrentVisitingIdentity()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const linkedPersona = useCurrentLinkedPersona()
const senderName =
lastRecognized?.identifier?.userId ?? currentIdentity?.identifier?.userId ?? linkedPersona?.nickname
const senderName = myIdentity?.identifier?.userId || currentIdentity?.identifier?.userId || linkedPersona?.nickname

const compositionType = useContext(CompositionTypeContext)
const onCreateOrSelect = useCallback(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,9 @@ export function RedPacketERC721Form(props: RedPacketERC721FormProps) {

const currentIdentity = useCurrentVisitingIdentity()
const linkedPersona = useCurrentLinkedPersona()
const lastRecognized = useMyIdentity()
const myIdentity = useMyIdentity()
const senderName =
lastRecognized?.identifier?.userId ??
myIdentity?.identifier?.userId ??
currentIdentity?.identifier?.userId ??
linkedPersona?.nickname ??
'Unknown User'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ export function useClaimStrategyStatus(payload: RedPacketJSONPayload | RedPacket
account: pluginID === NetworkPluginID.PLUGIN_EVM ? undefined : '',
})
const signedMessage = 'privateKey' in payload ? payload.privateKey : payload.password
const me = useMyIdentity()
const myIdentity = useMyIdentity()
return useQuery({
enabled: !signedMessage && !!platform,
queryKey: ['red-packet', 'claim-strategy', rpid, platform, account, me],
queryKey: ['red-packet', 'claim-strategy', rpid, platform, account, myIdentity],
queryFn: async () => {
if (!platform) return null
return FireflyRedPacket.checkClaimStrategyStatus({
rpid,
profile: {
needLensAndFarcasterHandle: true,
platform,
profileId: me?.profileId,
lensToken: me?.lensToken,
farcasterMessage: me?.farcasterMessage as HexString,
farcasterSigner: me?.farcasterSigner as HexString,
farcasterSignature: me?.farcasterSignature as HexString,
profileId: myIdentity?.profileId,
lensToken: myIdentity?.lensToken,
farcasterMessage: myIdentity?.farcasterMessage as HexString,
farcasterSigner: myIdentity?.farcasterSigner as HexString,
farcasterSignature: myIdentity?.farcasterSignature as HexString,
},
wallet: {
address: account,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ export function useSignedMessage(
const password = 'privateKey' in payload ? payload.privateKey : payload.password
const version = 'contract_version' in payload ? payload.contract_version : payload.contractVersion
const platform = usePlatformType()
const me = useMyIdentity()
const myIdentity = useMyIdentity()
const profile =
platform ?
{
needLensAndFarcasterHandle: true,
platform,
profileId: me?.profileId,
lensToken: me?.lensToken,
farcasterMessage: me?.farcasterMessage as HexString,
farcasterSigner: me?.farcasterSigner as HexString,
farcasterSignature: me?.farcasterSignature as HexString,
profileId: myIdentity?.profileId,
lensToken: myIdentity?.lensToken,
farcasterMessage: myIdentity?.farcasterMessage as HexString,
farcasterSigner: myIdentity?.farcasterSigner as HexString,
farcasterSignature: myIdentity?.farcasterSignature as HexString,
}
: undefined

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ export const AddSmartPayPopover = memo<AddSmartPayPopoverProps>(({ open, anchorE
const { classes } = useStyles()
const { setSigner } = SmartPayContext.useContainer()
const personas = useAllPersonas()
const me = useMyIdentity()
const myIdentity = useMyIdentity()
const { value = 0, retry } = useAsyncRetry(async () => {
if (!me?.identifier?.userId) return 0
return SmartPayFunder.getRemainFrequency(me.identifier.userId)
}, [me])
if (!myIdentity?.identifier?.userId) return 0
return SmartPayFunder.getRemainFrequency(myIdentity.identifier.userId)
}, [myIdentity])

const { value: qualifications, loading } = useQueryQualifications()

Expand Down Expand Up @@ -157,10 +157,10 @@ export const AddSmartPayPopover = memo<AddSmartPayPopoverProps>(({ open, anchorE
}}>
<Typography className={classes.title}>{t.add_smart_pay_wallet()}</Typography>
<Box className={classes.info}>
<Icon logoURL={me?.avatar} name={me?.nickname} size={30} />
<Icon logoURL={myIdentity?.avatar} name={myIdentity?.nickname} size={30} />
<Box>
<Typography className={classes.name}>{me?.nickname}</Typography>
<Typography className={classes.identifier}>@{me?.identifier?.userId}</Typography>
<Typography className={classes.name}>{myIdentity?.nickname}</Typography>
<Typography className={classes.identifier}>@{myIdentity?.identifier?.userId}</Typography>
</Box>
</Box>
<Typography className={classes.tips}>{t.remain_times_tips({ count: value })}</Typography>
Expand Down

0 comments on commit 8b3a2ac

Please sign in to comment.