diff --git a/desktop/src/features/channels/ui/ChannelPane.tsx b/desktop/src/features/channels/ui/ChannelPane.tsx index a3954b6c9d..8192941efe 100644 --- a/desktop/src/features/channels/ui/ChannelPane.tsx +++ b/desktop/src/features/channels/ui/ChannelPane.tsx @@ -180,7 +180,7 @@ export const ChannelPane = React.memo(function ChannelPane({ const timelineScrollRef = React.useRef(null); const composerWrapperRef = React.useRef(null); useComposerHeightPadding(timelineScrollRef, composerWrapperRef); - const { isOpen: isTerminalOpen, close: closeTerminal } = useTerminal(); + const { isOpen: isTerminalOpen } = useTerminal(); React.useEffect(() => { if (typeof window === "undefined") { @@ -439,13 +439,10 @@ export const ChannelPane = React.memo(function ChannelPane({ {activeChannel && isTerminalOpen ? ( -
- -
+ ) : null} diff --git a/desktop/src/features/terminal/TerminalPanel.tsx b/desktop/src/features/terminal/TerminalPanel.tsx index 06d588420d..cb22715b3f 100644 --- a/desktop/src/features/terminal/TerminalPanel.tsx +++ b/desktop/src/features/terminal/TerminalPanel.tsx @@ -1,5 +1,4 @@ import * as React from "react"; -import { X, Minus, GripHorizontal } from "lucide-react"; import { TerminalInstance } from "./TerminalInstance"; @@ -31,14 +30,9 @@ function getInitialTerminalHeight(): number { type TerminalPanelProps = { channelId: string; isOpen: boolean; - onClose: () => void; }; -export function TerminalPanel({ - channelId, - isOpen, - onClose, -}: TerminalPanelProps) { +export function TerminalPanel({ channelId, isOpen }: TerminalPanelProps) { const [heightPx, setHeightPx] = React.useState(getInitialTerminalHeight); // Persist height to session storage. @@ -53,8 +47,13 @@ export function TerminalPanel({ } }, [heightPx]); + // Resize via pointer drag on the top edge. const handleResizeStart = React.useCallback( - (event: React.PointerEvent) => { + (event: React.PointerEvent) => { + // Only trigger on the top 6px of the container. + const rect = event.currentTarget.getBoundingClientRect(); + if (event.clientY - rect.top > 6) return; + event.preventDefault(); const startY = event.clientY; const startHeight = heightPx; @@ -65,7 +64,6 @@ export function TerminalPanel({ document.body.style.userSelect = "none"; const handlePointerMove = (moveEvent: PointerEvent) => { - // Dragging up = negative deltaY = taller panel. const deltaY = startY - moveEvent.clientY; setHeightPx(clampTerminalHeight(startHeight + deltaY)); }; @@ -85,46 +83,14 @@ export function TerminalPanel({ if (!isOpen) return null; return ( -
+
- {/* Resize handle */} - - - {/* Header bar */} -
- Terminal -
- - -
-
- {/* Terminal content */} -
+