From 0634337858d58eef150916ef80f677aa8462434c Mon Sep 17 00:00:00 2001
From: fengxiangdebaozi <10845145+fengxiangdebaozi@user.noreply.gitee.com>
Date: Thu, 23 Jul 2026 11:15:42 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E7=99=BB=E5=BD=95?=
=?UTF-8?q?=E9=9A=90=E8=97=8F=E5=A3=B3=E5=B1=82=E5=92=8C=E8=B7=AF=E7=94=B1?=
=?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../workspace/appearance-controls.tsx | 5 ++--
frontend-web/src/core/embed/embed-session.ts | 4 ++++
frontend-web/src/pages/ChatPage.tsx | 6 +++--
frontend-web/src/pages/LoginPage.tsx | 7 ++++--
frontend-web/src/pages/PageRoutes.tsx | 7 ++++++
frontend-web/src/pages/WorkspaceRoutes.tsx | 24 +++++++++++++------
6 files changed, 40 insertions(+), 13 deletions(-)
diff --git a/frontend-web/src/components/workspace/appearance-controls.tsx b/frontend-web/src/components/workspace/appearance-controls.tsx
index 0f159a88..47d53b75 100644
--- a/frontend-web/src/components/workspace/appearance-controls.tsx
+++ b/frontend-web/src/components/workspace/appearance-controls.tsx
@@ -15,6 +15,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { useTheme, type ThemeType } from "@/contexts/ThemeContext";
import { useAppearanceSettings, useLayoutMode } from "@/core/system-settings/hooks";
+import { isHideChromeActive } from "@/core/embed/embed-session";
import { env } from "@/env";
import { cn } from "@/lib/utils";
import { buildLightAppUrl } from "@/strategy-components/lib/light-app";
@@ -97,7 +98,7 @@ export function ThemeSwitcher({ tone }: { tone: AppearanceControlTone }) {
useEffect(() => () => cancelClose(), []);
- if (env.FORCE_COLLAPSED_SIDEBAR) return null;
+ if (env.FORCE_COLLAPSED_SIDEBAR || isHideChromeActive()) return null;
return (
diff --git a/frontend-web/src/core/embed/embed-session.ts b/frontend-web/src/core/embed/embed-session.ts
index 8e0f8a32..445a348f 100644
--- a/frontend-web/src/core/embed/embed-session.ts
+++ b/frontend-web/src/core/embed/embed-session.ts
@@ -151,6 +151,10 @@ export function isChromeHidden(): boolean {
return s?.embed === true || s?.hideChrome === true;
}
+export function isHideChromeActive(): boolean {
+ return readEmbedSession()?.hideChrome === true;
+}
+
/**
* 本标签页是否处于独立会话态:鉴权身份按标签页隔离(走 sessionStorage)。
* `embed` 已隐含同样的隔离,故 `authStorage()` 取「embed || isolate」之并;这里只判 `isolate`,
diff --git a/frontend-web/src/pages/ChatPage.tsx b/frontend-web/src/pages/ChatPage.tsx
index 8ee81291..5df27895 100644
--- a/frontend-web/src/pages/ChatPage.tsx
+++ b/frontend-web/src/pages/ChatPage.tsx
@@ -37,6 +37,7 @@ import { Welcome } from "@/components/workspace/welcome";
import { CompactWelcome } from "@/components/workspace/compact-welcome";
import { readSidebarEnabled } from "@/core/page-layout/sidebar-enabled";
import { isChatsIframeWorkspacePath } from "@/core/page-layout/chats-iframe-route";
+import { isHideChromeActive } from "@/core/embed/embed-session";
import { useSidebar } from "@/components/ui/sidebar";
import { Button } from "@/components/ui/button";
import { PanelLeftOpen } from "lucide-react";
@@ -459,6 +460,7 @@ export default function ChatPage() {
const compactChrome =
chromeByPreference && !isChatsIframeWorkspacePath(pathname);
const compactLanding = isLandingState && compactChrome;
+ const compactActionsHidden = isHideChromeActive();
return (
@@ -483,7 +485,7 @@ export default function ChatPage() {
{/* 仅在收起态显示「展开历史」钮;展开后由侧栏内(新对话右侧)的收起钮负责收起。 */}
- {compactChrome && !historySidebarOpen && (
+ {compactChrome && !historySidebarOpen && !compactActionsHidden && (