refactor: context menu

This commit is contained in:
Tristan Yang
2022-07-17 17:39:17 +08:00
parent 315c3d7497
commit 8912b141ec
4 changed files with 18 additions and 10 deletions
+1 -1
View File
@@ -240,7 +240,7 @@ const ManageMembers: FC<Props> = ({ cid }) => {
)}
{canRemove && (
<li className="item danger" onClick={removeUser.bind(null, uid)}>
Remove From Server
Remove
</li>
)}
</StyledMenu>
+1 -1
View File
@@ -60,7 +60,7 @@ const UserContextMenu: FC<Props> = ({ enable = false, uid, cid, visible, hide, c
},
canRemove && {
danger: true,
title: "Remove From Server",
title: "Remove",
handler: removeUser
}
]}
+8 -4
View File
@@ -53,8 +53,10 @@ const useUserOperation = ({ uid, cid }: IProps) => {
const handleRemove = (id: number) => {
const isNumber = !Number.isNaN(+id);
const finalId = isNumber ? id || passedUid : passedUid;
removeUser(finalId);
hideAll();
if (finalId) {
removeUser(finalId);
hideAll();
}
};
const copyEmail = (email: string) => {
@@ -72,14 +74,16 @@ const useUserOperation = ({ uid, cid }: IProps) => {
toast.success("Coming Soon...");
hideAll();
};
const isAdmin = loginUser?.is_admin;
const isAdmin = !!loginUser?.is_admin;
const loginUid = loginUser?.uid;
const canDeleteChannel = cid && !channel?.is_public && isAdmin;
const canRemoveFromChannel =
cid && !channel?.is_public && (isAdmin || channel?.owner == loginUid);
cid && !channel?.is_public && (isAdmin || channel?.owner == loginUid) && uid != channel?.owner;
const canCall: boolean = agoraConfig.enabled && loginUid != uid;
const canRemove: boolean = isAdmin && loginUid != uid && !cid;
return {
canDeleteChannel,
canRemove,
removeUser: handleRemove,
startChat,