refactor: use useRouterHelper (#1422)

Co-authored-by: himself65 <himself65@outlook.com>
This commit is contained in:
sheben
2023-03-09 06:58:20 +08:00
committed by GitHub
parent 7f77619515
commit 8dc022c808
10 changed files with 68 additions and 106 deletions

View File

@@ -6,6 +6,7 @@ import { NextRouter } from 'next/router';
import React from 'react';
import { useBlockSuiteWorkspaceHelper } from '../../../hooks/use-blocksuite-workspace-helper';
import { useRouterHelper } from '../../../hooks/use-router-helper';
import { BlockSuiteWorkspace } from '../../../shared';
import { StyledModalFooterContent } from './style';
@@ -24,6 +25,7 @@ export const Footer: React.FC<FooterProps> = ({
}) => {
const { createPage } = useBlockSuiteWorkspaceHelper(blockSuiteWorkspace);
const { t } = useTranslation();
const { jumpToPage } = useRouterHelper(router);
return (
<Command.Item
@@ -33,13 +35,7 @@ export const Footer: React.FC<FooterProps> = ({
const id = nanoid();
const pageId = await createPage(id, query);
assertEquals(pageId, id);
router.push({
pathname: '/workspace/[workspaceId]/[pageId]',
query: {
workspaceId: blockSuiteWorkspace.id,
pageId,
},
});
jumpToPage(blockSuiteWorkspace.id, pageId);
}}
>
<StyledModalFooterContent>

View File

@@ -8,6 +8,7 @@ import React, { Dispatch, SetStateAction, useEffect, useState } from 'react';
import { useRecentlyViewed } from '../../../hooks/affine/use-recent-views';
import { useBlockSuiteWorkspaceHelper } from '../../../hooks/use-blocksuite-workspace-helper';
import { usePageMeta } from '../../../hooks/use-page-meta';
import { useRouterHelper } from '../../../hooks/use-router-helper';
import { BlockSuiteWorkspace } from '../../../shared';
import { useSwitchToConfig } from './config';
import { NoResultSVG } from './NoResultSVG';
@@ -36,6 +37,7 @@ export const Results: React.FC<ResultsProps> = ({
const [results, setResults] = useState(new Map<string, string | undefined>());
const recentlyViewed = useRecentlyViewed();
const { t } = useTranslation();
const { jumpToPage } = useRouterHelper(router);
useEffect(() => {
setResults(blockSuiteWorkspace.search(query));
//Save the Map<BlockId, PageId> obtained from the search as state
@@ -65,14 +67,7 @@ export const Results: React.FC<ResultsProps> = ({
onSelect={() => {
onClose();
assertExists(blockSuiteWorkspace.id);
// fixme: refactor to `useRouterHelper`
router.push({
pathname: '/workspace/[workspaceId]/[pageId]',
query: {
workspaceId: blockSuiteWorkspace.id,
pageId: result.id,
},
});
jumpToPage(blockSuiteWorkspace.id, result.id);
}}
value={result.id}
>
@@ -105,13 +100,7 @@ export const Results: React.FC<ResultsProps> = ({
value={recent.id}
onSelect={() => {
onClose();
router.push({
pathname: '/workspace/[workspaceId]/[pageId]',
query: {
workspaceId: blockSuiteWorkspace.id,
pageId: recent.id,
},
});
jumpToPage(blockSuiteWorkspace.id, recent.id);
}}
>
<StyledListItem>