import { Maximize2Icon, Minimize2Icon, PanelBottomIcon, PanelRightIcon } from "lucide-react"; import { memo } from "react"; import { Toggle } from "../ui/toggle"; import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; interface PanelLayoutControlsProps { terminalAvailable: boolean; terminalOpen: boolean; terminalShortcutLabel: string | null; rightPanelAvailable: boolean; rightPanelOpen: boolean; rightPanelShortcutLabel: string | null; onToggleTerminal: () => void; onToggleRightPanel: () => void; } export const PanelLayoutControls = memo(function PanelLayoutControls({ terminalAvailable, terminalOpen, terminalShortcutLabel, rightPanelAvailable, rightPanelOpen, rightPanelShortcutLabel, onToggleTerminal, onToggleRightPanel, }: PanelLayoutControlsProps) { return (
} /> {terminalAvailable ? `Toggle terminal drawer${terminalShortcutLabel ? ` (${terminalShortcutLabel})` : ""}` : "Terminal drawer is unavailable"} } /> {rightPanelAvailable ? `Toggle right panel${rightPanelShortcutLabel ? ` (${rightPanelShortcutLabel})` : ""}` : "Right panel is unavailable"}
); }); export const RightPanelMaximizeControl = memo(function RightPanelMaximizeControl({ maximized, onToggle, }: { maximized: boolean; onToggle: () => void; }) { const label = maximized ? "Restore panel size" : "Maximize panel"; return ( {maximized ? ( ) : ( )} } /> {label} ); });