fix: page meta is undefined (#2734)

This commit is contained in:
Himself65
2023-06-09 01:19:16 +08:00
committed by GitHub
parent 227174db1b
commit fc9a9f479b
3 changed files with 10 additions and 19 deletions

View File

@@ -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<string, View[]>;
export const workspaceRecentViewsAtom = atomWithStorage<WorkspaceRecentViews>(
'recentViews',
{}
);
type PageMode = 'page' | 'edgeless';
type PageLocalSetting = {
mode: PageMode;

View File

@@ -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);

View File

@@ -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) => {