@@ -69,6 +69,9 @@ export const ModalContent = ({
|
|||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
value: 'link',
|
value: 'link',
|
||||||
|
style: {
|
||||||
|
cursor: 'not-allowed',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ export const CloudWorkspaceMembersPanel = ({
|
|||||||
const permissionService = useService(WorkspacePermissionService);
|
const permissionService = useService(WorkspacePermissionService);
|
||||||
const isOwner = useLiveData(permissionService.permission.isOwner$);
|
const isOwner = useLiveData(permissionService.permission.isOwner$);
|
||||||
const isAdmin = useLiveData(permissionService.permission.isAdmin$);
|
const isAdmin = useLiveData(permissionService.permission.isAdmin$);
|
||||||
|
const isOwnerOrAdmin = isOwner || isAdmin;
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
permissionService.permission.revalidate();
|
permissionService.permission.revalidate();
|
||||||
}, [permissionService]);
|
}, [permissionService]);
|
||||||
@@ -233,8 +234,8 @@ export const CloudWorkspaceMembersPanel = ({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SettingRow name={title} desc={desc} spreadCol={!!isOwner}>
|
<SettingRow name={title} desc={desc} spreadCol={!!isOwnerOrAdmin}>
|
||||||
{isOwner ? (
|
{isOwnerOrAdmin ? (
|
||||||
<>
|
<>
|
||||||
<Button onClick={openInviteModal}>{t['Invite Members']()}</Button>
|
<Button onClick={openInviteModal}>{t['Invite Members']()}</Button>
|
||||||
{!isTeam ? (
|
{!isTeam ? (
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ const MemberItem = ({
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={clsx(styles.roleOrStatus, {
|
className={clsx(styles.roleOrStatus, {
|
||||||
pending: !member.accepted,
|
pending: member.status !== WorkspaceMemberStatus.Accepted,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{t.t(memberStatus)}
|
{t.t(memberStatus)}
|
||||||
|
|||||||
@@ -193,14 +193,17 @@ export const MemberOptions = ({
|
|||||||
label: t['com.affine.payment.member.team.remove'](),
|
label: t['com.affine.payment.member.team.remove'](),
|
||||||
onClick: handleRemove,
|
onClick: handleRemove,
|
||||||
show:
|
show:
|
||||||
(isAdmin || isOwner) &&
|
(isOwner && member.status === WorkspaceMemberStatus.Accepted) ||
|
||||||
member.status === WorkspaceMemberStatus.Accepted,
|
(isAdmin &&
|
||||||
|
member.status === WorkspaceMemberStatus.Accepted &&
|
||||||
|
member.permission !== Permission.Owner &&
|
||||||
|
member.permission !== Permission.Admin),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t['com.affine.payment.member.team.change.collaborator'](),
|
label: t['com.affine.payment.member.team.change.collaborator'](),
|
||||||
onClick: handleChangeToCollaborator,
|
onClick: handleChangeToCollaborator,
|
||||||
show:
|
show:
|
||||||
(isAdmin || isOwner) &&
|
isOwner &&
|
||||||
member.status === WorkspaceMemberStatus.Accepted &&
|
member.status === WorkspaceMemberStatus.Accepted &&
|
||||||
member.permission === Permission.Admin,
|
member.permission === Permission.Admin,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ query getMembersByWorkspaceId($workspaceId: String!, $skip: Int!, $take: Int!) {
|
|||||||
avatarUrl
|
avatarUrl
|
||||||
permission
|
permission
|
||||||
inviteId
|
inviteId
|
||||||
accepted
|
|
||||||
emailVerified
|
emailVerified
|
||||||
status
|
status
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -469,7 +469,6 @@ query getMembersByWorkspaceId($workspaceId: String!, $skip: Int!, $take: Int!) {
|
|||||||
avatarUrl
|
avatarUrl
|
||||||
permission
|
permission
|
||||||
inviteId
|
inviteId
|
||||||
accepted
|
|
||||||
emailVerified
|
emailVerified
|
||||||
status
|
status
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1844,7 +1844,6 @@ export type GetMembersByWorkspaceIdQuery = {
|
|||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
permission: Permission;
|
permission: Permission;
|
||||||
inviteId: string;
|
inviteId: string;
|
||||||
accepted: boolean;
|
|
||||||
emailVerified: boolean | null;
|
emailVerified: boolean | null;
|
||||||
status: WorkspaceMemberStatus;
|
status: WorkspaceMemberStatus;
|
||||||
}>;
|
}>;
|
||||||
|
|||||||
Reference in New Issue
Block a user