From 3cc626b5dac0bad917757c6010134fc4ffd813ca Mon Sep 17 00:00:00 2001 From: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Date: Tue, 23 Jun 2026 14:11:54 +0530 Subject: [PATCH] feat(app): collapsible servers (#33384) --- packages/app/src/i18n/en.ts | 2 ++ packages/app/src/pages/home.tsx | 37 +++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 1ba0c3d23..3d9f37ca7 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -589,6 +589,8 @@ export const dict = { "home.title": "Home", "home.projects": "Projects", "home.project.add": "Add project", + "home.server.collapse": "Collapse server projects", + "home.server.expand": "Expand server projects", "home.sessions.search.placeholder": "Search sessions", "home.sessions.search.sessions": "Sessions", "home.sessions.search.noResults": "No sessions found for {{query}}", diff --git a/packages/app/src/pages/home.tsx b/packages/app/src/pages/home.tsx index d5ebe0b77..ac9ee63ed 100644 --- a/packages/app/src/pages/home.tsx +++ b/packages/app/src/pages/home.tsx @@ -46,6 +46,7 @@ import { useCommand } from "@/context/command" import { ServerRowMenu } from "@/components/server/server-row-menu" import { ServerHealthIndicator } from "@/components/server/server-row" import { type ServerHealth } from "@/utils/server-health" +import { Persist, persisted } from "@/utils/persist" const HOME_SESSION_LIMIT = 64 const HOME_ROW_LAYOUT = @@ -448,6 +449,10 @@ function HomeProjectColumn(props: { const global = useGlobal() const dialog = useDialog() const controller = useServerManagementController({ navigateOnAdd: false }) + const [state, setState] = persisted( + Persist.global("home.servers", ["home.servers.v1"]), + createStore({ collapsed: {} as Record }), + ) return (