From 7d58fe76bb733daf91f2fbfdf91da4a906ab0b48 Mon Sep 17 00:00:00 2001 From: System233 Date: Fri, 21 Feb 2025 05:08:58 +0800 Subject: [PATCH] Fix settings done button with unsaved changes --- webview-ui/src/App.tsx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/webview-ui/src/App.tsx b/webview-ui/src/App.tsx index 3980f38cc8..3ae441cd52 100644 --- a/webview-ui/src/App.tsx +++ b/webview-ui/src/App.tsx @@ -28,16 +28,13 @@ const App = () => { const [tab, setTab] = useState("chat") const settingsRef = useRef(null) - const switchTab = useCallback( - (newTab: Tab) => { - if (tab === "settings" && settingsRef.current?.checkUnsaveChanges) { - settingsRef.current.checkUnsaveChanges(() => setTab(newTab)) - } else { - setTab(newTab) - } - }, - [tab], - ) + const switchTab = useCallback((newTab: Tab) => { + if (settingsRef.current?.checkUnsaveChanges) { + settingsRef.current.checkUnsaveChanges(() => setTab(newTab)) + } else { + setTab(newTab) + } + }, []) const onMessage = useCallback( (e: MessageEvent) => { @@ -73,7 +70,7 @@ const App = () => { ) : ( <> - {tab === "settings" && switchTab("chat")} />} + {tab === "settings" && setTab("chat")} />} {tab === "history" && switchTab("chat")} />} {tab === "mcp" && switchTab("chat")} />} {tab === "prompts" && switchTab("chat")} />}