feat: context menus in contact list page
This commit is contained in:
@@ -18,8 +18,10 @@ export default function ContactContextMenu({
|
||||
copyEmail,
|
||||
canCopyEmail,
|
||||
startChat,
|
||||
canRemove,
|
||||
canRemoveFromChannel,
|
||||
removeFromChannel,
|
||||
removeUser,
|
||||
} = useContactOperation({
|
||||
uid,
|
||||
cid,
|
||||
@@ -56,6 +58,11 @@ export default function ContactContextMenu({
|
||||
title: "Remove From Channel",
|
||||
handler: removeFromChannel,
|
||||
},
|
||||
canRemove && {
|
||||
danger: true,
|
||||
title: "Remove From Server",
|
||||
handler: removeUser,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ export default function ContextMenu({ items = [], hideMenu = null }) {
|
||||
}`}
|
||||
key={title}
|
||||
onClick={(evt) => {
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
handler(evt);
|
||||
if (hideMenu) {
|
||||
hideMenu();
|
||||
|
||||
@@ -69,7 +69,7 @@ export default function useContactOperation({ uid, cid }) {
|
||||
const canRemoveFromChannel =
|
||||
cid && !channel?.is_public && (isAdmin || channel?.owner == loginUid);
|
||||
const canCall = loginUid != uid;
|
||||
const canRemove = isAdmin && loginUid != uid;
|
||||
const canRemove = isAdmin && loginUid != uid && !cid;
|
||||
return {
|
||||
canRemove,
|
||||
removeUser: handleRemove,
|
||||
|
||||
Reference in New Issue
Block a user