mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
chore: temporarily hide link invitation (#9193)
close AF-1992 AF-1995 AF-1979 AF-1997 chore: temporarily hide link invitation fix(core): only team workspace can assign admin fix(core): member options in member list do not match expectations
This commit is contained in:
@@ -102,6 +102,30 @@ export const MemberList = ({
|
||||
);
|
||||
};
|
||||
|
||||
const getShouldShow = ({
|
||||
member,
|
||||
currentAccountId,
|
||||
isOwner,
|
||||
isAdmin,
|
||||
}: {
|
||||
member: Member;
|
||||
currentAccountId: string;
|
||||
isOwner: boolean;
|
||||
isAdmin: boolean;
|
||||
}) => {
|
||||
if (
|
||||
member.id === currentAccountId ||
|
||||
member.permission === Permission.Owner
|
||||
) {
|
||||
return false;
|
||||
} else if (isOwner) {
|
||||
return true;
|
||||
} else if (isAdmin) {
|
||||
return member.permission !== Permission.Admin;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
const MemberItem = ({
|
||||
member,
|
||||
isOwner,
|
||||
@@ -122,7 +146,16 @@ const MemberItem = ({
|
||||
const permission = useService(WorkspacePermissionService).permission;
|
||||
const isEquals = workspaceName === inputValue;
|
||||
|
||||
const show = isOwner && currentAccount.id !== member.id;
|
||||
const show = useMemo(
|
||||
() =>
|
||||
getShouldShow({
|
||||
member,
|
||||
currentAccountId: currentAccount.id,
|
||||
isOwner,
|
||||
isAdmin,
|
||||
}),
|
||||
[member, currentAccount, isOwner, isAdmin]
|
||||
);
|
||||
|
||||
const handleOpenAssignModal = useCallback(() => {
|
||||
setInputValue('');
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '@affine/core/modules/permissions';
|
||||
import { Permission, WorkspaceMemberStatus } from '@affine/graphql';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import { useService } from '@toeverything/infra';
|
||||
import { useLiveData, useService } from '@toeverything/infra';
|
||||
import { useCallback, useMemo } from 'react';
|
||||
|
||||
export const MemberOptions = ({
|
||||
@@ -23,6 +23,7 @@ export const MemberOptions = ({
|
||||
const t = useI18n();
|
||||
const membersService = useService(WorkspaceMembersService);
|
||||
const permission = useService(WorkspacePermissionService).permission;
|
||||
const isTeam = useLiveData(permission.isTeam$);
|
||||
const { openConfirmModal } = useConfirmModal();
|
||||
|
||||
const openRemoveConfirmModal = useCallback(
|
||||
@@ -207,6 +208,7 @@ export const MemberOptions = ({
|
||||
label: t['com.affine.payment.member.team.change.admin'](),
|
||||
onClick: handleChangeToAdmin,
|
||||
show:
|
||||
isTeam &&
|
||||
isOwner &&
|
||||
member.permission !== Permission.Owner &&
|
||||
member.permission !== Permission.Admin &&
|
||||
@@ -228,6 +230,7 @@ export const MemberOptions = ({
|
||||
handleRevoke,
|
||||
isAdmin,
|
||||
isOwner,
|
||||
isTeam,
|
||||
member,
|
||||
t,
|
||||
]);
|
||||
|
||||
@@ -42,11 +42,6 @@ export class Subscription extends Entity {
|
||||
? subscriptions.find(sub => sub.plan === SubscriptionPlan.AI)
|
||||
: null
|
||||
);
|
||||
team$ = this.subscription$.map(subscriptions =>
|
||||
subscriptions
|
||||
? subscriptions.find(sub => sub.plan === SubscriptionPlan.Team)
|
||||
: null
|
||||
);
|
||||
isBeliever$ = this.pro$.map(
|
||||
sub => sub?.recurring === SubscriptionRecurring.Lifetime
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user