mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-18 18:41:52 +08:00
fix: page meta is undefined (#2734)
(cherry picked from commit fc9a9f479b)
This commit is contained in:
@@ -80,21 +80,6 @@ export const openDisableCloudAlertModalAtom = atom(false);
|
|||||||
|
|
||||||
export { workspacesAtom } from './root';
|
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 PageMode = 'page' | 'edgeless';
|
||||||
type PageLocalSetting = {
|
type PageLocalSetting = {
|
||||||
mode: PageMode;
|
mode: PageMode;
|
||||||
|
|||||||
@@ -66,9 +66,8 @@ const EditorWrapper = memo(function EditorWrapper({
|
|||||||
const pageSettingAtom = pageSettingFamily(pageId);
|
const pageSettingAtom = pageSettingFamily(pageId);
|
||||||
const pageSetting = useAtomValue(pageSettingAtom);
|
const pageSetting = useAtomValue(pageSettingAtom);
|
||||||
const currentMode =
|
const currentMode =
|
||||||
pageSetting?.mode ?? DEFAULT_HELLO_WORLD_PAGE_ID === pageId
|
pageSetting?.mode ??
|
||||||
? 'edgeless'
|
(DEFAULT_HELLO_WORLD_PAGE_ID === pageId ? 'edgeless' : 'page');
|
||||||
: 'page';
|
|
||||||
|
|
||||||
const setEditor = useSetAtom(rootCurrentEditorAtom);
|
const setEditor = useSetAtom(rootCurrentEditorAtom);
|
||||||
assertExists(meta);
|
assertExists(meta);
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ import type { EditorContainer } from '@blocksuite/editor';
|
|||||||
import type { Page } from '@blocksuite/store';
|
import type { Page } from '@blocksuite/store';
|
||||||
import { assertExists } from '@blocksuite/store';
|
import { assertExists } from '@blocksuite/store';
|
||||||
import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-workspace-page';
|
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 { useRouter } from 'next/router';
|
||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
import { getUIAdapter } from '../../../adapters/workspace';
|
import { getUIAdapter } from '../../../adapters/workspace';
|
||||||
|
import { pageSettingFamily } from '../../../atoms';
|
||||||
import { rootCurrentWorkspaceAtom } from '../../../atoms/root';
|
import { rootCurrentWorkspaceAtom } from '../../../atoms/root';
|
||||||
import { useCurrentWorkspace } from '../../../hooks/current/use-current-workspace';
|
import { useCurrentWorkspace } from '../../../hooks/current/use-current-workspace';
|
||||||
import { useRouterHelper } from '../../../hooks/use-router-helper';
|
import { useRouterHelper } from '../../../hooks/use-router-helper';
|
||||||
@@ -24,6 +25,12 @@ const WorkspaceDetail: React.FC = () => {
|
|||||||
assertExists(currentWorkspace);
|
assertExists(currentWorkspace);
|
||||||
assertExists(currentPageId);
|
assertExists(currentPageId);
|
||||||
const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace;
|
const blockSuiteWorkspace = currentWorkspace.blockSuiteWorkspace;
|
||||||
|
const [setting, setSetting] = useAtom(pageSettingFamily(currentPageId));
|
||||||
|
if (!setting) {
|
||||||
|
setSetting({
|
||||||
|
mode: 'page',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const onLoad = useCallback(
|
const onLoad = useCallback(
|
||||||
(page: Page, editor: EditorContainer) => {
|
(page: Page, editor: EditorContainer) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user