mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-16 01:26:37 +08:00
feat: add workspace-help
This commit is contained in:
@@ -3,10 +3,10 @@ import { Modal, ModalWrapper, ModalCloseButton } from '@/ui/modal';
|
||||
import { Button } from '@/ui/button';
|
||||
import { useState } from 'react';
|
||||
import Input from '@/ui/input';
|
||||
import { useTemporaryHelper } from '@/providers/temporary-helper-provider';
|
||||
import { KeyboardEvent } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useAppState } from '@/providers/app-state-provider';
|
||||
import { useWorkspaceHelper } from '@/hooks/use-workspace-helper';
|
||||
interface ICloseParams {
|
||||
workspaceId?: string;
|
||||
}
|
||||
@@ -17,11 +17,15 @@ interface ModalProps {
|
||||
|
||||
export const CreateWorkspaceModal = ({ open, onClose }: ModalProps) => {
|
||||
const [workspaceName, setWorkspaceName] = useState('');
|
||||
const { createWorkspace } = useAppState();
|
||||
const handleCreateWorkspace = () => {
|
||||
const workspace = createWorkspace(workspaceName);
|
||||
// onClose({ workspaceId: workspace.id });
|
||||
// setActiveWorkspace(workspace);
|
||||
const { createWorkspace } = useWorkspaceHelper();
|
||||
const { loadWorkspace } = useAppState();
|
||||
const handleCreateWorkspace = async () => {
|
||||
const workspace = await createWorkspace(workspaceName);
|
||||
if (workspace && workspace.room) {
|
||||
await loadWorkspace(workspace.room);
|
||||
} else {
|
||||
console.log('create error');
|
||||
}
|
||||
};
|
||||
const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {
|
||||
if (event.key === 'Enter') {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import { useAppState } from '@/providers/app-state-provider';
|
||||
|
||||
export const useWorkspaceHelper = () => {
|
||||
const { dataCenter } = useAppState();
|
||||
const createWorkspace = async (name: string) => {
|
||||
const workspaceInfo = await dataCenter.createWorkspace({
|
||||
name: name,
|
||||
avatar: 'cccc',
|
||||
});
|
||||
if (workspaceInfo && workspaceInfo.room) {
|
||||
const workspace = await dataCenter.loadWorkspace(workspaceInfo.room);
|
||||
return workspace;
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return {
|
||||
createWorkspace,
|
||||
};
|
||||
};
|
||||
@@ -47,7 +47,6 @@ export const AppStateProvider = ({
|
||||
const currentWorkspace = await dataCenter.loadWorkspace(
|
||||
dataCenter.workspaces[0].id
|
||||
);
|
||||
console.log('currentWorkspace: ', currentWorkspace);
|
||||
|
||||
setAppState({
|
||||
dataCenter,
|
||||
@@ -150,18 +149,6 @@ export const AppStateProvider = ({
|
||||
});
|
||||
};
|
||||
|
||||
const createWorkspace = async (name: string) => {
|
||||
const { dataCenter } = appState;
|
||||
const workspaceInfo = await dataCenter.createWorkspace({
|
||||
name: name,
|
||||
avatar: 'cccc',
|
||||
});
|
||||
if (workspaceInfo && workspaceInfo.room) {
|
||||
const workspace = await dataCenter.loadWorkspace(workspaceInfo.room);
|
||||
console.log('workspace: ', workspace);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<AppState.Provider
|
||||
value={{
|
||||
@@ -170,7 +157,6 @@ export const AppStateProvider = ({
|
||||
loadPage,
|
||||
loadWorkspace,
|
||||
createEditor,
|
||||
createWorkspace,
|
||||
}}
|
||||
>
|
||||
<DynamicBlocksuite setCreateEditorHandler={setCreateEditorHandler} />
|
||||
|
||||
@@ -24,7 +24,6 @@ export type AppStateFunction = {
|
||||
setEditor: (page: EditorContainer) => void;
|
||||
loadWorkspace: (workspaceId: string) => Promise<void>;
|
||||
loadPage: (pageId: string) => void;
|
||||
createWorkspace: (name: string) => Promise<void>;
|
||||
};
|
||||
|
||||
export type AppStateContext = AppStateValue & AppStateFunction;
|
||||
|
||||
Reference in New Issue
Block a user