diff --git a/web/hwlab-cloud-web/src/App.tsx b/web/hwlab-cloud-web/src/App.tsx index f7c7587a..02bb2474 100644 --- a/web/hwlab-cloud-web/src/App.tsx +++ b/web/hwlab-cloud-web/src/App.tsx @@ -8,6 +8,7 @@ import { useWorkbenchStore } from "./state/workbench"; import type { RouteId } from "./types/domain"; import { LoginShell } from "./components/auth/LoginShell"; import { CommandBar } from "./components/command-bar/CommandBar"; +import { recordDraft } from "./components/command-bar/DraftsList"; import { ConversationPanel } from "./components/conversation/ConversationPanel"; import { DevicePodSidebar } from "./components/device-pod/DevicePodSidebar"; import { ActivityRail } from "./components/layout/ActivityRail"; @@ -26,6 +27,14 @@ const RIGHT_SIDEBAR_DEFAULT_WIDTH = 728; const RIGHT_SIDEBAR_MIN_WIDTH = 560; const RIGHT_SIDEBAR_MAX_WIDTH = 900; +const routeLabels: Record = { + workspace: "工作台", + skills: "Skills", + gate: "内部复核", + help: "使用说明", + settings: "设置" +}; + export function App(): ReactElement { const auth = useAuth(); const store = useWorkbenchStore(auth.authState === "authenticated"); @@ -92,6 +101,9 @@ export function App(): ReactElement { }, [route]); const modelLabel = useMemo(() => store.state.providerProfile === "codex-api" ? "Codex API" : store.state.providerProfile === "minimax-m3" ? "MiniMax-M3" : "DeepSeek", [store.state.providerProfile]); + const workspaceRoute = route === "workspace"; + const sessionSidebarVisible = workspaceRoute && !leftCollapsed; + const devicePodSidebarVisible = workspaceRoute && !rightCollapsed; function navigate(nextRoute: RouteId): void { window.location.hash = `/${nextRoute}`; @@ -109,64 +121,83 @@ export function App(): ReactElement { data-help-route-policy="non-default-internal-help" data-internal-help-path="/help.md" > - setLeftCollapsed((value) => !value)} /> - void store.createSession()} onDelete={() => void store.deleteCurrentSession()} onSelect={(tab) => void store.selectConversation(tab)} /> -