From dac923e45d9a225d6f1f030f227f9b656a612948 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Dec 2025 23:17:25 +0200 Subject: [PATCH] chore(layout/right_pane): bring back resizer --- .../widgets/sidebar/RightPanelContainer.tsx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apps/client/src/widgets/sidebar/RightPanelContainer.tsx b/apps/client/src/widgets/sidebar/RightPanelContainer.tsx index b00386a10..8b57147ce 100644 --- a/apps/client/src/widgets/sidebar/RightPanelContainer.tsx +++ b/apps/client/src/widgets/sidebar/RightPanelContainer.tsx @@ -1,7 +1,28 @@ //! This is currently only used for the new layout. import "./RightPanelContainer.css"; +import Split from "@triliumnext/split.js"; +import { useEffect } from "preact/hooks"; + +import options from "../../services/options"; +import { DEFAULT_GUTTER_SIZE } from "../../services/resizer"; + +const MIN_WIDTH_PERCENT = 5; + export default function RightPanelContainer() { + useEffect(() => { + // We are intentionally omitting useTriliumOption to avoid re-render due to size change. + const rightPaneWidth = Math.max(MIN_WIDTH_PERCENT, options.getInt("rightPaneWidth") ?? MIN_WIDTH_PERCENT); + const splitInstance = Split(["#center-pane", "#right-pane"], { + sizes: [100 - rightPaneWidth, rightPaneWidth], + gutterSize: DEFAULT_GUTTER_SIZE, + minSize: [300, 180], + rtl: glob.isRtl, + onDragEnd: (sizes) => options.save("rightPaneWidth", Math.round(sizes[1])) + }); + return () => splitInstance.destroy(); + }, []); + return (
Hi there.