From 5aa0a956dd7e789380e9108a7400401a90225a6d Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Fri, 2 Jan 2026 10:25:34 +0800 Subject: [PATCH] fix: toggling right pane visibility incorrectly affects all windows --- .../src/widgets/buttons/right_pane_toggle.tsx | 15 ++++++++------- .../src/widgets/sidebar/RightPanelContainer.tsx | 10 +++------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/apps/client/src/widgets/buttons/right_pane_toggle.tsx b/apps/client/src/widgets/buttons/right_pane_toggle.tsx index e9253dc37..0b5e59f34 100644 --- a/apps/client/src/widgets/buttons/right_pane_toggle.tsx +++ b/apps/client/src/widgets/buttons/right_pane_toggle.tsx @@ -5,10 +5,15 @@ import ActionButton from "../react/ActionButton"; import { useTriliumOptionBool } from "../react/hooks"; import { useState } from "preact/hooks"; import appContext from "../../components/app_context"; +import { useTriliumEvent } from "../react/hooks"; +import options from "../../services/options"; export default function RightPaneToggle() { - const [rightPaneVisibleOption, setRightPaneVisibleOption] = useTriliumOptionBool("rightPaneVisible"); - const [rightPaneVisible, setRightPaneVisible] = useState(rightPaneVisibleOption); + const [rightPaneVisible, setRightPaneVisible] = useState(options.is("rightPaneVisible")); + + useTriliumEvent("toggleRightPane", () => { + setRightPaneVisible(!rightPaneVisible); + }); return ( { - setRightPaneVisible(!rightPaneVisible); - setRightPaneVisibleOption(!rightPaneVisible); - appContext.triggerEvent("toggleRightPane", {}); - }} + triggerCommand="toggleRightPane" /> ); } diff --git a/apps/client/src/widgets/sidebar/RightPanelContainer.tsx b/apps/client/src/widgets/sidebar/RightPanelContainer.tsx index 27c13fb12..2ecb43f27 100644 --- a/apps/client/src/widgets/sidebar/RightPanelContainer.tsx +++ b/apps/client/src/widgets/sidebar/RightPanelContainer.tsx @@ -27,12 +27,11 @@ interface RightPanelWidgetDefinition { } export default function RightPanelContainer({ widgetsByParent }: { widgetsByParent: WidgetsByParent }) { - const [rightPaneVisibleOption, setRightPaneVisibleOption] = useTriliumOptionBool("rightPaneVisible"); - const [rightPaneVisible, setRightPaneVisible] = useState(rightPaneVisibleOption); + const [rightPaneVisible, setRightPaneVisible] = useState(options.is("rightPaneVisible")); const items = useItems(rightPaneVisible, widgetsByParent); useSplit(rightPaneVisible); useTriliumEvent("toggleRightPane", () => { - setRightPaneVisibleOption(!rightPaneVisible); + options.save("rightPaneVisible",(!rightPaneVisible).toString()); setRightPaneVisible(!rightPaneVisible); }); @@ -47,10 +46,7 @@ export default function RightPanelContainer({ widgetsByParent }: { widgetsByPare {t("right_pane.empty_message")}