summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/app/src/pages/layout.tsx16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx
index 202996eea..f14b2e64d 100644
--- a/packages/app/src/pages/layout.tsx
+++ b/packages/app/src/pages/layout.tsx
@@ -2277,13 +2277,23 @@ export default function Layout(props: ParentProps) {
if (!created?.directory) return
+ const local = current.worktree
+ const key = workspaceKey(created.directory)
+ const root = workspaceKey(local)
+
setBusy(created.directory, true)
WorktreeState.pending(created.directory)
- setStore("workspaceExpanded", created.directory, true)
+ setStore("workspaceExpanded", key, true)
+ if (key !== created.directory) {
+ setStore("workspaceExpanded", created.directory, true)
+ }
setStore("workspaceOrder", current.worktree, (prev) => {
const existing = prev ?? []
- const local = current.worktree
- const next = existing.filter((d) => d !== local && d !== created.directory)
+ const next = existing.filter((item) => {
+ const id = workspaceKey(item)
+ if (id === root) return false
+ return id !== key
+ })
return [local, created.directory, ...next]
})