diff --git a/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue b/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue index bfdcf9f9..c6eacd7c 100644 --- a/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue +++ b/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue @@ -49,18 +49,17 @@ const clampedLeftWidth = computed(() => clamp(props.leftWidth, props.minLeftWidt const clampedRightWidth = computed(() => clamp(props.rightWidth, props.minRightWidth, props.maxRightWidth)); const layoutStyle = computed(() => { - const leftColumn = props.leftCollapsed - ? `${props.leftCollapsedWidth}px` + const leftCol = props.leftCollapsed + ? '0px' : `minmax(${props.leftCollapsedWidth}px, ${clampedLeftWidth.value}%)`; + const leftResizerCol = props.leftCollapsed ? '0px' : '6px'; if (!props.rightOpen) { - const leftCol = props.leftCollapsed ? '0px' : leftColumn; - const resizerCol = props.leftCollapsed ? '0px' : '6px'; - return { gridTemplateColumns: `${leftCol} ${resizerCol} minmax(0, 1fr)` }; + return { gridTemplateColumns: `${leftCol} ${leftResizerCol} minmax(0, 1fr)` }; } const mainShare = props.rightCollapsed ? "minmax(0, 1fr)" : `minmax(0, ${100 - clampedRightWidth.value}fr)`; const rightResizeColumn = props.rightCollapsed ? "0" : "6px"; const rightColumn = props.rightCollapsed ? "0px" : `minmax(280px, ${clampedRightWidth.value}fr)`; - return { gridTemplateColumns: `${leftColumn} 6px ${mainShare} ${rightResizeColumn} ${rightColumn}` }; + return { gridTemplateColumns: `${leftCol} ${leftResizerCol} ${mainShare} ${rightResizeColumn} ${rightColumn}` }; }); onBeforeUnmount(() => stopResize()); @@ -109,12 +108,9 @@ function clamp(value: number, min: number, max: number): number { :data-right-collapsed="rightCollapsed" :data-resizing="resizing || undefined" > -