fix: toggling right pane visibility incorrectly affects all windows
Some checks are pending
Checks / main (push) Waiting to run

This commit is contained in:
SiriusXT 2026-01-02 11:31:59 +08:00
parent 644d3a181f
commit 3420374649
2 changed files with 7 additions and 7 deletions

View File

@ -3,15 +3,15 @@ import clsx from "clsx";
import { t } from "../../services/i18n";
import options from "../../services/options";
import ActionButton from "../react/ActionButton";
import { useState } from "preact/hooks";
import { useState, useCallback } from "preact/hooks";
import { useTriliumEvent } from "../react/hooks";
export default function RightPaneToggle() {
const [ rightPaneVisible, setRightPaneVisible ] = useState(options.is("rightPaneVisible"));
useTriliumEvent("toggleRightPane", () => {
useTriliumEvent("toggleRightPane", useCallback(() => {
setRightPaneVisible(current => !current);
});
}, []));
return (
<ActionButton

View File

@ -3,7 +3,7 @@ import "./RightPanelContainer.css";
import Split from "@triliumnext/split.js";
import { VNode } from "preact";
import { useState, useEffect, useRef } from "preact/hooks";
import { useState, useEffect, useRef, useCallback } from "preact/hooks";
import appContext from "../../components/app_context";
import { WidgetsByParent } from "../../services/bundle";
@ -11,7 +11,7 @@ import { t } from "../../services/i18n";
import options from "../../services/options";
import { DEFAULT_GUTTER_SIZE } from "../../services/resizer";
import Button from "../react/Button";
import { useActiveNoteContext, useLegacyWidget, useNoteProperty, useTriliumEvent, useTriliumOptionBool, useTriliumOptionJson } from "../react/hooks";
import { useActiveNoteContext, useLegacyWidget, useNoteProperty, useTriliumEvent, useTriliumOptionJson } from "../react/hooks";
import Icon from "../react/Icon";
import LegacyRightPanelWidget from "../right_panel_widget";
import HighlightsList from "./HighlightsList";
@ -30,13 +30,13 @@ export default function RightPanelContainer({ widgetsByParent }: { widgetsByPare
const [ rightPaneVisible, setRightPaneVisible ] = useState(options.is("rightPaneVisible"));
const items = useItems(rightPaneVisible, widgetsByParent);
useSplit(rightPaneVisible);
useTriliumEvent("toggleRightPane", () => {
useTriliumEvent("toggleRightPane", useCallback(() => {
setRightPaneVisible(current => {
const newValue = !current;
options.save("rightPaneVisible", newValue.toString());
return newValue;
});
});
}, []));
return (
<div id="right-pane">