From 2b4cfb3d07a5daa4fb35ce5b7662c7f647cbdd98 Mon Sep 17 00:00:00 2001 From: Matt Toohey Date: Mon, 6 Jul 2026 17:22:00 +1000 Subject: [PATCH] fix: remove project sidebar toggle Signed-off-by: Matt Toohey --- .../lib/features/projects/ProjectHome.svelte | 42 +------------------ .../features/projects/ProjectsSidebar.svelte | 4 +- .../projects/projectsSidebarState.svelte.ts | 16 +------ 3 files changed, 3 insertions(+), 59 deletions(-) diff --git a/apps/staged/src/lib/features/projects/ProjectHome.svelte b/apps/staged/src/lib/features/projects/ProjectHome.svelte index 3048685e..4493d246 100644 --- a/apps/staged/src/lib/features/projects/ProjectHome.svelte +++ b/apps/staged/src/lib/features/projects/ProjectHome.svelte @@ -9,8 +9,6 @@ import AlertCircle from '@lucide/svelte/icons/alert-circle'; import CirclePause from '@lucide/svelte/icons/circle-pause'; import Cloud from '@lucide/svelte/icons/cloud'; - import PanelLeftClose from '@lucide/svelte/icons/panel-left-close'; - import PanelLeftOpen from '@lucide/svelte/icons/panel-left-open'; import Pause from '@lucide/svelte/icons/pause'; import Plus from '@lucide/svelte/icons/plus'; import Trash2 from '@lucide/svelte/icons/trash-2'; @@ -39,12 +37,7 @@ import * as AlertDialog from '$lib/components/ui/alert-dialog'; import { Button } from '$lib/components/ui/button'; import { toast } from 'svelte-sonner'; - import { - projectsSidebarState, - setProjects, - setProjectsSidebarCollapsed, - } from './projectsSidebarState.svelte'; - import { viewport } from '../../shared/viewport.svelte'; + import { setProjects } from './projectsSidebarState.svelte'; import { workspaceLifecycle } from './workspaceLifecycle.svelte'; import { projectRunActionsStore } from '../../stores/projectRunActions.svelte'; import { repoBadgeStore } from '../../stores/repoBadges.svelte'; @@ -724,8 +717,6 @@ ) : new Set() ); - let sidebarOpen = $derived(!projectsSidebarState.collapsed); - let reposByProject = $derived( new Map( projects.map((project) => { @@ -1075,10 +1066,6 @@ } } - function toggleProjectsSidebar() { - setProjectsSidebarCollapsed(!projectsSidebarState.collapsed); - } - async function handleTopBarRepoSelected(selection: RepoPickerSelection) { const project = selectedProject; if (!project) return; @@ -1162,38 +1149,11 @@ -{#snippet projectTopBarLeftActions()} - {#if !viewport.isMobile} - - - - {/if} -{/snippet} - {#snippet projectTopBarCenter()} {#if selectedProject && showTopBarProjectName} {@const topBarProjectName = projectDisplayName(selectedProject)} diff --git a/apps/staged/src/lib/features/projects/ProjectsSidebar.svelte b/apps/staged/src/lib/features/projects/ProjectsSidebar.svelte index b6d4527c..fe69c1d6 100644 --- a/apps/staged/src/lib/features/projects/ProjectsSidebar.svelte +++ b/apps/staged/src/lib/features/projects/ProjectsSidebar.svelte @@ -300,9 +300,7 @@ let resizing = $state(false); let resizeStartX = 0; let resizeStartWidth = SIDEBAR_DEFAULT_WIDTH; - let sidebarVisible = $derived( - projectsSidebarState.hasProjects && !viewport.isMobile && !projectsSidebarState.collapsed - ); + let sidebarVisible = $derived(projectsSidebarState.hasProjects && !viewport.isMobile); let sidebarStyle = $derived(`width: ${projectsSidebarState.width}px;`); onMount(() => { diff --git a/apps/staged/src/lib/features/projects/projectsSidebarState.svelte.ts b/apps/staged/src/lib/features/projects/projectsSidebarState.svelte.ts index 0f43904e..af74d517 100644 --- a/apps/staged/src/lib/features/projects/projectsSidebarState.svelte.ts +++ b/apps/staged/src/lib/features/projects/projectsSidebarState.svelte.ts @@ -2,7 +2,6 @@ import type { Project } from '../../types'; import { getStoreValue, setStoreValue } from '../../shared/persistentStore'; const SIDEBAR_WIDTH_KEY = 'projects-sidebar-width'; -const SIDEBAR_COLLAPSED_KEY = 'projects-sidebar-collapsed'; export const SIDEBAR_DEFAULT_WIDTH = 280; export const SIDEBAR_MIN_WIDTH = 220; @@ -22,7 +21,6 @@ export const projectsList = $state<{ current: Project[] }>({ current: [] }); export const projectsSidebarState = $state({ width: SIDEBAR_DEFAULT_WIDTH, - collapsed: false, hydrated: false, hasProjects: true, scrollTop: 0, @@ -31,17 +29,11 @@ export const projectsSidebarState = $state({ export async function hydrateProjectsSidebarState(): Promise { if (projectsSidebarState.hydrated) return; - const [savedWidth, savedCollapsed] = await Promise.all([ - getStoreValue(SIDEBAR_WIDTH_KEY), - getStoreValue(SIDEBAR_COLLAPSED_KEY), - ]); + const savedWidth = await getStoreValue(SIDEBAR_WIDTH_KEY); if (typeof savedWidth === 'number' && Number.isFinite(savedWidth)) { projectsSidebarState.width = clampWidth(savedWidth); } - if (typeof savedCollapsed === 'boolean') { - projectsSidebarState.collapsed = savedCollapsed; - } projectsSidebarState.hydrated = true; } @@ -65,9 +57,3 @@ export function setProjectsSidebarScrollTop(scrollTop: number): void { if (!Number.isFinite(scrollTop)) return; projectsSidebarState.scrollTop = Math.max(0, scrollTop); } - -export function setProjectsSidebarCollapsed(collapsed: boolean): void { - if (projectsSidebarState.collapsed === collapsed) return; - projectsSidebarState.collapsed = collapsed; - void setStoreValue(SIDEBAR_COLLAPSED_KEY, collapsed); -}