From 59f68b8fb40ddce534d0ec269edcf57ba5e97581 Mon Sep 17 00:00:00 2001
From: dadachann <185672915+dadachann@users.noreply.github.com>
Date: Sat, 25 Jul 2026 20:59:05 +0800
Subject: [PATCH] refactor(web): streamline workspace controls
---
.../WorkspaceSettingsPanel.tsx | 11 +++
.../workspace-settings/WorkspaceSwitcher.tsx | 77 ++++++++-----------
.../unit/workspace-switcher-layout.test.mjs | 19 +++++
3 files changed, 62 insertions(+), 45 deletions(-)
diff --git a/web/src/app/home/components/workspace-settings/WorkspaceSettingsPanel.tsx b/web/src/app/home/components/workspace-settings/WorkspaceSettingsPanel.tsx
index e8df0ced8..be98d906c 100644
--- a/web/src/app/home/components/workspace-settings/WorkspaceSettingsPanel.tsx
+++ b/web/src/app/home/components/workspace-settings/WorkspaceSettingsPanel.tsx
@@ -90,6 +90,9 @@ export default function WorkspaceSettingsPanel({
const cloudMembersURL = workspaceInfo
? `${systemInfo.cloud_service_url.replace(/\/$/, '')}/cloud?workspace=${encodeURIComponent(workspaceInfo.workspace.uuid)}#workspace-members`
: '';
+ const cloudPortalURL = workspaceInfo
+ ? `${systemInfo.cloud_service_url.replace(/\/$/, '')}/cloud?workspace=${encodeURIComponent(workspaceInfo.workspace.uuid)}&step=plan`
+ : '';
const loadWorkspace = useCallback(async () => {
setLoading(true);
@@ -221,6 +224,14 @@ export default function WorkspaceSettingsPanel({
{t(`workspace.roles.${workspaceInfo.membership.role}`)}
)}
+ {isCloudProjection && workspaceInfo && (
+
+ )}
{canManageCloudMembers && (