refactor: profile component for better performance
This commit is contained in:
@@ -42,6 +42,30 @@ const User: FC<Props> = ({
|
||||
};
|
||||
if (!curr) return null;
|
||||
const online = curr.online || curr.uid == loginUid;
|
||||
if (!popover)
|
||||
return (
|
||||
<ContextMenu
|
||||
cid={cid}
|
||||
uid={uid}
|
||||
enable={enableContextMenu}
|
||||
visible={contextMenuVisible}
|
||||
hide={hideContextMenu}
|
||||
>
|
||||
<StyledWrapper
|
||||
size={avatarSize}
|
||||
className={`${interactive ? "interactive" : ""} ${compact ? "compact" : ""}`}
|
||||
onDoubleClick={dm ? handleDoubleClick : undefined}
|
||||
onContextMenu={enableContextMenu ? handleContextMenuEvent : undefined}
|
||||
>
|
||||
<div className="avatar">
|
||||
<Avatar url={curr.avatar} name={curr.name} alt="avatar" />
|
||||
<div className={`status ${online ? "online" : "offline"}`}></div>
|
||||
</div>
|
||||
{!compact && <span className="name">{curr?.name}</span>}
|
||||
{owner && <IconOwner />}
|
||||
</StyledWrapper>
|
||||
</ContextMenu>
|
||||
);
|
||||
return (
|
||||
<ContextMenu
|
||||
cid={cid}
|
||||
@@ -53,7 +77,6 @@ const User: FC<Props> = ({
|
||||
<Tippy
|
||||
inertia={true}
|
||||
interactive
|
||||
disabled={!popover}
|
||||
placement="left"
|
||||
trigger="click"
|
||||
content={<Profile uid={uid} type="card" cid={cid} />}
|
||||
|
||||
Reference in New Issue
Block a user