From 7e4df4c3d1842cc82a4506c1e703de56b7151265 Mon Sep 17 00:00:00 2001 From: Peng Xiao Date: Wed, 2 Aug 2023 12:29:49 +0800 Subject: [PATCH] fix: stackoverflow issue in empty page (#3518) --- .../blocksuite/block-suite-page-list/index.tsx | 16 ++++++++++------ packages/i18n/src/resources/zh-Hans.json | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/core/src/components/blocksuite/block-suite-page-list/index.tsx b/apps/core/src/components/blocksuite/block-suite-page-list/index.tsx index 5e9e7264f1..7b1ec4b3c5 100644 --- a/apps/core/src/components/blocksuite/block-suite-page-list/index.tsx +++ b/apps/core/src/components/blocksuite/block-suite-page-list/index.tsx @@ -12,7 +12,7 @@ import { useBlockSuitePagePreview } from '@toeverything/hooks/use-block-suite-pa import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-workspace-page'; import { useAtom, useAtomValue } from 'jotai'; import type React from 'react'; -import { Suspense, useMemo } from 'react'; +import { Suspense, useCallback, useMemo } from 'react'; import { allPageModeSelectAtom } from '../../../atoms'; import { useBlockSuiteMetaHelper } from '../../../hooks/affine/use-block-suite-meta-helper'; @@ -70,16 +70,20 @@ const PagePreview = ({ }; const PageListEmpty = (props: { - createPage?: () => void; + createPage?: ReturnType['createPage']; listType: BlockSuitePageListProps['listType']; }) => { const { listType, createPage } = props; const t = useAFFiNEI18N(); + const onCreatePage = useCallback(() => { + createPage?.(); + }, [createPage]); + const getEmptyDescription = () => { if (listType === 'all') { - const CreateNewPageButton = () => ( - ); @@ -87,7 +91,7 @@ const PageListEmpty = (props: { const shortcut = environment.isMacOs ? '⌘ + N' : 'Ctrl + N'; return ( - Click on the button Or press + Click on the {createNewPageButton} button Or press {{ shortcut } as any} to create your first page. @@ -96,7 +100,7 @@ const PageListEmpty = (props: { return ( Click on the - + {createNewPageButton} button to create your first page. ); diff --git a/packages/i18n/src/resources/zh-Hans.json b/packages/i18n/src/resources/zh-Hans.json index 796f625ed2..8c3389c704 100644 --- a/packages/i18n/src/resources/zh-Hans.json +++ b/packages/i18n/src/resources/zh-Hans.json @@ -199,7 +199,7 @@ "Workspace description": "工作区是为个人和团队进行引用、创建和规划的虚拟空间。", "Workspace Settings": "工作区设置", "Workspace Name": "工作区名称", - "emptyAllPages": "此工作区为空。创建新页面并开始编辑。", + "emptyAllPages": "此工作区为空。<1>$t(New Page)并开始编辑。", "emptyFavorite": "单击“添加到收藏夹”,页面将显示在此处。", "emptyTrash": "单击“添加到垃圾箱”,页面将显示在此处。", "login success": "登录成功",