diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 1ba0c3d230a0..3d9f37ca73b9 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 24c7e4c3abe4..448813420223 100644 --- a/packages/app/src/pages/home.tsx +++ b/packages/app/src/pages/home.tsx @@ -47,6 +47,7 @@ import { useSettings } from "@/context/settings" 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 = @@ -452,6 +453,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 (