diff --git a/frontend/src/components/assistant/ChatSidebar.tsx b/frontend/src/components/assistant/ChatSidebar.tsx
index 3776ce53..1d66a93c 100644
--- a/frontend/src/components/assistant/ChatSidebar.tsx
+++ b/frontend/src/components/assistant/ChatSidebar.tsx
@@ -9,6 +9,8 @@ interface ChatSidebarProps {
onNewChat: () => void
onDeleteChat: (id: string) => void
onTogglePin: (id: string, pinned: boolean) => void
+ mobileOpen?: boolean
+ onMobileClose?: () => void
}
export function ChatSidebar({
@@ -18,19 +20,41 @@ export function ChatSidebar({
onNewChat,
onDeleteChat,
onTogglePin,
+ mobileOpen = false,
+ onMobileClose,
}: ChatSidebarProps) {
const pinnedChats = chats.filter(c => c.pinned)
const unpinnedChats = chats.filter(c => !c.pinned)
+ const handleSelectChat = (id: string) => {
+ onSelectChat(id)
+ onMobileClose?.()
+ }
+
+ const handleNewChat = () => {
+ onNewChat()
+ onMobileClose?.()
+ }
+
return (
-
+ <>
+ {/* Mobile overlay */}
+ {mobileOpen && (
+
+ )}
+
{/* Header */}
+ >
)
}
diff --git a/frontend/src/pages/AssistantChatPage.tsx b/frontend/src/pages/AssistantChatPage.tsx
index 0aa6aa92..39590de2 100644
--- a/frontend/src/pages/AssistantChatPage.tsx
+++ b/frontend/src/pages/AssistantChatPage.tsx
@@ -1,6 +1,6 @@
import { useState, useEffect, useRef, useCallback } from 'react'
import { useLocation, useNavigate } from 'react-router-dom'
-import { Sparkles, Send, Loader2, Flag } from 'lucide-react'
+import { Sparkles, Send, Loader2, Flag, MessageSquare } from 'lucide-react'
import { PageMeta } from '@/components/common/PageMeta'
import { assistantChatApi } from '@/api/assistantChat'
import { analytics } from '@/lib/analytics'
@@ -24,6 +24,7 @@ export default function AssistantChatPage() {
const [input, setInput] = useState('')
const [loading, setLoading] = useState(false)
const [showConclude, setShowConclude] = useState(false)
+ const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false)
const messagesEndRef = useRef
(null)
const inputRef = useRef(null)
const prefillHandledRef = useRef(false)
@@ -232,22 +233,54 @@ export default function AssistantChatPage() {
<>
- {/* Sidebar */}
-
+ {/* Sidebar — hidden on mobile, slide-out via toggle */}
+
+
+
+
+ setMobileSidebarOpen(false)}
+ />
+
{/* Main chat area */}
+ {/* Mobile header with chat history toggle */}
+
+
+
+
+
+
{activeChatId ? (
<>
{/* Messages */}
-
+
{messages.length === 0 && !loading && (
@@ -284,7 +317,7 @@ export default function AssistantChatPage() {
{/* Input */}
-