From bed2060ba52aa030822f80a902b478c7830877cb Mon Sep 17 00:00:00 2001 From: Till JS Date: Thu, 2 Apr 2026 23:51:54 +0200 Subject: [PATCH] fix(manacore/web): fix height resize using element's current height as start value When heightPx is not yet set, use the element's actual offsetHeight instead of 0 so the first drag correctly adjusts height. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../components/page-carousel/PageShell.svelte | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte index f19f08533..1c6ec608a 100644 --- a/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte +++ b/apps/manacore/apps/web/src/lib/components/page-carousel/PageShell.svelte @@ -50,27 +50,24 @@ const MAX_HEIGHT = 2000; let resizing = $state(false); + let shellEl = $state(null); function handleResizeStart(startX: number, startY: number) { if (!onResize) return; const startWidth = widthPx; - const startHeight = heightPx ?? 0; + const startHeight = heightPx ?? shellEl?.offsetHeight ?? MIN_HEIGHT; resizing = true; document.body.style.userSelect = 'none'; document.body.style.cursor = 'nwse-resize'; function onMove(clientX: number, clientY: number) { const deltaX = clientX - startX; + const deltaY = clientY - startY; const newWidth = Math.round(Math.min(MAX_WIDTH, Math.max(MIN_WIDTH, startWidth + deltaX))); - if (startHeight > 0) { - const deltaY = clientY - startY; - const newHeight = Math.round( - Math.min(MAX_HEIGHT, Math.max(MIN_HEIGHT, startHeight + deltaY)) - ); - onResize!(newWidth, newHeight); - } else { - onResize!(newWidth); - } + const newHeight = Math.round( + Math.min(MAX_HEIGHT, Math.max(MIN_HEIGHT, startHeight + deltaY)) + ); + onResize!(newWidth, newHeight); } function onEnd() { @@ -108,6 +105,7 @@