summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/session
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-05 13:51:08 -0600
committerGitHub <[email protected]>2026-02-05 13:51:08 -0600
commit83646e0366c47a3bccb5135d40628176a6776f33 (patch)
treecd8525d1a684a659e31a4413301577fac3f8fb63 /packages/app/src/components/session
parentc40ce47e92befbe4cb27735e4d870f540e75b646 (diff)
downloadopencode-83646e0366c47a3bccb5135d40628176a6776f33.tar.gz
opencode-83646e0366c47a3bccb5135d40628176a6776f33.zip
fix(app): allow toggling file tree closed independently (#12293)
Diffstat (limited to 'packages/app/src/components/session')
-rw-r--r--packages/app/src/components/session/session-header.tsx46
1 files changed, 38 insertions, 8 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx
index 5b00f80c0..f2bfc8d25 100644
--- a/packages/app/src/components/session/session-header.tsx
+++ b/packages/app/src/components/session/session-header.tsx
@@ -283,27 +283,57 @@ export function SessionHeader() {
<TooltipKeybind title={language.t("command.review.toggle")} keybind={command.keybind("review.toggle")}>
<Button
variant="ghost"
- class="group/file-tree-toggle size-6 p-0"
- onClick={() => layout.fileTree.toggle()}
+ class="group/review-toggle size-6 p-0"
+ onClick={() => view().reviewPanel.toggle()}
aria-label={language.t("command.review.toggle")}
- aria-expanded={layout.fileTree.opened()}
+ aria-expanded={view().reviewPanel.opened()}
aria-controls="review-panel"
>
<div class="relative flex items-center justify-center size-4 [&>*]:absolute [&>*]:inset-0">
<Icon
size="small"
- name={layout.fileTree.opened() ? "layout-right-full" : "layout-right"}
- class="group-hover/file-tree-toggle:hidden"
+ name={view().reviewPanel.opened() ? "layout-right-full" : "layout-right"}
+ class="group-hover/review-toggle:hidden"
/>
<Icon
size="small"
name="layout-right-partial"
- class="hidden group-hover/file-tree-toggle:inline-block"
+ class="hidden group-hover/review-toggle:inline-block"
+ />
+ <Icon
+ size="small"
+ name={view().reviewPanel.opened() ? "layout-right" : "layout-right-full"}
+ class="hidden group-active/review-toggle:inline-block"
/>
+ </div>
+ </Button>
+ </TooltipKeybind>
+ </div>
+ <div class="hidden md:block shrink-0">
+ <TooltipKeybind
+ title={language.t("command.fileTree.toggle")}
+ keybind={command.keybind("fileTree.toggle")}
+ >
+ <Button
+ variant="ghost"
+ class="group/file-tree-toggle size-6 p-0"
+ onClick={() => {
+ const opening = !layout.fileTree.opened()
+ if (opening && !view().reviewPanel.opened()) view().reviewPanel.open()
+ layout.fileTree.toggle()
+ }}
+ aria-label={language.t("command.fileTree.toggle")}
+ aria-expanded={layout.fileTree.opened()}
+ aria-controls="file-tree-panel"
+ >
+ <div class="relative flex items-center justify-center size-4">
<Icon
size="small"
- name={layout.fileTree.opened() ? "layout-right" : "layout-right-full"}
- class="hidden group-active/file-tree-toggle:inline-block"
+ name="bullet-list"
+ classList={{
+ "text-icon-strong": layout.fileTree.opened(),
+ "text-icon-weak": !layout.fileTree.opened(),
+ }}
/>
</div>
</Button>