diff --git a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/OperationCell.tsx b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/OperationCell.tsx index d391fca815..513860ddf7 100644 --- a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/OperationCell.tsx +++ b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/OperationCell.tsx @@ -26,6 +26,7 @@ export type OperationCellProps = { onToggleFavoritePage: (pageId: string) => void; onToggleTrashPage: (pageId: string) => void; }; + export const OperationCell: React.FC = ({ pageMeta, onOpenPageInNewTab, @@ -119,9 +120,6 @@ export const TrashOperationCell: React.FC = ({ onOpenPage, }) => { const { id, title } = pageMeta; - // const { openPage, getPageMeta } = usePageHelper(); - // const { toggleDeletePage, permanentlyDeletePage } = usePageHelper(); - // const confirm = useConfirm(store => store.confirm); const { t } = useTranslation(); const [open, setOpen] = useState(false); return ( diff --git a/apps/web/src/components/blocksuite/header/header-right-items/EditorOptionMenu.tsx b/apps/web/src/components/blocksuite/header/header-right-items/EditorOptionMenu.tsx index 0ad01af357..052e13568a 100644 --- a/apps/web/src/components/blocksuite/header/header-right-items/EditorOptionMenu.tsx +++ b/apps/web/src/components/blocksuite/header/header-right-items/EditorOptionMenu.tsx @@ -1,5 +1,5 @@ // fixme(himself65): refactor this file -import { Menu, MenuItem } from '@affine/component'; +import { Confirm, FlexWrapper, Menu, MenuItem } from '@affine/component'; import { IconButton } from '@affine/component'; import { toast } from '@affine/component'; import { useTranslation } from '@affine/i18n'; @@ -14,6 +14,7 @@ import { } from '@blocksuite/icons'; import { assertExists } from '@blocksuite/store'; import { useTheme } from '@mui/material'; +import { useState } from 'react'; import { useCurrentPageId } from '../../../../hooks/current/use-current-page-id'; import { useCurrentWorkspace } from '../../../../hooks/current/use-current-workspace'; @@ -23,7 +24,7 @@ import { } from '../../../../hooks/use-page-meta'; import { EdgelessIcon, PaperIcon } from '../editor-mode-switch/Icons'; -const PopoverContent = () => { +export const EditorOptionMenu = () => { const { t } = useTranslation(); const theme = useTheme(); @@ -39,9 +40,9 @@ const PopoverContent = () => { assertExists(pageMeta); const { mode = 'page', favorite, trash } = pageMeta; const { setPageMeta } = usePageMetaHelper(blockSuiteWorkspace); - // + const [open, setOpen] = useState(false); - return ( + const EditMenu = ( <> { { - // fixme(himself65): regression that don't have conform dialog - setPageMeta(pageId, { trash: !trash, trashDate: +new Date() }); - toast(t('Moved to Trash')); + setOpen(true); }} icon={} > @@ -115,14 +114,41 @@ const PopoverContent = () => { ); -}; -export const EditorOptionMenu = () => { return ( - } placement="bottom-end" trigger="click"> - - - - + <> + + + + + + + + { + toast(t('Moved to Trash')); + setOpen(false); + setPageMeta(pageId, { trash: !trash, trashDate: +new Date() }); + }} + onClose={() => { + setOpen(false); + }} + onCancel={() => { + setOpen(false); + }} + /> + ); };