From eac2d4c6999f79085ac72dd4812125674030ef16 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Tue, 27 Jan 2026 08:17:00 -0600 Subject: fix(app): navigate to tabs when opening file --- packages/app/src/pages/session.tsx | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'packages/app/src/pages') diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index caa6d3ad1..6de7ed3e7 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -650,7 +650,7 @@ export default function Page() { category: language.t("command.category.file"), keybind: "mod+p", slash: "open", - onSelect: () => dialog.show(() => ), + onSelect: () => dialog.show(() => showAllFiles()} />), }, { id: "context.addSelection", @@ -1084,11 +1084,31 @@ export default function Page() { const pendingDiff = () => tree.pendingDiff const setPendingDiff = (value: string | undefined) => setTree("pendingDiff", value) + const showAllFiles = () => { + if (!layout.fileTree.opened()) return + if (fileTreeTab() !== "changes") return + setFileTreeTab("all") + } + createEffect(() => { if (!layout.fileTree.opened()) return setFileTreeTab("changes") }) + createEffect( + on( + () => tabs().active(), + (active) => { + if (!active) return + if (!layout.fileTree.opened()) return + if (fileTreeTab() !== "changes") return + if (!file.pathFromTab(active)) return + showAllFiles() + }, + { defer: true }, + ), + ) + const setFileTreeTabValue = (value: string) => { if (value !== "changes" && value !== "all") return setFileTreeTab(value) @@ -1702,6 +1722,7 @@ export default function Page() { focusedComment={comments.focus()} onFocusedCommentChange={comments.setFocus} onViewFile={(path) => { + showAllFiles() const value = file.tab(path) tabs().open(value) file.load(path) @@ -2068,7 +2089,9 @@ export default function Page() { icon="plus-small" variant="ghost" iconSize="large" - onClick={() => dialog.show(() => )} + onClick={() => + dialog.show(() => showAllFiles()} />) + } aria-label={language.t("command.file.open")} /> @@ -2100,6 +2123,7 @@ export default function Page() { focusedComment={comments.focus()} onFocusedCommentChange={comments.setFocus} onViewFile={(path) => { + showAllFiles() const value = file.tab(path) tabs().open(value) file.load(path) @@ -2679,6 +2703,7 @@ export default function Page() { focusedComment={comments.focus()} onFocusedCommentChange={comments.setFocus} onViewFile={(path) => { + showAllFiles() const value = file.tab(path) tabs().open(value) file.load(path) -- cgit v1.2.3