From ba3316c246ef84928ddbb4c2806c7fcb64d04d00 Mon Sep 17 00:00:00 2001 From: Brandon Oxendine Date: Mon, 17 Aug 2026 16:53:02 +0200 Subject: [PATCH] Add a collapsible, resizable sidebar The sidebar collapses to a narrow rail of icons. Its collapsed state and its width both persist across launches. --- src/App.svelte | 58 ++- src/components/AppSidebar.svelte | 642 +++++++++++++++++++++----- src/components/IdentityButton.svelte | 11 +- src/components/SidebarRepoList.svelte | 231 +++++++-- src/lib/flip.ts | 86 ++++ src/lib/sidebar.svelte.ts | 96 ++++ 6 files changed, 932 insertions(+), 192 deletions(-) create mode 100644 src/lib/flip.ts create mode 100644 src/lib/sidebar.svelte.ts diff --git a/src/App.svelte b/src/App.svelte index 939cfd188..4bc07f02d 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -21,6 +21,7 @@ import { hide, toggle } from "@app/lib/modal"; import * as router from "@app/lib/router"; import { isLoadedRepoRoute } from "@app/lib/router/definitions"; + import { toggleSidebar } from "@app/lib/sidebar.svelte"; import { setUnlistenNodeEvents, unlistenNodeEvents, @@ -151,9 +152,13 @@ -