From eef094831c6ab77705e5174f08a3da354586a881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BA=B8=E9=B9=BF/Zhilu?= Date: Tue, 20 Oct 2026 20:31:03 +0800 Subject: [PATCH] fix(hub-ui): account for panel offsets when resizing Subtract the panel left/top offset for mouse input as well as touch input when dragging the right or bottom edge. --- .../hub-ui/src/client/components/dock/DockPanelResizer.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/hub-ui/src/client/components/dock/DockPanelResizer.vue b/packages/hub-ui/src/client/components/dock/DockPanelResizer.vue index 1d99bacc4..e6cde4b08 100644 --- a/packages/hub-ui/src/client/components/dock/DockPanelResizer.vue +++ b/packages/hub-ui/src/client/components/dock/DockPanelResizer.vue @@ -48,7 +48,7 @@ function handleResize(e: MouseEvent | TouchEvent) { let widthPx: number, heightPx: number if (resizingState.value.right) { - widthPx = Math.abs(e instanceof MouseEvent ? e.clientX : (e.touches[0]?.clientX || 0) - (box?.left || 0)) + widthPx = Math.abs((e instanceof MouseEvent ? e.clientX : (e.touches[0]?.clientX || 0)) - (box?.left || 0)) store.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100)) } else if (resizingState.value.left) { @@ -61,7 +61,7 @@ function handleResize(e: MouseEvent | TouchEvent) { store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100)) } else if (resizingState.value.bottom) { - heightPx = Math.abs(e instanceof MouseEvent ? e.clientY : (e.touches[0]?.clientY || 0) - (box?.top || 0)) + heightPx = Math.abs((e instanceof MouseEvent ? e.clientY : (e.touches[0]?.clientY || 0)) - (box?.top || 0)) store.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100)) } }