diff --git a/packages/app/src/components/workspace-layout/index.tsx b/packages/app/src/components/workspace-layout/index.tsx
index 3da85a5ad4..b77d86fada 100644
--- a/packages/app/src/components/workspace-layout/index.tsx
+++ b/packages/app/src/components/workspace-layout/index.tsx
@@ -4,10 +4,11 @@ import { useRouter } from 'next/router';
import { StyledPage, StyledWrapper } from './styles';
import { PropsWithChildren } from 'react';
import useEnsureWorkspace from '@/hooks/use-ensure-workspace';
+import { PageLoading } from '@/components/loading';
export const WorkspaceDefender = ({ children }: PropsWithChildren) => {
const { workspaceLoaded } = useEnsureWorkspace();
- return <>{workspaceLoaded ? children : null}>;
+ return <>{workspaceLoaded ? children : }>;
};
export const WorkspaceLayout = ({ children }: PropsWithChildren) => {
diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
index 5801775246..61c03ae1b0 100644
--- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
+++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx
@@ -67,11 +67,11 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => {
setCanCreate(true);
const blobId = await createDefaultHeadImg(workspaceName);
createWorkspace({ name: workspaceName, avatar: blobId })
- .then(data => {
+ .then(async data => {
+ await refreshWorkspacesMeta();
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
- router.push(`/workspace/${data.created_at}`);
- refreshWorkspacesMeta();
+ router.push(`/workspace/${data.id}`);
onClose();
})
.catch(err => {
diff --git a/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx b/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
index 7e7fb325ec..4b5b5f30fe 100644
--- a/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
+++ b/packages/app/src/pages/workspace/[workspaceId]/[pageId].tsx
@@ -40,7 +40,8 @@ const Page: NextPageWithLayout = () => {
editorContainer.current?.appendChild(editor);
setEditor?.current?.(editor);
if (currentPage!.isEmpty) {
- const title = 'Welcome to the AFFiNE Alpha';
+ const isFirstPage = currentWorkspace?.meta.pageMetas.length === 1;
+ const title = isFirstPage ? 'Welcome to the AFFiNE Alpha' : '';
const pageId = currentPage!.addBlock({
flavour: 'affine:page',
title,
@@ -49,9 +50,12 @@ const Page: NextPageWithLayout = () => {
{ flavour: 'affine:group' },
pageId
);
- editor.clipboard.importMarkdown(exampleMarkdown, `${groupId}`);
-
- currentWorkspace!.setPageMeta(currentPage!.id, { title });
+ currentPage!.addBlock({ flavour: 'affine:group' }, pageId);
+ // If this is a first page in workspace, init an introduction markdown
+ if (isFirstPage) {
+ editor.clipboard.importMarkdown(exampleMarkdown, `${groupId}`);
+ currentWorkspace!.setPageMeta(currentPage!.id, { title });
+ }
currentPage!.resetHistory();
}
}
diff --git a/packages/app/src/pages/workspace/[workspaceId]/index.tsx b/packages/app/src/pages/workspace/[workspaceId]/index.tsx
index c7b158b2f9..b3bf95f8c5 100644
--- a/packages/app/src/pages/workspace/[workspaceId]/index.tsx
+++ b/packages/app/src/pages/workspace/[workspaceId]/index.tsx
@@ -2,6 +2,7 @@ import { useEffect } from 'react';
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider/context';
import useEnsureWorkspace from '@/hooks/use-ensure-workspace';
+import { PageLoading } from '@/components/loading';
const WorkspaceIndex = () => {
const router = useRouter();
@@ -31,7 +32,7 @@ const WorkspaceIndex = () => {
workspaceLoaded,
]);
- return <>>;
+ return ;
};
export default WorkspaceIndex;
diff --git a/packages/app/src/pages/workspace/index.tsx b/packages/app/src/pages/workspace/index.tsx
index d81e348517..1fe3ba2c17 100644
--- a/packages/app/src/pages/workspace/index.tsx
+++ b/packages/app/src/pages/workspace/index.tsx
@@ -2,6 +2,7 @@ import { useEffect } from 'react';
import { useRouter } from 'next/router';
import { useAppState } from '@/providers/app-state-provider';
import useEnsureWorkspace from '@/hooks/use-ensure-workspace';
+import { PageLoading } from '@/components/loading';
export const WorkspaceIndex = () => {
const router = useRouter();
@@ -14,7 +15,7 @@ export const WorkspaceIndex = () => {
}
}, [currentWorkspaceId, router, workspaceLoaded]);
- return <>>;
+ return ;
};
export default WorkspaceIndex;
diff --git a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
index c5e5e2b2b5..8dd7d7d9b0 100644
--- a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
+++ b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx
@@ -33,7 +33,7 @@ const DynamicBlocksuite = ({
new Promise(async resolve => {
const workspace = new StoreWorkspace({
room: workspaceId,
- providers: [],
+ providers: [IndexedDBDocProvider],
}).register(BlockSchema);
if (websocket && token.refresh) {
// FIXME: if add websocket provider, the first page will be blank