mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
refactor(infra): move currentPageAtom to core (#5332)
Remove `currentPageAtom` from `infra` to `frontend/core.`
This commit is contained in:
@@ -4,4 +4,3 @@ export const loadedPluginNameAtom = atom<string[]>([]);
|
|||||||
|
|
||||||
export * from './root-store';
|
export * from './root-store';
|
||||||
export * from './settings';
|
export * from './settings';
|
||||||
export * from './workspace';
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
import { atom } from 'jotai';
|
|
||||||
|
|
||||||
export const currentPageIdAtom = atom<string | null>(null);
|
|
||||||
@@ -60,6 +60,5 @@ export declare const pushLayoutAtom: WritableAtom<
|
|||||||
void
|
void
|
||||||
>;
|
>;
|
||||||
export declare const deleteLayoutAtom: WritableAtom<null, [string], void>;
|
export declare const deleteLayoutAtom: WritableAtom<null, [string], void>;
|
||||||
export declare const currentPageIdAtom: Atom<string | null>;
|
|
||||||
export declare const currentWorkspaceAtom: Atom<Promise<Workspace>>;
|
export declare const currentWorkspaceAtom: Atom<Promise<Workspace>>;
|
||||||
export declare const rootStore: ReturnType<typeof getDefaultStore>;
|
export declare const rootStore: ReturnType<typeof getDefaultStore>;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { currentPageIdAtom } from '@toeverything/infra/atom';
|
|
||||||
import { atom } from 'jotai/vanilla';
|
import { atom } from 'jotai/vanilla';
|
||||||
|
|
||||||
import { pageSettingFamily } from './index';
|
import { pageSettingFamily } from './index';
|
||||||
|
|
||||||
|
export const currentPageIdAtom = atom<string | null>(null);
|
||||||
|
|
||||||
export const currentModeAtom = atom<'page' | 'edgeless'>(get => {
|
export const currentModeAtom = atom<'page' | 'edgeless'>(get => {
|
||||||
const pageId = get(currentPageIdAtom);
|
const pageId = get(currentPageIdAtom);
|
||||||
if (!pageId) {
|
if (!pageId) {
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import {
|
|||||||
currentWorkspaceAtom,
|
currentWorkspaceAtom,
|
||||||
workspaceListAtom,
|
workspaceListAtom,
|
||||||
} from '@affine/workspace/atom';
|
} from '@affine/workspace/atom';
|
||||||
import { currentPageIdAtom } from '@toeverything/infra/atom';
|
|
||||||
import { useAtomValue } from 'jotai/react';
|
import { useAtomValue } from 'jotai/react';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useLocation, useParams } from 'react-router-dom';
|
import { useLocation, useParams } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { currentPageIdAtom } from '../../../../atoms/mode';
|
||||||
|
|
||||||
export interface DumpInfoProps {
|
export interface DumpInfoProps {
|
||||||
error: any;
|
error: any;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
useBlockSuitePageMeta,
|
useBlockSuitePageMeta,
|
||||||
usePageMetaHelper,
|
usePageMetaHelper,
|
||||||
} from '@toeverything/hooks/use-block-suite-page-meta';
|
} from '@toeverything/hooks/use-block-suite-page-meta';
|
||||||
import { currentPageIdAtom, getCurrentStore } from '@toeverything/infra/atom';
|
import { getCurrentStore } from '@toeverything/infra/atom';
|
||||||
import {
|
import {
|
||||||
type AffineCommand,
|
type AffineCommand,
|
||||||
AffineCommandRegistry,
|
AffineCommandRegistry,
|
||||||
@@ -29,6 +29,7 @@ import {
|
|||||||
recentPageIdsBaseAtom,
|
recentPageIdsBaseAtom,
|
||||||
} from '../../../atoms';
|
} from '../../../atoms';
|
||||||
import { collectionsCRUDAtom } from '../../../atoms/collections';
|
import { collectionsCRUDAtom } from '../../../atoms/collections';
|
||||||
|
import { currentPageIdAtom } from '../../../atoms/mode';
|
||||||
import { useNavigateHelper } from '../../../hooks/use-navigate-helper';
|
import { useNavigateHelper } from '../../../hooks/use-navigate-helper';
|
||||||
import { WorkspaceSubPath } from '../../../shared';
|
import { WorkspaceSubPath } from '../../../shared';
|
||||||
import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils';
|
import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils';
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom';
|
import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom';
|
||||||
import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-workspace-page';
|
import { useBlockSuiteWorkspacePage } from '@toeverything/hooks/use-block-suite-workspace-page';
|
||||||
import { currentPageIdAtom } from '@toeverything/infra/atom';
|
|
||||||
import { useAtomValue } from 'jotai';
|
import { useAtomValue } from 'jotai';
|
||||||
|
|
||||||
|
import { currentPageIdAtom } from '../../atoms/mode';
|
||||||
|
|
||||||
export const useCurrentPage = () => {
|
export const useCurrentPage = () => {
|
||||||
const currentPageId = useAtomValue(currentPageIdAtom);
|
const currentPageId = useAtomValue(currentPageIdAtom);
|
||||||
const currentWorkspace = useAtomValue(waitForCurrentWorkspaceAtom);
|
const currentWorkspace = useAtomValue(waitForCurrentWorkspaceAtom);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import type { AffineEditorContainer } from '@blocksuite/presets';
|
|||||||
import type { Page, Workspace } from '@blocksuite/store';
|
import type { Page, Workspace } from '@blocksuite/store';
|
||||||
import { useBlockSuitePageMeta } from '@toeverything/hooks/use-block-suite-page-meta';
|
import { useBlockSuitePageMeta } from '@toeverything/hooks/use-block-suite-page-meta';
|
||||||
import { useWorkspaceStatus } from '@toeverything/hooks/use-workspace-status';
|
import { useWorkspaceStatus } from '@toeverything/hooks/use-workspace-status';
|
||||||
import { appSettingAtom, currentPageIdAtom } from '@toeverything/infra/atom';
|
import { appSettingAtom } from '@toeverything/infra/atom';
|
||||||
import { useAtom, useAtomValue, useSetAtom } from 'jotai';
|
import { useAtom, useAtomValue, useSetAtom } from 'jotai';
|
||||||
import {
|
import {
|
||||||
memo,
|
memo,
|
||||||
@@ -26,7 +26,7 @@ import type { Map as YMap } from 'yjs';
|
|||||||
|
|
||||||
import { setPageModeAtom } from '../../../atoms';
|
import { setPageModeAtom } from '../../../atoms';
|
||||||
import { collectionsCRUDAtom } from '../../../atoms/collections';
|
import { collectionsCRUDAtom } from '../../../atoms/collections';
|
||||||
import { currentModeAtom } from '../../../atoms/mode';
|
import { currentModeAtom, currentPageIdAtom } from '../../../atoms/mode';
|
||||||
import { AffineErrorBoundary } from '../../../components/affine/affine-error-boundary';
|
import { AffineErrorBoundary } from '../../../components/affine/affine-error-boundary';
|
||||||
import { HubIsland } from '../../../components/affine/hub-island';
|
import { HubIsland } from '../../../components/affine/hub-island';
|
||||||
import { GlobalPageHistoryModal } from '../../../components/affine/page-history-modal';
|
import { GlobalPageHistoryModal } from '../../../components/affine/page-history-modal';
|
||||||
|
|||||||
Reference in New Issue
Block a user