diff --git a/packages/bruno-app/src/components/RequestTabPanel/index.js b/packages/bruno-app/src/components/RequestTabPanel/index.js
index 81765391f..c438ef9dd 100644
--- a/packages/bruno-app/src/components/RequestTabPanel/index.js
+++ b/packages/bruno-app/src/components/RequestTabPanel/index.js
@@ -52,6 +52,7 @@ const RequestTabPanel = () => {
const _collections = useSelector((state) => state.collections.collections);
const preferences = useSelector((state) => state.app.preferences);
const isVerticalLayout = preferences?.layout?.responsePaneOrientation === 'vertical';
+ const isConsoleOpen = useSelector((state) => state.logs.isConsoleOpen);
// Use ref to avoid stale closure in event handlers
const isVerticalLayoutRef = useRef(isVerticalLayout);
@@ -80,6 +81,7 @@ const RequestTabPanel = () => {
const draggingRef = useRef(false);
const { left: leftPaneWidth, top: topPaneHeight, reset: resetPaneBoundaries, setTop: setTopPaneHeight, setLeft: setLeftPaneWidth } = useTabPaneBoundaries(activeTabUid);
+ const previousTopPaneHeight = useRef(null); // Store height before devtools opens
// Not a recommended pattern here to have the child component
// make a callback to set state, but treating this as an exception
@@ -145,6 +147,30 @@ const RequestTabPanel = () => {
};
}, [handleMouseUp, handleMouseMove]);
+ // When devtools opens in vertical layout, reduce request pane height to ensure response pane is visible
+ // When devtools closes, restore the previous height
+ useEffect(() => {
+ if (!isVerticalLayout) return;
+
+ if (isConsoleOpen) {
+ // Store current height before reducing
+ if (previousTopPaneHeight.current === null) {
+ previousTopPaneHeight.current = topPaneHeight;
+ }
+ // Reduce request pane height to make room for response pane when devtools is open
+ const maxHeight = 200;
+ if (topPaneHeight > maxHeight) {
+ setTopPaneHeight(maxHeight);
+ }
+ } else {
+ // Restore previous height when devtools closes
+ if (previousTopPaneHeight.current !== null) {
+ setTopPaneHeight(previousTopPaneHeight.current);
+ previousTopPaneHeight.current = null;
+ }
+ }
+ }, [isConsoleOpen, isVerticalLayout]);
+
if (!activeTabUid) {
return ;
}
diff --git a/packages/bruno-app/src/components/ResponsePane/Placeholder/index.js b/packages/bruno-app/src/components/ResponsePane/Placeholder/index.js
index 4a315ca26..0dacc3fc7 100644
--- a/packages/bruno-app/src/components/ResponsePane/Placeholder/index.js
+++ b/packages/bruno-app/src/components/ResponsePane/Placeholder/index.js
@@ -12,12 +12,14 @@ const Placeholder = () => {
const preferences = useSelector((state) => state.app.preferences);
const isVerticalLayout = preferences?.layout?.responsePaneOrientation === 'vertical';
+ const iconSize = isVerticalLayout ? 80 : 150;
+
return (
-