From 920afa7bf1bedb4a4819f9e78857f55af7f50f77 Mon Sep 17 00:00:00 2001 From: JimmFly Date: Fri, 23 Aug 2024 02:07:51 +0000 Subject: [PATCH] feat(core): adjust share menu ui (#7931) https://github.com/user-attachments/assets/6538c046-3872-4c98-a389-81b86a2978a4 --- .../components/disable-public-link/index.tsx | 22 --------- .../share-menu/share-page.tsx | 47 +++---------------- .../components/page-list/operation-cell.tsx | 11 +---- .../disable-public-sharing.tsx | 3 -- 4 files changed, 9 insertions(+), 74 deletions(-) delete mode 100644 packages/frontend/component/src/components/disable-public-link/index.tsx diff --git a/packages/frontend/component/src/components/disable-public-link/index.tsx b/packages/frontend/component/src/components/disable-public-link/index.tsx deleted file mode 100644 index 08becbde58..0000000000 --- a/packages/frontend/component/src/components/disable-public-link/index.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useI18n } from '@affine/i18n'; - -import type { ConfirmModalProps } from '../../ui/modal'; -import { ConfirmModal } from '../../ui/modal'; - -export const PublicLinkDisableModal = (props: ConfirmModalProps) => { - const t = useI18n(); - - return ( - - ); -}; diff --git a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx index 03a2ec722c..559b244342 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx @@ -1,5 +1,4 @@ import { notify, Skeleton } from '@affine/component'; -import { PublicLinkDisableModal } from '@affine/component/disable-public-link'; import { Button } from '@affine/component/ui/button'; import { Menu, MenuItem, MenuTrigger } from '@affine/component/ui/menu'; import { openSettingModalAtom } from '@affine/core/atoms'; @@ -14,10 +13,10 @@ import { WorkspaceFlavour } from '@affine/env/workspace'; import { PublicPageMode } from '@affine/graphql'; import { useI18n } from '@affine/i18n'; import { + BlockIcon, CollaborationIcon, DoneIcon, EdgelessIcon, - LinkIcon, LockIcon, PageIcon, SingleSelectSelectSolidIcon, @@ -26,7 +25,7 @@ import { import { useLiveData, useService } from '@toeverything/infra'; import { cssVar } from '@toeverything/theme'; import { useSetAtom } from 'jotai'; -import { Suspense, useCallback, useEffect, useState } from 'react'; +import { Suspense, useCallback, useEffect } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import { CloudSvg } from '../cloud-svg'; @@ -75,9 +74,6 @@ export const AFFiNESharePage = (props: ShareMenuProps) => { const baseUrl = useLiveData(serverConfig.config$.map(c => c?.baseUrl)); const isLoading = isSharedPage === null || sharedMode === null || baseUrl === null; - const [showDisable, setShowDisable] = useState(false); - - const currentDocMode = useLiveData(editor.mode$); const permissionService = useService(WorkspacePermissionService); const isOwner = useLiveData(permissionService.permission.isOwner$); @@ -152,15 +148,8 @@ export const AFFiNESharePage = (props: ShareMenuProps) => { }); console.log(err); } - setShowDisable(false); }, [shareInfoService, t]); - const onClickDisable = useCallback(() => { - if (isSharedPage) { - setShowDisable(true); - } - }, [isSharedPage]); - const isMac = environment.isBrowser && environment.isMacOs; const { onClickCopyLink } = useSharingUrl({ @@ -207,7 +196,7 @@ export const AFFiNESharePage = (props: ShareMenuProps) => { }} items={ <> - } onSelect={onClickDisable}> + } onSelect={onDisablePublic}>
{t['com.affine.share-menu.option.link.no-access']()} @@ -248,20 +237,9 @@ export const AFFiNESharePage = (props: ShareMenuProps) => {
{t['com.affine.share-menu.option.permission.label']()}
- - {t['com.affine.share-menu.option.permission.can-edit']()} - - } - > - - {t['com.affine.share-menu.option.permission.can-edit']()} - - +
{isOwner && ( @@ -307,14 +285,9 @@ export const AFFiNESharePage = (props: ShareMenuProps) => { > {t['com.affine.share-menu.copy.edgeless']()}
- } onSelect={onCopyBlockLink}> + } onSelect={onCopyBlockLink}> {t['com.affine.share-menu.copy.block']()} - {currentDocMode === 'edgeless' && ( - } onSelect={onCopyBlockLink}> - {t['com.affine.share-menu.copy.frame']()} - - )} } > @@ -327,12 +300,6 @@ export const AFFiNESharePage = (props: ShareMenuProps) => { /> - - ); }; diff --git a/packages/frontend/core/src/components/page-list/operation-cell.tsx b/packages/frontend/core/src/components/page-list/operation-cell.tsx index ff887a6c65..9ab7e17215 100644 --- a/packages/frontend/core/src/components/page-list/operation-cell.tsx +++ b/packages/frontend/core/src/components/page-list/operation-cell.tsx @@ -81,7 +81,6 @@ export const PageOperationCell = ({ ); const currentWorkspace = workspaceService.workspace; const { setTrashModal } = useTrashModalHelper(currentWorkspace.docCollection); - const [openDisableShared, setOpenDisableShared] = useState(false); const favourite = useLiveData(favAdapter.isFavorite$(page.id, 'doc')); const workbench = workbenchService.workbench; const { duplicate } = useBlockSuiteMetaHelper(currentWorkspace.docCollection); @@ -94,6 +93,7 @@ export const PageOperationCell = ({ }, []); const onDisablePublicSharing = useCallback(() => { + //TODO(@EYHN): implement disable public sharing toast('Successfully disabled', { portal: document.body, }); @@ -154,9 +154,7 @@ export const PageOperationCell = ({ {page.isPublic && ( { - setOpenDisableShared(true); - }} + onSelect={onDisablePublicSharing} /> )} {isInAllowList && ( @@ -227,11 +225,6 @@ export const PageOperationCell = ({ docId={blocksuiteDoc.id} /> ) : null} - ); }; diff --git a/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx b/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx index 9fc9d7f7af..972c0bb996 100644 --- a/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx +++ b/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx @@ -1,6 +1,5 @@ import type { MenuItemProps } from '@affine/component'; import { MenuItem } from '@affine/component'; -import { PublicLinkDisableModal } from '@affine/component/disable-public-link'; import { useI18n } from '@affine/i18n'; import { ShareIcon } from '@blocksuite/icons/rc'; @@ -12,5 +11,3 @@ export const DisablePublicSharing = (props: MenuItemProps) => { ); }; - -DisablePublicSharing.DisablePublicSharingModal = PublicLinkDisableModal;