diff --git a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx index 9c1efb4c4..59e73f738 100644 --- a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx +++ b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx @@ -12,12 +12,9 @@ import { useState } from 'react'; import { ModalCloseButton } from '@/ui/modal'; import { Button } from '@/ui/button'; import { useRouter } from 'next/router'; -import { - deleteWorkspace, - getWorkspaces, - // Workspace, -} from '@/hooks/mock-data/mock'; + import { WorkspaceUnit } from '@affine/datacenter'; +import { useWorkspaceHelper } from '@/hooks/use-workspace-helper'; interface WorkspaceDeleteProps { open: boolean; @@ -32,23 +29,15 @@ export const WorkspaceDelete = ({ }: WorkspaceDeleteProps) => { const [deleteStr, setDeleteStr] = useState(''); const router = useRouter(); - + const { deleteWorkSpace } = useWorkspaceHelper(); const handlerInputChange = (workspaceName: string) => { setDeleteStr(workspaceName); }; const handleDelete = async () => { - // const dc = await getDataCenter(); - // await dc.apis.deleteWorkspace({ id: workspaceId }); - // router.push(`/workspace/${nextWorkSpaceId}`); - deleteWorkspace(workspace.id); - const workspaceList = getWorkspaces(); - if (workspaceList.length) { - router.push(`/workspace/${workspaceList[0].id}`); - } else { - router.push(`/workspace`); - } + await deleteWorkSpace(); onClose(); + router.push(`/workspace`); }; return ( diff --git a/packages/app/src/hooks/use-workspace-helper.ts b/packages/app/src/hooks/use-workspace-helper.ts index ab44994cb..c8e05d6e2 100644 --- a/packages/app/src/hooks/use-workspace-helper.ts +++ b/packages/app/src/hooks/use-workspace-helper.ts @@ -56,10 +56,16 @@ export const useWorkspaceHelper = () => { }); }; + const deleteWorkSpace = async () => { + currentWorkspace && + (await dataCenter.deleteWorkspace(currentWorkspace?.id)); + }; + return { createWorkspace, publishWorkspace, updateWorkspace, enableWorkspace, + deleteWorkSpace, }; };