fix(core): workspace sharing settings should not be displayed when there is no permission (#8285)

close AF-1222
This commit is contained in:
JimmFly
2024-09-18 07:36:05 +00:00
parent fab23d226d
commit af5b9a3a23
2 changed files with 8 additions and 4 deletions

View File

@@ -4,6 +4,7 @@ import {
SettingWrapper,
} from '@affine/component/setting-components';
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
import { WorkspacePermissionService } from '@affine/core/modules/permissions';
import { WorkspaceShareSettingService } from '@affine/core/modules/share-setting';
import { WorkspaceFlavour } from '@affine/env/workspace';
import { useI18n } from '@affine/i18n';
@@ -22,6 +23,8 @@ export const Sharing = () => {
const shareSetting = useService(WorkspaceShareSettingService).sharePreview;
const enableUrlPreview = useLiveData(shareSetting.enableUrlPreview$);
const loading = useLiveData(shareSetting.isLoading$);
const permissionService = useService(WorkspacePermissionService);
const isOwner = useLiveData(permissionService.permission.isOwner$);
const handleCheck = useAsyncCallback(
async (checked: boolean) => {
@@ -30,6 +33,10 @@ export const Sharing = () => {
[shareSetting]
);
if (!isOwner) {
return null;
}
return (
<SettingWrapper title={t['com.affine.settings.workspace.sharing.title']()}>
<SettingRow