diff --git a/ui/src/components/ProjectProperties.tsx b/ui/src/components/ProjectProperties.tsx index edbded33..95c49246 100644 --- a/ui/src/components/ProjectProperties.tsx +++ b/ui/src/components/ProjectProperties.tsx @@ -230,7 +230,13 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa const updateWorkspace = useMutation({ mutationFn: ({ workspaceId, data }: { workspaceId: string; data: Record }) => projectsApi.updateWorkspace(project.id, workspaceId, data), - onSuccess: invalidateProject, + onSuccess: () => { + setWorkspaceCwd(""); + setWorkspaceRepoUrl(""); + setWorkspaceMode(null); + setWorkspaceError(null); + invalidateProject(); + }, }); const removeGoal = (goalId: string) => { @@ -528,47 +534,83 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa {formatRepoUrl(codebase.repoUrl)} - +
+ + +
) : ( -
Not set.
+
+
Not set.
+ +
)}
Local folder
- {codebase.localFolder ? ( -
- {codebase.localFolder} +
+
+
+ {codebase.effectiveLocalFolder} +
+ {codebase.origin === "managed_checkout" && ( +
Paperclip-managed folder.
+ )} +
+
+ {codebase.localFolder ? ( + + ) : null}
- ) : ( -
-
Not set.
-
Paperclip will use a managed checkout instead.
-
- )} -
- -
-
Effective working folder
-
{codebase.effectiveLocalFolder}
-
- {codebase.origin === "local_folder" ? "Using your local folder." : "Paperclip-managed folder."}
@@ -624,32 +666,6 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa
) : null}
-
- - -
{workspaceMode === "local" && (
@@ -666,7 +682,7 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa variant="outline" size="xs" className="h-6 px-2" - disabled={!workspaceCwd.trim() || createWorkspace.isPending} + disabled={!workspaceCwd.trim() || createWorkspace.isPending || updateWorkspace.isPending} onClick={submitLocalWorkspace} > Save @@ -699,7 +715,7 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa variant="outline" size="xs" className="h-6 px-2" - disabled={!workspaceRepoUrl.trim() || createWorkspace.isPending} + disabled={!workspaceRepoUrl.trim() || createWorkspace.isPending || updateWorkspace.isPending} onClick={submitRepoWorkspace} > Save