1import { useMemo } from "react";
2
3import { useSelectedThreadWorktreePath } from "./use-thread-detail";
4import { useThreadSelection } from "./use-thread-selection";
5import { resolvePreferredThreadWorktreePath } from "../features/terminal/terminalLaunchContext";
6
7export function useSelectedThreadWorktree() {
8 const { selectedThread, selectedThreadProject } = useThreadSelection();
9 const detailWorktreePath = useSelectedThreadWorktreePath();
10
11 const selectedThreadWorktreePath = useMemo(
12 () =>
13 resolvePreferredThreadWorktreePath({
14 threadShellWorktreePath: selectedThread?.worktreePath ?? null,
15 threadDetailWorktreePath: detailWorktreePath,
16 }),
17 [detailWorktreePath, selectedThread?.worktreePath],
18 );
19
20 return {
21 selectedThreadWorktreePath,
22 selectedThreadCwd: selectedThreadWorktreePath ?? selectedThreadProject?.workspaceRoot ?? null,
23 };
24}