diff --git a/apps/ui/src/components/views/agent-view.tsx b/apps/ui/src/components/views/agent-view.tsx index be56f70d..f8936cbd 100644 --- a/apps/ui/src/components/views/agent-view.tsx +++ b/apps/ui/src/components/views/agent-view.tsx @@ -20,7 +20,14 @@ export function AgentView() { const { currentProject } = useAppStore(); const [input, setInput] = useState(''); const [currentTool, setCurrentTool] = useState(null); - const [showSessionManager, setShowSessionManager] = useState(true); + // Initialize session manager state based on screen size (hidden on mobile) + const [showSessionManager, setShowSessionManager] = useState(() => { + // Check if we're on a mobile screen (< lg breakpoint = 1024px) + if (typeof window !== 'undefined') { + return window.innerWidth >= 1024; + } + return true; // Default to showing on SSR + }); const [modelSelection, setModelSelection] = useState({ model: 'sonnet' }); // Input ref for auto-focus @@ -119,6 +126,13 @@ export function AgentView() { } }, [currentSessionId]); + // Auto-close session manager on mobile when a session is selected + useEffect(() => { + if (currentSessionId && typeof window !== 'undefined' && window.innerWidth < 1024) { + setShowSessionManager(false); + } + }, [currentSessionId]); + // Show welcome message if no messages yet const displayMessages = messages.length === 0 @@ -139,9 +153,18 @@ export function AgentView() { return (
+ {/* Mobile backdrop overlay for Session Manager */} + {showSessionManager && currentProject && ( +
setShowSessionManager(false)} + data-testid="session-manager-backdrop" + /> + )} + {/* Session Manager Sidebar */} {showSessionManager && currentProject && ( -
+