diff options
Diffstat (limited to 'packages/app/src/context/layout.tsx')
| -rw-r--r-- | packages/app/src/context/layout.tsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx index 5bb6f92ec..414c3d6f1 100644 --- a/packages/app/src/context/layout.tsx +++ b/packages/app/src/context/layout.tsx @@ -82,6 +82,10 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( diffStyle: "split" as ReviewDiffStyle, panelOpened: true, }, + fileTree: { + opened: false, + width: 260, + }, session: { width: 600, }, @@ -449,6 +453,38 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( setStore("review", "diffStyle", diffStyle) }, }, + fileTree: { + opened: createMemo(() => store.fileTree?.opened ?? false), + width: createMemo(() => store.fileTree?.width ?? 260), + open() { + if (!store.fileTree) { + setStore("fileTree", { opened: true, width: 260 }) + return + } + setStore("fileTree", "opened", true) + }, + close() { + if (!store.fileTree) { + setStore("fileTree", { opened: false, width: 260 }) + return + } + setStore("fileTree", "opened", false) + }, + toggle() { + if (!store.fileTree) { + setStore("fileTree", { opened: true, width: 260 }) + return + } + setStore("fileTree", "opened", (x) => !x) + }, + resize(width: number) { + if (!store.fileTree) { + setStore("fileTree", { opened: true, width }) + return + } + setStore("fileTree", "width", width) + }, + }, session: { width: createMemo(() => store.session?.width ?? 600), resize(width: number) { |
