From d3ef583c4a3d2f8d356c3df72fba406f443818cd Mon Sep 17 00:00:00 2001 From: Xubin Ren <52506698+Re-bin@users.noreply.github.com> Date: Sat, 6 Jun 2026 01:13:17 +0800 Subject: [PATCH] fix(webui): unify desktop header actions --- webui/src/App.tsx | 61 +++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/webui/src/App.tsx b/webui/src/App.tsx index 6c75ac0da..95e4c57ec 100644 --- a/webui/src/App.tsx +++ b/webui/src/App.tsx @@ -1,4 +1,11 @@ -import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { + useCallback, + useEffect, + useMemo, + useRef, + useState, + type ReactNode, +} from "react"; import { Moon, PanelLeft, Sun } from "lucide-react"; import { useTranslation } from "react-i18next"; import { DeleteConfirm } from "@/components/DeleteConfirm"; @@ -282,17 +289,13 @@ function HostChrome({ onSidebarPreviewEnter, onSidebarPreviewLeave, sidebarOpen = true, - theme, - onToggleTheme, - showThemeButton = true, + rightAction, }: { onToggleSidebar?: () => void; onSidebarPreviewEnter?: () => void; onSidebarPreviewLeave?: () => void; sidebarOpen?: boolean; - theme: "light" | "dark"; - onToggleTheme: () => void; - showThemeButton?: boolean; + rightAction?: ReactNode; }) { const { t } = useTranslation(); @@ -315,24 +318,11 @@ function HostChrome({ ) : null} - {showThemeButton ? ( - - ) : ( - null - )} + {rightAction ? ( +
+ {rightAction} +
+ ) : null} ); } @@ -1369,8 +1359,24 @@ function Shell({ onSidebarPreviewEnter={openHostSidebarPreview} onSidebarPreviewLeave={scheduleHostSidebarPreviewClose} sidebarOpen={hostSidebarOpen} - theme={theme} - onToggleTheme={toggle} + rightAction={ + view === "chat" ? undefined : ( + + ) + } /> ) : null}