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 && (