fix: if jump in [workspace]/index, should manually load workspace

This commit is contained in:
alt0
2022-12-22 22:14:42 +08:00
parent 1cf6cc03c0
commit e1ca69aaf9
@@ -1,15 +1,20 @@
import React, { ReactElement, useEffect } from 'react';
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider/context';
import { useLoadWorkspace } from '@/providers/app-state-provider/hooks';
import WorkspaceLayout from '@/components/workspace-layout';
const WorkspaceIndex = () => {
const router = useRouter();
const { createPage, currentWorkspaceId, currentWorkspace } = useAppState();
const workspace = useLoadWorkspace();
const { createPage, currentWorkspaceId } = useAppState();
useEffect(() => {
const initPage = async () => {
const savedPageId = currentWorkspace!.meta.pageMetas[0]?.id;
if (!workspace) {
return;
}
const savedPageId = workspace!.meta.pageMetas[0]?.id;
if (savedPageId) {
router.replace(`/workspace/${currentWorkspaceId}/${savedPageId}`);
return;
@@ -19,7 +24,7 @@ const WorkspaceIndex = () => {
router.replace(`/workspace/${currentWorkspaceId}/${pageId}`);
};
initPage();
}, [currentWorkspace, currentWorkspaceId, createPage, router]);
}, [workspace, currentWorkspaceId, createPage, router]);
return <></>;
};