mirror of
https://github.com/toeverything/AFFiNE.git
synced 2024-11-24 11:24:08 +03:00
fix: jump to the correct url after importing notion (#3844)
This commit is contained in:
parent
a348df4c47
commit
cae6133f7e
@ -1,4 +1,6 @@
|
|||||||
|
import { toast } from '@affine/component';
|
||||||
import { initEmptyPage } from '@affine/env/blocksuite';
|
import { initEmptyPage } from '@affine/env/blocksuite';
|
||||||
|
import { WorkspaceSubPath } from '@affine/env/workspace';
|
||||||
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
import { useBlockSuiteWorkspaceHelper } from '@toeverything/hooks/use-block-suite-workspace-helper';
|
||||||
import { useAtomValue, useSetAtom } from 'jotai';
|
import { useAtomValue, useSetAtom } from 'jotai';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
@ -8,7 +10,7 @@ import { useNavigateHelper } from '../../../hooks/use-navigate-helper';
|
|||||||
import type { BlockSuiteWorkspace } from '../../../shared';
|
import type { BlockSuiteWorkspace } from '../../../shared';
|
||||||
|
|
||||||
export const usePageHelper = (blockSuiteWorkspace: BlockSuiteWorkspace) => {
|
export const usePageHelper = (blockSuiteWorkspace: BlockSuiteWorkspace) => {
|
||||||
const { openPage } = useNavigateHelper();
|
const { openPage, jumpToSubPath } = useNavigateHelper();
|
||||||
const { createPage } = useBlockSuiteWorkspaceHelper(blockSuiteWorkspace);
|
const { createPage } = useBlockSuiteWorkspaceHelper(blockSuiteWorkspace);
|
||||||
const pageSettings = useAtomValue(pageSettingsAtom);
|
const pageSettings = useAtomValue(pageSettingsAtom);
|
||||||
const isPreferredEdgeless = useCallback(
|
const isPreferredEdgeless = useCallback(
|
||||||
@ -35,8 +37,25 @@ export const usePageHelper = (blockSuiteWorkspace: BlockSuiteWorkspace) => {
|
|||||||
);
|
);
|
||||||
const importFileAndOpen = useCallback(async () => {
|
const importFileAndOpen = useCallback(async () => {
|
||||||
const { showImportModal } = await import('@blocksuite/blocks');
|
const { showImportModal } = await import('@blocksuite/blocks');
|
||||||
showImportModal({ workspace: blockSuiteWorkspace });
|
const onSuccess = (pageIds: string[], isWorkspaceFile: boolean) => {
|
||||||
}, [blockSuiteWorkspace]);
|
toast(
|
||||||
|
`Successfully imported ${pageIds.length} Page${
|
||||||
|
pageIds.length > 1 ? 's' : ''
|
||||||
|
}.`
|
||||||
|
);
|
||||||
|
if (isWorkspaceFile) {
|
||||||
|
jumpToSubPath(blockSuiteWorkspace.id, WorkspaceSubPath.ALL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pageIds.length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const pageId = pageIds[0];
|
||||||
|
openPage(blockSuiteWorkspace.id, pageId);
|
||||||
|
};
|
||||||
|
showImportModal({ workspace: blockSuiteWorkspace, onSuccess });
|
||||||
|
}, [blockSuiteWorkspace, openPage, jumpToSubPath]);
|
||||||
return {
|
return {
|
||||||
createPage: createPageAndOpen,
|
createPage: createPageAndOpen,
|
||||||
createEdgeless: createEdgelessAndOpen,
|
createEdgeless: createEdgelessAndOpen,
|
||||||
|
Loading…
Reference in New Issue
Block a user