Merge branch 'feat/filesystem_and_search' of https://github.com/toeverything/AFFiNE into feat/filesystem_and_search

This commit is contained in:
tzhangchi
2022-12-23 19:45:11 +08:00
6 changed files with 18 additions and 11 deletions
@@ -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 : <PageLoading />}</>;
};
export const WorkspaceLayout = ({ children }: PropsWithChildren) => {
@@ -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 => {
@@ -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();
}
}
@@ -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 <PageLoading />;
};
export default WorkspaceIndex;
+2 -1
View File
@@ -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 <PageLoading />;
};
export default WorkspaceIndex;
@@ -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