diff --git a/src/app/repo/components/RepoCard.tsx b/src/app/repo/components/RepoCard.tsx index 44d7f70..aaa814b 100644 --- a/src/app/repo/components/RepoCard.tsx +++ b/src/app/repo/components/RepoCard.tsx @@ -106,8 +106,7 @@ export function RepoCard({ repo, onStartWorkspace, onEdit, onIssue, onSettings, size="sm" variant="outline" onClick={() => { - // TODO: 实现停止工作区逻辑 - stopWorkspace() + stopWorkspace(workspace) }} className="h-8 w-8 p-0 border-neutral-200 hover:border-red-600 hover:bg-red-600 hover:text-white transition-all cursor-pointer" > diff --git a/src/app/repo/store/index.ts b/src/app/repo/store/index.ts index 5e439a0..9fdcd7e 100644 --- a/src/app/repo/store/index.ts +++ b/src/app/repo/store/index.ts @@ -71,7 +71,7 @@ type State = { getWorkspaceList: () => Promise; refresh: (opts?: { message?: string, showTips?: boolean }) => Promise; startWorkspace: (data: Partial, params?: { open?: boolean, branch?: string }) => Promise; - stopWorkspace: () => Promise; + stopWorkspace: (workspace?: WorkspaceInfo) => Promise; getWorkspaceDetail: (data: WorkspaceInfo) => Promise; workspaceLink: Partial; selectWorkspace?: WorkspaceInfo, @@ -299,8 +299,8 @@ export const useRepoStore = create((set, get) => { } return res; }, - stopWorkspace: async () => { - const sn = get().selectWorkspace?.sn; + stopWorkspace: async (workspace?: WorkspaceInfo) => { + const sn = workspace?.sn || get().selectWorkspace?.sn; if (!sn) { toast.error('未选择工作区'); return;