mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
fix(core): the member list is not refreshed after operating the member status (#9115)
close AF-1939 AF-1938 fix(core): the member list is not refreshed after operating the member status chore: temporarily remove the workspace AI switch
This commit is contained in:
@@ -11,7 +11,6 @@ import { ArrowRightSmallIcon } from '@blocksuite/icons/rc';
|
||||
import { FrameworkScope } from '@toeverything/infra';
|
||||
import { useCallback } from 'react';
|
||||
|
||||
import { AiSetting } from './ai';
|
||||
import { DeleteLeaveWorkspace } from './delete-leave-workspace';
|
||||
import { EnableCloudPanel } from './enable-cloud';
|
||||
import { DesktopExportPanel } from './export';
|
||||
@@ -73,7 +72,6 @@ export const WorkspaceSettingDetail = ({
|
||||
<WorkspaceQuotaPanel />
|
||||
<MembersPanel onChangeSettingState={onChangeSettingState} />
|
||||
</SettingWrapper>
|
||||
<AiSetting />
|
||||
<SharingPanel />
|
||||
{BUILD_CONFIG.isElectron && (
|
||||
<SettingWrapper title={t['Storage and Export']()}>
|
||||
|
||||
@@ -8,7 +8,10 @@ import { SettingRow } from '@affine/component/setting-components';
|
||||
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
||||
import { Upload } from '@affine/core/components/pure/file-upload';
|
||||
import { ServerService, SubscriptionService } from '@affine/core/modules/cloud';
|
||||
import { WorkspacePermissionService } from '@affine/core/modules/permissions';
|
||||
import {
|
||||
WorkspaceMembersService,
|
||||
WorkspacePermissionService,
|
||||
} from '@affine/core/modules/permissions';
|
||||
import { WorkspaceQuotaService } from '@affine/core/modules/quota';
|
||||
import { copyTextToClipboard } from '@affine/core/utils/clipboard';
|
||||
import { emailRegex } from '@affine/core/utils/email-regex';
|
||||
@@ -50,6 +53,7 @@ export const CloudWorkspaceMembersPanel = ({
|
||||
const hasPaymentFeature = useLiveData(
|
||||
serverService.server.features$.map(f => f?.payment)
|
||||
);
|
||||
const membersService = useService(WorkspaceMembersService);
|
||||
const permissionService = useService(WorkspacePermissionService);
|
||||
const isOwner = useLiveData(permissionService.permission.isOwner$);
|
||||
const isAdmin = useLiveData(permissionService.permission.isAdmin$);
|
||||
@@ -111,10 +115,11 @@ export const CloudWorkspaceMembersPanel = ({
|
||||
message: t['Invitation sent hint'](),
|
||||
});
|
||||
setOpen(false);
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
setIsMutating(false);
|
||||
},
|
||||
[permissionService.permission, t]
|
||||
[membersService.members, permissionService.permission, t]
|
||||
);
|
||||
|
||||
const onImportCSV = useAsyncCallback(
|
||||
|
||||
@@ -116,6 +116,7 @@ const MemberItem = ({
|
||||
const t = useI18n();
|
||||
const [open, setOpen] = useState(false);
|
||||
const [inputValue, setInputValue] = useState('');
|
||||
const membersService = useService(WorkspaceMembersService);
|
||||
const workspace = useService(WorkspaceService).workspace;
|
||||
const workspaceName = useLiveData(workspace.name$);
|
||||
const permission = useService(WorkspacePermissionService).permission;
|
||||
@@ -139,6 +140,7 @@ const MemberItem = ({
|
||||
name: member.name || member.email || member.id,
|
||||
}),
|
||||
});
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -147,7 +149,7 @@ const MemberItem = ({
|
||||
message: error.message,
|
||||
});
|
||||
});
|
||||
}, [permission, member, t]);
|
||||
}, [permission, member, t, membersService]);
|
||||
|
||||
const memberStatus = useMemo(() => getMemberStatus(member), [member]);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { MenuItem, notify, useConfirmModal } from '@affine/component';
|
||||
import {
|
||||
type Member,
|
||||
WorkspaceMembersService,
|
||||
WorkspacePermissionService,
|
||||
} from '@affine/core/modules/permissions';
|
||||
import { Permission, WorkspaceMemberStatus } from '@affine/graphql';
|
||||
@@ -20,6 +21,7 @@ export const MemberOptions = ({
|
||||
openAssignModal: () => void;
|
||||
}) => {
|
||||
const t = useI18n();
|
||||
const membersService = useService(WorkspaceMembersService);
|
||||
const permission = useService(WorkspacePermissionService).permission;
|
||||
const { openConfirmModal } = useConfirmModal();
|
||||
|
||||
@@ -44,6 +46,7 @@ export const MemberOptions = ({
|
||||
title: successNotify.title,
|
||||
message: successNotify.message,
|
||||
});
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -54,7 +57,7 @@ export const MemberOptions = ({
|
||||
}),
|
||||
});
|
||||
},
|
||||
[member.id, openConfirmModal, permission, t]
|
||||
[member, membersService, openConfirmModal, permission, t]
|
||||
);
|
||||
|
||||
const handleAssignOwner = useCallback(() => {
|
||||
@@ -83,6 +86,7 @@ export const MemberOptions = ({
|
||||
}
|
||||
),
|
||||
});
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -91,7 +95,7 @@ export const MemberOptions = ({
|
||||
message: error.message,
|
||||
});
|
||||
});
|
||||
}, [member, permission, t]);
|
||||
}, [member, membersService, permission, t]);
|
||||
|
||||
const handleDecline = useCallback(() => {
|
||||
openRemoveConfirmModal({
|
||||
@@ -124,6 +128,7 @@ export const MemberOptions = ({
|
||||
name: member.name || member.email || member.id,
|
||||
}),
|
||||
});
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -132,7 +137,7 @@ export const MemberOptions = ({
|
||||
message: error.message,
|
||||
});
|
||||
});
|
||||
}, [member, permission, t]);
|
||||
}, [member, membersService, permission, t]);
|
||||
const handleChangeToCollaborator = useCallback(() => {
|
||||
permission
|
||||
.adjustMemberPermission(member.id, Permission.Write)
|
||||
@@ -146,6 +151,7 @@ export const MemberOptions = ({
|
||||
name: member.name || member.email || member.id,
|
||||
}),
|
||||
});
|
||||
membersService.members.revalidate();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -154,7 +160,7 @@ export const MemberOptions = ({
|
||||
message: error.message,
|
||||
});
|
||||
});
|
||||
}, [member, permission, t]);
|
||||
}, [member, membersService, permission, t]);
|
||||
|
||||
const operationButtonInfo = useMemo(() => {
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user