diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/sharing.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/sharing.tsx index 7cd74250e..614495a33 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/sharing.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/sharing.tsx @@ -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 (