Skip to content

Commit 66e326d

Browse files
committed
fix: uncollapse coordinator when clicking collapsed child in sidebar
1 parent 48265bf commit 66e326d

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

src/components/Sidebar.tsx

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -999,7 +999,7 @@ function CoordinatorFolder(props: TaskEntryProps) {
999999

10001000
// --- Collapsed task entry: also handles coordinator folders in collapsed state ---
10011001

1002-
function CollapsedTaskEntry(props: { taskId: string; indented?: boolean }) {
1002+
function CollapsedTaskEntry(props: { taskId: string; indented?: boolean; coordinatorId?: string }) {
10031003
const task = () => store.tasks[props.taskId];
10041004
// Only top-level coordinators render children — indented entries never recurse
10051005
const isCoordinator = () => !props.indented && (task()?.coordinatorMode ?? false);
@@ -1017,11 +1017,23 @@ function CollapsedTaskEntry(props: { taskId: string; indented?: boolean }) {
10171017
role="button"
10181018
tabIndex={0}
10191019
data-sidebar-task-id={props.taskId}
1020-
onClick={() => uncollapseTask(props.taskId)}
1020+
onClick={() => {
1021+
if (props.coordinatorId) {
1022+
uncollapseTask(props.coordinatorId);
1023+
setActiveTask(props.taskId);
1024+
} else {
1025+
uncollapseTask(props.taskId);
1026+
}
1027+
}}
10211028
onKeyDown={(e) => {
10221029
if (e.key === 'Enter' || e.key === ' ') {
10231030
e.preventDefault();
1024-
uncollapseTask(props.taskId);
1031+
if (props.coordinatorId) {
1032+
uncollapseTask(props.coordinatorId);
1033+
setActiveTask(props.taskId);
1034+
} else {
1035+
uncollapseTask(props.taskId);
1036+
}
10251037
}
10261038
}}
10271039
title="Click to restore"
@@ -1086,10 +1098,14 @@ function CollapsedTaskEntry(props: { taskId: string; indented?: boolean }) {
10861098
{/* If collapsed coordinator, still show children nested */}
10871099
<Show when={isCoordinator()}>
10881100
<For each={children().active}>
1089-
{(childId) => <CollapsedTaskEntry taskId={childId} indented />}
1101+
{(childId) => (
1102+
<CollapsedTaskEntry taskId={childId} indented coordinatorId={props.taskId} />
1103+
)}
10901104
</For>
10911105
<For each={children().collapsed}>
1092-
{(childId) => <CollapsedTaskEntry taskId={childId} indented />}
1106+
{(childId) => (
1107+
<CollapsedTaskEntry taskId={childId} indented coordinatorId={props.taskId} />
1108+
)}
10931109
</For>
10941110
</Show>
10951111
</>

0 commit comments

Comments
 (0)