From 979bb65c25d060c4fc282bc330c0590d6b8e6c24 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 28 Jul 2026 14:49:35 +0800 Subject: [PATCH] refactor(app): simplify workspace selection state --- .../new-session/new-session-workspace-controller.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/app/src/pages/new-session/new-session-workspace-controller.ts b/packages/app/src/pages/new-session/new-session-workspace-controller.ts index 39c4cf8492..f3fc9b2708 100644 --- a/packages/app/src/pages/new-session/new-session-workspace-controller.ts +++ b/packages/app/src/pages/new-session/new-session-workspace-controller.ts @@ -1,5 +1,4 @@ -import { createMemo } from "solid-js" -import { createStore } from "solid-js/store" +import { createMemo, createSignal } from "solid-js" import { useSDK } from "@/context/sdk" import { useServerSync } from "@/context/server-sync" import { useSync } from "@/context/sync" @@ -36,12 +35,12 @@ export function createNewSessionWorkspaceController() { const sdk = useSDK() const sync = useSync() const serverSync = useServerSync() - const [store, setStore] = createStore<{ worktree?: string }>({}) + const [worktree, setWorktree] = createSignal() const visible = createMemo(() => workspaceBarEnabled && sync().project?.vcs === "git") const value = createMemo(() => resolveNewSessionWorktree({ enabled: visible(), - selected: store.worktree, + selected: worktree(), directory: sdk().directory, projectWorktree: sync().project?.worktree, }), @@ -59,9 +58,9 @@ export function createNewSessionWorkspaceController() { return { selection: { value, - reset: () => setStore("worktree", undefined), + reset: () => setWorktree(), set: (worktree: string) => - setStore("worktree", normalizeNewSessionWorktree(worktree, sdk().directory, sync().project?.worktree)), + setWorktree(normalizeNewSessionWorktree(worktree, sdk().directory, sync().project?.worktree)), }, project: { root: projectRoot,