diff --git a/packages/frontend/core/src/atoms/collections.ts b/packages/frontend/core/src/atoms/collections.ts index 2f0f9a85f9..75bbddf0ea 100644 --- a/packages/frontend/core/src/atoms/collections.ts +++ b/packages/frontend/core/src/atoms/collections.ts @@ -2,11 +2,11 @@ import type { CollectionsCRUD, CollectionsCRUDAtom, } from '@affine/component/page-list'; -import type { Collection, DeprecatedCollection } from '@affine/env/filter'; import { currentWorkspaceAtom, waitForCurrentWorkspaceAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import type { Collection, DeprecatedCollection } from '@affine/env/filter'; import { DisposableGroup } from '@blocksuite/global/utils'; import type { Workspace } from '@blocksuite/store'; import { type DBSchema, openDB } from 'idb'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx index 7297885c3d..d19bb773ff 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx @@ -1,7 +1,7 @@ import { currentWorkspaceAtom, workspaceListAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; import { useAtomValue } from 'jotai/react'; import { useEffect } from 'react'; import { useLocation, useParams } from 'react-router-dom'; diff --git a/packages/frontend/core/src/components/affine/awareness/index.tsx b/packages/frontend/core/src/components/affine/awareness/index.tsx index 6854640917..7d2a02e7ab 100644 --- a/packages/frontend/core/src/components/affine/awareness/index.tsx +++ b/packages/frontend/core/src/components/affine/awareness/index.tsx @@ -1,4 +1,4 @@ -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAtomValue } from 'jotai'; import { Suspense, useEffect } from 'react'; diff --git a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx index 5f33f4cb69..ca80f0f97f 100644 --- a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx @@ -5,11 +5,11 @@ import { Modal, } from '@affine/component/ui/modal'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import { DebugLogger } from '@affine/debug'; import { apis } from '@affine/electron-api'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import { getCurrentStore } from '@toeverything/infra/atom'; import { buildShowcaseWorkspace, diff --git a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx index 12b977f8c0..30209483ea 100644 --- a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx +++ b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx @@ -7,8 +7,8 @@ import { Button } from '@affine/component/ui/button'; import { ConfirmModal, Modal } from '@affine/component/ui/modal'; import type { PageMode } from '@affine/core/atoms'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { ToggleCollapseIcon } from '@blocksuite/icons'; import type { Page, Workspace } from '@blocksuite/store'; import * as Collapsible from '@radix-ui/react-collapsible'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx index 42be1a06f1..d29069803e 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx @@ -6,13 +6,13 @@ import { Avatar } from '@affine/component/ui/avatar'; import { Tooltip } from '@affine/component/ui/tooltip'; import { useWorkspaceBlobObjectUrl } from '@affine/core/hooks/use-workspace-blob'; import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; -import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import type { WorkspaceMetadata } from '@affine/workspace'; import { waitForCurrentWorkspaceAtom, workspaceListAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; +import type { WorkspaceMetadata } from '@affine/workspace'; import { Logo1Icon } from '@blocksuite/icons'; import clsx from 'clsx'; import { useAtom, useAtomValue } from 'jotai/react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx index ce1c1787a4..dd3964bdca 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx @@ -2,13 +2,13 @@ import { pushNotificationAtom } from '@affine/component/notification-center'; import { SettingRow } from '@affine/component/setting-components'; import { ConfirmModal } from '@affine/component/ui/modal'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; -import { WorkspaceSubPath } from '@affine/env/workspace'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { currentWorkspaceAtom, workspaceListAtom, workspaceManagerAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { WorkspaceSubPath } from '@affine/env/workspace'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowRightSmallIcon } from '@blocksuite/icons'; import { useAtomValue, useSetAtom } from 'jotai'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx index 63ac79123f..938eabdc80 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx @@ -2,11 +2,11 @@ import { SettingRow } from '@affine/component/setting-components'; import { Button } from '@affine/component/ui/button'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; import { WorkspaceFlavour, WorkspaceSubPath } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { Workspace } from '@affine/workspace'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import { useAtomValue, useSetAtom } from 'jotai'; import { useState } from 'react'; diff --git a/packages/frontend/core/src/components/affine/share-page-modal/index.tsx b/packages/frontend/core/src/components/affine/share-page-modal/index.tsx index caca30b37c..2a7cca033e 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/index.tsx @@ -1,7 +1,7 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; import type { Workspace } from '@affine/workspace'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import type { Page } from '@blocksuite/store'; import { useAtomValue } from 'jotai'; import { useState } from 'react'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header-title/operation-menu.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-header-title/operation-menu.tsx index 91aa8269bb..dac01089c6 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header-title/operation-menu.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-header-title/operation-menu.tsx @@ -6,9 +6,9 @@ import { MenuSeparator, } from '@affine/component/ui/menu'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { assertExists } from '@blocksuite/global/utils'; import { DuplicateIcon, diff --git a/packages/frontend/core/src/components/pure/cmdk/data.tsx b/packages/frontend/core/src/components/pure/cmdk/data.tsx index e6b7e14c73..d37d08aeb7 100644 --- a/packages/frontend/core/src/components/pure/cmdk/data.tsx +++ b/packages/frontend/core/src/components/pure/cmdk/data.tsx @@ -4,12 +4,12 @@ import { useBlockSuitePageMeta, usePageMetaHelper, } from '@affine/core/hooks/use-block-suite-page-meta'; -import type { Collection } from '@affine/env/filter'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { currentWorkspaceAtom, waitForCurrentWorkspaceAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import type { Collection } from '@affine/env/filter'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { EdgelessIcon, PageIcon, ViewLayersIcon } from '@blocksuite/icons'; import type { Page, PageMeta } from '@blocksuite/store'; import { getCurrentStore } from '@toeverything/infra/atom'; diff --git a/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx b/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx index f0e7ee6d35..739cc5f635 100644 --- a/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx +++ b/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx @@ -2,9 +2,9 @@ import { Button } from '@affine/component/ui/button'; import { ConfirmModal } from '@affine/component/ui/modal'; import { Tooltip } from '@affine/component/ui/tooltip'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceSubPath } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { assertExists } from '@blocksuite/global/utils'; import { DeleteIcon, ResetIcon } from '@blocksuite/icons'; import { useAtomValue } from 'jotai'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx index be23bda1f9..e76bf53f15 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx @@ -1,11 +1,11 @@ import { Divider } from '@affine/component/ui/divider'; import { MenuItem } from '@affine/component/ui/menu'; -import { Unreachable } from '@affine/env/constant'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { workspaceListAtom, workspaceManagerAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { Unreachable } from '@affine/env/constant'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { Logo1Icon } from '@blocksuite/icons'; import { useAtomValue, useSetAtom } from 'jotai'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx index f3e9cb00a9..5208c995b5 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx @@ -5,13 +5,13 @@ import { useWorkspaceAvatar, useWorkspaceName, } from '@affine/core/hooks/use-workspace-info'; -import { WorkspaceFlavour, WorkspaceSubPath } from '@affine/env/workspace'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import type { WorkspaceMetadata } from '@affine/workspace'; import { currentWorkspaceAtom, workspaceListAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { WorkspaceFlavour, WorkspaceSubPath } from '@affine/env/workspace'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; +import type { WorkspaceMetadata } from '@affine/workspace'; import type { DragEndEvent } from '@dnd-kit/core'; import { useAtomValue, useSetAtom } from 'jotai'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx index bc6bbe0340..4f9db66498 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx @@ -3,10 +3,10 @@ import { Loading } from '@affine/component/ui/loading'; import { Tooltip } from '@affine/component/ui/tooltip'; import { useWorkspaceBlobObjectUrl } from '@affine/core/hooks/use-workspace-blob'; import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { type SyncEngineStatus, SyncEngineStep } from '@affine/workspace'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { CloudWorkspaceIcon, InformationFillDuotoneIcon, diff --git a/packages/frontend/core/src/components/top-tip.tsx b/packages/frontend/core/src/components/top-tip.tsx index 695c56c10e..4caca6b19d 100644 --- a/packages/frontend/core/src/components/top-tip.tsx +++ b/packages/frontend/core/src/components/top-tip.tsx @@ -1,11 +1,11 @@ import { BrowserWarning } from '@affine/component/affine-banner'; import { LocalDemoTips } from '@affine/component/affine-banner'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { Workspace } from '@affine/workspace'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import { useAtomValue, useSetAtom } from 'jotai'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx b/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx index 87f0834727..a93fb73dce 100644 --- a/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx +++ b/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx @@ -1,17 +1,17 @@ import { AffineShapeIcon } from '@affine/component/page-list'; // TODO: import from page-list temporarily, need to defined common svg icon/images management. import { Button } from '@affine/component/ui/button'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { useWorkspaceStatus } from '@affine/core/hooks/use-workspace-status'; -import { WorkspaceSubPath } from '@affine/env/workspace'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { waitForCurrentWorkspaceAtom, workspaceManagerAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { WorkspaceSubPath } from '@affine/env/workspace'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useAtomValue } from 'jotai'; import { useState } from 'react'; -import { useNavigateHelper } from '../../hooks/use-navigate-helper'; import * as styles from './upgrade.css'; import { ArrowCircleIcon, HeartBreakIcon } from './upgrade-icon'; diff --git a/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx b/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx index c1f3a13fe0..803992507c 100644 --- a/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx +++ b/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx @@ -4,8 +4,8 @@ import { FavoriteTag, } from '@affine/component/page-list'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import type { PageMeta } from '@blocksuite/store'; import { useAtomValue } from 'jotai'; import { useCallback, useMemo } from 'react'; diff --git a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx index 8e632d34b1..afd030693b 100644 --- a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx +++ b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx @@ -1,8 +1,8 @@ import { toast } from '@affine/component'; import { usePageMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { assertExists } from '@blocksuite/global/utils'; import { EdgelessIcon, HistoryIcon, PageIcon } from '@blocksuite/icons'; import { diff --git a/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts b/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts index b4c657a8c1..0ad0231dc1 100644 --- a/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts +++ b/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts @@ -1,8 +1,8 @@ import { toast } from '@affine/component'; import type { DraggableTitleCellData } from '@affine/component/page-list'; import { usePageMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import type { DragEndEvent, UniqueIdentifier } from '@dnd-kit/core'; import { useAtomValue } from 'jotai'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/hooks/current/use-current-page.ts b/packages/frontend/core/src/hooks/current/use-current-page.ts index 11dcf80794..9d1ceb9b8c 100644 --- a/packages/frontend/core/src/hooks/current/use-current-page.ts +++ b/packages/frontend/core/src/hooks/current/use-current-page.ts @@ -1,5 +1,5 @@ import { useBlockSuiteWorkspacePage } from '@affine/core/hooks/use-block-suite-workspace-page'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAtomValue } from 'jotai'; import { currentPageIdAtom } from '../../atoms/mode'; diff --git a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts index b10fe3bf65..379a6ea9d8 100644 --- a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts +++ b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts @@ -1,5 +1,5 @@ +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { useAtom, useAtomValue, useStore } from 'jotai'; import { useTheme } from 'next-themes'; import { useEffect } from 'react'; diff --git a/packages/frontend/core/src/hooks/use-workspace-blob.ts b/packages/frontend/core/src/hooks/use-workspace-blob.ts index 9fe8fb5c0b..7f4db3e478 100644 --- a/packages/frontend/core/src/hooks/use-workspace-blob.ts +++ b/packages/frontend/core/src/hooks/use-workspace-blob.ts @@ -1,4 +1,4 @@ -import { workspaceManagerAtom } from '@affine/workspace/atom'; +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import type { WorkspaceMetadata } from '@affine/workspace/metadata'; import { useAtomValue } from 'jotai'; import { useEffect, useState } from 'react'; diff --git a/packages/frontend/core/src/hooks/use-workspace-info.ts b/packages/frontend/core/src/hooks/use-workspace-info.ts index 323a059d0d..b0d582bc3c 100644 --- a/packages/frontend/core/src/hooks/use-workspace-info.ts +++ b/packages/frontend/core/src/hooks/use-workspace-info.ts @@ -1,5 +1,5 @@ +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import type { WorkspaceMetadata } from '@affine/workspace'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import { useAtomValue } from 'jotai'; import { useEffect, useState } from 'react'; diff --git a/packages/frontend/core/src/hooks/use-workspace.ts b/packages/frontend/core/src/hooks/use-workspace.ts index 5c6617b7ae..0c914b04c3 100644 --- a/packages/frontend/core/src/hooks/use-workspace.ts +++ b/packages/frontend/core/src/hooks/use-workspace.ts @@ -1,5 +1,5 @@ +import { workspaceManagerAtom } from '@affine/core/modules/workspace'; import type { Workspace } from '@affine/workspace'; -import { workspaceManagerAtom } from '@affine/workspace/atom'; import type { WorkspaceMetadata } from '@affine/workspace/metadata'; import { useAtomValue } from 'jotai'; import { useEffect, useState } from 'react'; diff --git a/packages/frontend/core/src/layouts/workspace-layout.tsx b/packages/frontend/core/src/layouts/workspace-layout.tsx index 269658d86f..17fe3ba50a 100644 --- a/packages/frontend/core/src/layouts/workspace-layout.tsx +++ b/packages/frontend/core/src/layouts/workspace-layout.tsx @@ -9,7 +9,7 @@ import { import { MainContainer, WorkspaceFallback } from '@affine/component/workspace'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; import { useWorkspaceStatus } from '@affine/core/hooks/use-workspace-status'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { assertExists } from '@blocksuite/global/utils'; import { DndContext, diff --git a/packages/frontend/workspace/src/atom.ts b/packages/frontend/core/src/modules/workspace/atoms.ts similarity index 94% rename from packages/frontend/workspace/src/atom.ts rename to packages/frontend/core/src/modules/workspace/atoms.ts index b5f967a4f4..606013b00a 100644 --- a/packages/frontend/workspace/src/atom.ts +++ b/packages/frontend/core/src/modules/workspace/atoms.ts @@ -1,10 +1,13 @@ import { DebugLogger } from '@affine/debug'; +import { + type Workspace, + workspaceManager, + type WorkspaceMetadata, +} from '@affine/workspace'; import { atom } from 'jotai'; import { atomWithObservable } from 'jotai/utils'; import { Observable } from 'rxjs'; -import { type Workspace, workspaceManager, type WorkspaceMetadata } from '.'; - const logger = new DebugLogger('affine:workspace:atom'); // readonly atom for workspace manager, currently only one workspace manager is supported diff --git a/packages/frontend/core/src/modules/workspace/index.ts b/packages/frontend/core/src/modules/workspace/index.ts new file mode 100644 index 0000000000..2b93289c31 --- /dev/null +++ b/packages/frontend/core/src/modules/workspace/index.ts @@ -0,0 +1 @@ +export * from './atoms'; diff --git a/packages/frontend/core/src/pages/index.tsx b/packages/frontend/core/src/pages/index.tsx index 6e2d118260..1397c4c051 100644 --- a/packages/frontend/core/src/pages/index.tsx +++ b/packages/frontend/core/src/pages/index.tsx @@ -1,6 +1,6 @@ import { Menu } from '@affine/component/ui/menu'; import { WorkspaceFallback } from '@affine/component/workspace'; -import { workspaceListAtom } from '@affine/workspace/atom'; +import { workspaceListAtom } from '@affine/core/modules/workspace'; import { useAtomValue } from 'jotai'; import { lazy, useEffect, useLayoutEffect, useState } from 'react'; import { type LoaderFunction, redirect } from 'react-router-dom'; diff --git a/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx b/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx index 7b77ff9281..e3d302cafd 100644 --- a/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx +++ b/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx @@ -3,8 +3,8 @@ import { SaveAsCollectionButton, useCollectionManager, } from '@affine/component/page-list'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import type { Collection, Filter } from '@affine/env/filter'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { useAtomValue } from 'jotai'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx b/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx index cd71592aed..fed910d907 100644 --- a/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx +++ b/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx @@ -10,9 +10,9 @@ import { VirtualizedPageList, } from '@affine/component/page-list'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { CloseIcon, DeleteIcon, diff --git a/packages/frontend/core/src/pages/workspace/collection.tsx b/packages/frontend/core/src/pages/workspace/collection.tsx index 7464a2f5cc..903e06415a 100644 --- a/packages/frontend/core/src/pages/workspace/collection.tsx +++ b/packages/frontend/core/src/pages/workspace/collection.tsx @@ -11,10 +11,10 @@ import { } from '@affine/component/page-list'; import { WindowsAppControls } from '@affine/core/components/pure/header/windows-app-controls'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import type { Collection } from '@affine/env/filter'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { CloseIcon, FilterIcon, diff --git a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx index d1b847112f..74b7e77c62 100644 --- a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx +++ b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx @@ -6,9 +6,9 @@ import { import { ResizePanel } from '@affine/component/resize-panel'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; import { useWorkspaceStatus } from '@affine/core/hooks/use-workspace-status'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceSubPath } from '@affine/env/workspace'; import { globalBlockSuiteSchema, SyncEngineStep } from '@affine/workspace'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import type { AffineEditorContainer } from '@blocksuite/presets'; import type { Page, Workspace } from '@blocksuite/store'; import { appSettingAtom } from '@toeverything/infra/atom'; diff --git a/packages/frontend/core/src/pages/workspace/index.tsx b/packages/frontend/core/src/pages/workspace/index.tsx index ed9aeabf13..a21b87daae 100644 --- a/packages/frontend/core/src/pages/workspace/index.tsx +++ b/packages/frontend/core/src/pages/workspace/index.tsx @@ -1,12 +1,12 @@ import { WorkspaceFallback } from '@affine/component/workspace'; import { useWorkspace } from '@affine/core/hooks/use-workspace'; -import { type Workspace } from '@affine/workspace'; import { currentWorkspaceAtom, workspaceListAtom, workspaceListLoadingStatusAtom, workspaceManagerAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { type Workspace } from '@affine/workspace'; import { useAtom, useAtomValue } from 'jotai'; import { type ReactElement, Suspense, useEffect, useMemo } from 'react'; import { Outlet, useParams } from 'react-router-dom'; diff --git a/packages/frontend/core/src/pages/workspace/trash-page.tsx b/packages/frontend/core/src/pages/workspace/trash-page.tsx index c823f657f3..71eaa01749 100644 --- a/packages/frontend/core/src/pages/workspace/trash-page.tsx +++ b/packages/frontend/core/src/pages/workspace/trash-page.tsx @@ -5,8 +5,8 @@ import { VirtualizedPageList, } from '@affine/component/page-list'; import { useBlockSuitePageMeta } from '@affine/core/hooks/use-block-suite-page-meta'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { assertExists } from '@blocksuite/global/utils'; import { DeleteIcon } from '@blocksuite/icons'; import type { PageMeta } from '@blocksuite/store'; diff --git a/packages/frontend/core/src/providers/modal-provider.tsx b/packages/frontend/core/src/providers/modal-provider.tsx index 7dd00fc932..c15d0bf245 100644 --- a/packages/frontend/core/src/providers/modal-provider.tsx +++ b/packages/frontend/core/src/providers/modal-provider.tsx @@ -1,10 +1,9 @@ -import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; -import { WorkspaceFlavour, WorkspaceSubPath } from '@affine/env/workspace'; import { currentWorkspaceAtom, waitForCurrentWorkspaceAtom, workspaceListAtom, -} from '@affine/workspace/atom'; +} from '@affine/core/modules/workspace'; +import { WorkspaceFlavour, WorkspaceSubPath } from '@affine/env/workspace'; import { assertExists } from '@blocksuite/global/utils'; import { useAtom, useAtomValue } from 'jotai'; import type { ReactElement } from 'react'; @@ -19,6 +18,7 @@ import { openSignOutModalAtom, } from '../atoms'; import { PaymentDisableModal } from '../components/affine/payment-disable'; +import { useAsyncCallback } from '../hooks/affine-async-hooks'; import { useNavigateHelper } from '../hooks/use-navigate-helper'; import { signOutCloud } from '../utils/cloud-utils'; diff --git a/tests/storybook/.storybook/preview.tsx b/tests/storybook/.storybook/preview.tsx index 07f80f0973..ef9029d20a 100644 --- a/tests/storybook/.storybook/preview.tsx +++ b/tests/storybook/.storybook/preview.tsx @@ -19,7 +19,7 @@ import type { Preview } from '@storybook/react'; import { useLayoutEffect, useRef } from 'react'; import { setup } from '@affine/core/bootstrap/setup'; import { WorkspaceFlavour } from '@affine/env/workspace'; -import { currentWorkspaceAtom } from '@affine/workspace/atom'; +import { currentWorkspaceAtom } from '@affine/core/modules/workspace'; setupGlobal(); export const parameters = { diff --git a/tests/storybook/src/stories/image-preview-modal.stories.tsx b/tests/storybook/src/stories/image-preview-modal.stories.tsx index 000e6db137..832783642a 100644 --- a/tests/storybook/src/stories/image-preview-modal.stories.tsx +++ b/tests/storybook/src/stories/image-preview-modal.stories.tsx @@ -1,6 +1,6 @@ import { BlockSuiteEditor } from '@affine/component/block-suite-editor'; import { ImagePreviewModal } from '@affine/core/components/image-preview'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import type { Page } from '@blocksuite/store'; import type { Meta } from '@storybook/react'; import { initEmptyPage } from '@toeverything/infra/blocksuite'; diff --git a/tests/storybook/src/stories/quick-search/quick-search-main.stories.tsx b/tests/storybook/src/stories/quick-search/quick-search-main.stories.tsx index 6ba8604bac..51c813ccec 100644 --- a/tests/storybook/src/stories/quick-search/quick-search-main.stories.tsx +++ b/tests/storybook/src/stories/quick-search/quick-search-main.stories.tsx @@ -6,9 +6,9 @@ import { import { CMDKQuickSearchModal } from '@affine/core/components/pure/cmdk'; import { HighlightLabel } from '@affine/core/components/pure/cmdk/highlight'; import { useWorkspace } from '@affine/core/hooks/use-workspace'; +import { currentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { currentWorkspaceAtom } from '@affine/workspace/atom'; import type { Page } from '@blocksuite/store'; import type { Meta, StoryFn } from '@storybook/react'; import { useStore } from 'jotai'; diff --git a/tests/storybook/src/stories/share-menu.stories.tsx b/tests/storybook/src/stories/share-menu.stories.tsx index 96181dacfe..307caaf1be 100644 --- a/tests/storybook/src/stories/share-menu.stories.tsx +++ b/tests/storybook/src/stories/share-menu.stories.tsx @@ -1,8 +1,8 @@ import { toast } from '@affine/component'; import { PublicLinkDisableModal } from '@affine/component/disable-public-link'; import { ShareMenu } from '@affine/core/components/affine/share-page-modal/share-menu'; +import { waitForCurrentWorkspaceAtom } from '@affine/core/modules/workspace'; import { WorkspaceFlavour } from '@affine/env/workspace'; -import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom'; import { type Page } from '@blocksuite/store'; import { expect } from '@storybook/jest'; import type { Meta, StoryFn } from '@storybook/react'; diff --git a/tests/storybook/src/stories/workspace-list.stories.tsx b/tests/storybook/src/stories/workspace-list.stories.tsx index 3728d897ae..58094129ff 100644 --- a/tests/storybook/src/stories/workspace-list.stories.tsx +++ b/tests/storybook/src/stories/workspace-list.stories.tsx @@ -1,6 +1,6 @@ import type { WorkspaceListProps } from '@affine/component/workspace-list'; import { WorkspaceList } from '@affine/component/workspace-list'; -import { workspaceListAtom } from '@affine/workspace/atom'; +import { workspaceListAtom } from '@affine/core/modules/workspace'; import type { Meta } from '@storybook/react'; import { useAtomValue } from 'jotai';