Skip to content

Commit 3f00359

Browse files
committed
Fix state loss on settings navigation + FolderPicker cursor
1 parent 257ae3d commit 3f00359

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

apps/twig/src/renderer/features/folder-picker/components/FolderPicker.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ export function FolderPicker({
6060
variant="outline"
6161
size={size}
6262
onClick={handleOpenFilePicker}
63+
style={{ cursor: "pointer" }}
6364
>
6465
<Flex justify="between" align="center" gap="2" width="100%">
6566
<Flex align="center" gap="2">

apps/twig/src/renderer/features/task-detail/components/TaskInput.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ const DOT_FILL = "var(--gray-6)";
2121

2222
export function TaskInput() {
2323
const { view } = useNavigationStore();
24-
const { lastUsedDirectory } = useTaskDirectoryStore();
25-
const { lastUsedLocalWorkspaceMode, allowBypassPermissions } =
26-
useSettingsStore();
24+
const { lastUsedDirectory, setLastUsedDirectory } = useTaskDirectoryStore();
25+
const {
26+
lastUsedLocalWorkspaceMode,
27+
setLastUsedLocalWorkspaceMode,
28+
allowBypassPermissions,
29+
} = useSettingsStore();
2730

2831
const editorRef = useRef<MessageEditorHandle>(null);
2932
const containerRef = useRef<HTMLDivElement>(null);
@@ -67,6 +70,7 @@ export function TaskInput() {
6770

6871
const handleDirectoryChange = (newPath: string) => {
6972
setSelectedDirectory(newPath);
73+
setLastUsedDirectory(newPath);
7074
};
7175

7276
const effectiveWorkspaceMode = workspaceMode;
@@ -149,7 +153,10 @@ export function TaskInput() {
149153
/>
150154
<WorkspaceModeSelect
151155
value={workspaceMode}
152-
onChange={setWorkspaceMode}
156+
onChange={(mode) => {
157+
setWorkspaceMode(mode);
158+
setLastUsedLocalWorkspaceMode(mode);
159+
}}
153160
size="1"
154161
/>
155162
</Flex>

apps/twig/src/renderer/stores/taskDirectoryStore.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ interface TaskDirectoryState {
1010
lastUsedDirectory: string | null;
1111
getTaskDirectory: (taskId: string, repoKey?: string) => string | null;
1212
setRepoDirectory: (repoKey: string, directory: string) => void;
13+
setLastUsedDirectory: (directory: string) => void;
1314
clearRepoDirectory: (repoKey: string) => void;
1415
validateLastUsedDirectory: () => Promise<void>;
1516
}
@@ -51,6 +52,10 @@ export const useTaskDirectoryStore = create<TaskDirectoryState>()(
5152
}));
5253
},
5354

55+
setLastUsedDirectory: (directory: string) => {
56+
set({ lastUsedDirectory: directory });
57+
},
58+
5459
clearRepoDirectory: (repoKey: string) => {
5560
set((state) => ({
5661
repoDirectories: omitKey(state.repoDirectories, repoKey),

0 commit comments

Comments
 (0)