Skip to content

Commit cac35bc

Browse files
committed
fix(app): global terminal/review pane toggles
1 parent ecc51dd commit cac35bc

1 file changed

Lines changed: 13 additions & 15 deletions

File tree

packages/app/src/context/layout.tsx

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ type SessionTabs = {
3333
type SessionView = {
3434
scroll: Record<string, SessionScroll>
3535
reviewOpen?: string[]
36-
terminalOpened?: boolean
37-
reviewPanelOpened?: boolean
3836
}
3937

4038
export type LocalProject = Partial<Project> & { worktree: string; expanded: boolean }
@@ -78,9 +76,11 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
7876
},
7977
terminal: {
8078
height: 280,
79+
opened: false,
8180
},
8281
review: {
8382
diffStyle: "split" as ReviewDiffStyle,
83+
panelOpened: true,
8484
},
8585
session: {
8686
width: 600,
@@ -172,7 +172,7 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
172172
const current = store.sessionView[sessionKey]
173173
const keep = meta.active ?? sessionKey
174174
if (!current) {
175-
setStore("sessionView", sessionKey, { scroll: next, terminalOpened: false, reviewPanelOpened: true })
175+
setStore("sessionView", sessionKey, { scroll: next })
176176
prune(keep)
177177
return
178178
}
@@ -379,31 +379,31 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
379379
touch(sessionKey)
380380
scroll.seed(sessionKey)
381381
const s = createMemo(() => store.sessionView[sessionKey] ?? { scroll: {} })
382-
const terminalOpened = createMemo(() => s().terminalOpened ?? false)
383-
const reviewPanelOpened = createMemo(() => s().reviewPanelOpened ?? true)
382+
const terminalOpened = createMemo(() => store.terminal?.opened ?? false)
383+
const reviewPanelOpened = createMemo(() => store.review?.panelOpened ?? true)
384384

385385
function setTerminalOpened(next: boolean) {
386-
const current = store.sessionView[sessionKey]
386+
const current = store.terminal
387387
if (!current) {
388-
setStore("sessionView", sessionKey, { scroll: {}, terminalOpened: next, reviewPanelOpened: true })
388+
setStore("terminal", { height: 280, opened: next })
389389
return
390390
}
391391

392-
const value = current.terminalOpened ?? false
392+
const value = current.opened ?? false
393393
if (value === next) return
394-
setStore("sessionView", sessionKey, "terminalOpened", next)
394+
setStore("terminal", "opened", next)
395395
}
396396

397397
function setReviewPanelOpened(next: boolean) {
398-
const current = store.sessionView[sessionKey]
398+
const current = store.review
399399
if (!current) {
400-
setStore("sessionView", sessionKey, { scroll: {}, terminalOpened: false, reviewPanelOpened: next })
400+
setStore("review", { diffStyle: "split" as ReviewDiffStyle, panelOpened: next })
401401
return
402402
}
403403

404-
const value = current.reviewPanelOpened ?? true
404+
const value = current.panelOpened ?? true
405405
if (value === next) return
406-
setStore("sessionView", sessionKey, "reviewPanelOpened", next)
406+
setStore("review", "panelOpened", next)
407407
}
408408

409409
return {
@@ -444,8 +444,6 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext(
444444
if (!current) {
445445
setStore("sessionView", sessionKey, {
446446
scroll: {},
447-
terminalOpened: false,
448-
reviewPanelOpened: true,
449447
reviewOpen: open,
450448
})
451449
return

0 commit comments

Comments
 (0)