From 3b8f7536f3d6afd8bfadb427e5448ddd7b9086dc Mon Sep 17 00:00:00 2001 From: sheben Date: Wed, 8 Mar 2023 03:30:25 +0800 Subject: [PATCH] fix: add missing trashDate field whenever a page is moved to the trash. (#1389) Co-authored-by: himself65 --- .../blocksuite/block-suite-page-list/page-list/DateCell.tsx | 4 +++- .../blocksuite/block-suite-page-list/page-list/index.tsx | 1 + .../blocksuite/header/header-right-items/EditorOptionMenu.tsx | 2 +- apps/web/src/hooks/use-page-meta.ts | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx index 55f90e9449..254db694e7 100644 --- a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx +++ b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/DateCell.tsx @@ -19,7 +19,9 @@ export const DateCell = ({ const value = pageMeta[dateKey] ?? pageMeta[backupKey]; return ( - {value ? dayjs(value as string).format('YYYY-MM-DD HH:mm') : '--'} + {typeof value === 'number' + ? dayjs(value).format('YYYY-MM-DD HH:mm') + : '--'} ); }; diff --git a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/index.tsx b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/index.tsx index f9ec19357b..143c29de1b 100644 --- a/apps/web/src/components/blocksuite/block-suite-page-list/page-list/index.tsx +++ b/apps/web/src/components/blocksuite/block-suite-page-list/page-list/index.tsx @@ -212,6 +212,7 @@ export const PageList: React.FC = ({ onToggleTrashPage={() => { helper.setPageMeta(pageMeta.id, { trash: !pageMeta.trash, + trashDate: +new Date(), }); }} /> 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 9cc5ac4e44..322b33d60a 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 @@ -97,7 +97,7 @@ const PopoverContent = () => { data-testid="editor-option-menu-delete" onClick={() => { // fixme(himself65): regression that don't have conform dialog - setPageMeta(pageId, { trash: !trash }); + setPageMeta(pageId, { trash: !trash, trashDate: +new Date() }); toast(t('Moved to Trash')); }} icon={} diff --git a/apps/web/src/hooks/use-page-meta.ts b/apps/web/src/hooks/use-page-meta.ts index 0f514729de..0e293c820d 100644 --- a/apps/web/src/hooks/use-page-meta.ts +++ b/apps/web/src/hooks/use-page-meta.ts @@ -8,6 +8,7 @@ declare module '@blocksuite/store' { mode?: 'page' | 'edgeless'; favorite?: boolean; trash?: boolean; + trashDate?: number; } }