From 134d73da9bf9e7ee2333bf56d8e7fe6b523400d1 Mon Sep 17 00:00:00 2001 From: Quinten Kock Date: Sun, 3 May 2026 05:00:09 +0200 Subject: [PATCH] Make sidebar hidable with Ctrl+B --- src/app/editorgrid.ts | 5 +++++ src/app/renderer.ts | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/app/editorgrid.ts b/src/app/editorgrid.ts index bd1775f..61bdd56 100644 --- a/src/app/editorgrid.ts +++ b/src/app/editorgrid.ts @@ -8,6 +8,7 @@ import { Editor } from "./editor"; import { Terminal } from "./terminal"; import { Displayable } from "./displayable"; import { QuickOpen } from "./quickopen"; +import { toggleSidebar } from "./renderer"; const EditorWrapper = ( editor: State, @@ -141,6 +142,10 @@ function shortcutHandler(e: KeyboardEvent) { QuickOpen.open(); } e.preventDefault(); + } else if (e.key === "b" && e.ctrlKey) { + if (e.type === "keydown") { + toggleSidebar(); + } } } diff --git a/src/app/renderer.ts b/src/app/renderer.ts index 8953b54..e2d46a6 100644 --- a/src/app/renderer.ts +++ b/src/app/renderer.ts @@ -15,11 +15,22 @@ function newFile() { addEditor(file); } +export function toggleSidebar() { + if (sidebar.val == "none") { + sidebar.val = "tree"; + } else if (sidebar.val == "tree") { + sidebar.val = "none"; + } +} + +export const sidebar = van.state<"tree" | "none">("tree"); + const app = v.div( { class: "h-screen max-h-screen w-screen max-w-screen flex" }, v.aside( { class: "flex-none resize-x overflow-x-hidden overflow-y-scroll w-3xs min-w-32", + hidden: () => sidebar.val != "tree", }, u.InlineButton(addTab, "Add Tab", "+Tab"), u.InlineButton(newFile, "Add Editor", "+File"),