Skip to content

Commit 08a7080

Browse files
authored
fix(tui): exit composer picker with up arrow (#37601)
1 parent f2579c4 commit 08a7080

3 files changed

Lines changed: 12 additions & 6 deletions

File tree

packages/tui/src/routes/session/composer/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ interface Tab {
2222
const ComposerContext = createContext<{
2323
register: (tab: Tab) => () => void
2424
active: (id: string) => boolean
25+
close: () => void
2526
}>()
2627

2728
export function useComposerTab() {
@@ -73,6 +74,7 @@ export function Composer(props: ComposerProps) {
7374
active(id: string) {
7475
return props.open && store.active === id
7576
},
77+
close,
7678
}
7779

7880
const keymap = Keymap.use()

packages/tui/src/routes/session/composer/shell-tab.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,11 @@ export function ShellTab(props: { sessionID: string }) {
5959
group: "Composer",
6060
bind: "up",
6161
run() {
62-
const list = entries()
63-
if (list.length === 0) return
64-
setStore("selected", (prev) => (prev - 1 + list.length) % list.length)
62+
if (store.selected === 0) {
63+
composer.close()
64+
return
65+
}
66+
setStore("selected", (prev) => prev - 1)
6567
},
6668
},
6769
{

packages/tui/src/routes/session/composer/subagents-tab.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,11 @@ export function SubagentsTab(props: { sessionID: string }) {
160160
group: "Composer",
161161
bind: "up",
162162
run() {
163-
const list = entries()
164-
if (list.length === 0) return
165-
moveTo((store.selected - 1 + list.length) % list.length, true)
163+
if (store.selected === 0) {
164+
composer.close()
165+
return
166+
}
167+
moveTo(store.selected - 1, true)
166168
},
167169
},
168170
{

0 commit comments

Comments
 (0)