diff --git a/apps/web/src/atoms/index.ts b/apps/web/src/atoms/index.ts index 55c536a693..32e7cd545b 100644 --- a/apps/web/src/atoms/index.ts +++ b/apps/web/src/atoms/index.ts @@ -80,21 +80,6 @@ export const openDisableCloudAlertModalAtom = atom(false); export { workspacesAtom } from './root'; -type View = { - id: string; - /** - * @deprecated Use `mode` from `useWorkspacePreferredMode` instead. - */ - mode: 'page' | 'edgeless'; -}; - -export type WorkspaceRecentViews = Record; - -export const workspaceRecentViewsAtom = atomWithStorage( - 'recentViews', - {} -); - type PageMode = 'page' | 'edgeless'; type PageLocalSetting = { mode: PageMode; diff --git a/apps/web/src/components/page-detail-editor.tsx b/apps/web/src/components/page-detail-editor.tsx index c440141b7a..27ba058d4a 100644 --- a/apps/web/src/components/page-detail-editor.tsx +++ b/apps/web/src/components/page-detail-editor.tsx @@ -66,9 +66,8 @@ const EditorWrapper = memo(function EditorWrapper({ const pageSettingAtom = pageSettingFamily(pageId); const pageSetting = useAtomValue(pageSettingAtom); const currentMode = - pageSetting?.mode ?? DEFAULT_HELLO_WORLD_PAGE_ID === pageId - ? 'edgeless' - : 'page'; + pageSetting?.mode ?? + (DEFAULT_HELLO_WORLD_PAGE_ID === pageId ? 'edgeless' : 'page'); const setEditor = useSetAtom(rootCurrentEditorAtom); assertExists(meta); diff --git a/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx b/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx index f449efd382..e1fb315fb3 100644 --- a/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx +++ b/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx @@ -4,12 +4,13 @@ import type { EditorContainer } from '@blocksuite/editor'; import type { Page } from '@blocksuite/store'; import { assertExists } from '@blocksuite/store'; import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-workspace-page'; -import { useAtomValue } from 'jotai'; +import { useAtom, useAtomValue } from 'jotai'; import { useRouter } from 'next/router'; import type React from 'react'; import { useCallback } from 'react'; import { getUIAdapter } from '../../../adapters/workspace'; +import { pageSettingFamily } from '../../../atoms'; import { rootCurrentWorkspaceAtom } from '../../../atoms/root'; import { useCurrentWorkspace } from '../../../hooks/current/use-current-workspace'; import { useRouterHelper } from '../../../hooks/use-router-helper'; @@ -24,6 +25,12 @@ const WorkspaceDetail: React.FC = () => { assertExists(currentWorkspace); assertExists(currentPageId); const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace; + const [setting, setSetting] = useAtom(pageSettingFamily(currentPageId)); + if (!setting) { + setSetting({ + mode: 'page', + }); + } const onLoad = useCallback( (page: Page, editor: EditorContainer) => {