import React from 'react'; import { Plus, MessageSquare, Trash2, X, History } from 'lucide-react'; import { ChatSession } from '../types'; interface SidebarProps { isOpen: boolean; onClose: () => void; sessions: ChatSession[]; currentSessionId: string | null; onSelectSession: (id: string) => void; onNewChat: () => void; onDeleteSession: (id: string, e: React.MouseEvent) => void; } const Sidebar = ({ isOpen, onClose, sessions, currentSessionId, onSelectSession, onNewChat, onDeleteSession }: SidebarProps) => { return ( <> {/* Mobile Overlay */} {isOpen && (
)} {/* Sidebar Container */}
{/* Header */}
History
{/* New Chat Button */}
{/* Session List */}
{sessions.length === 0 ? (

No chat history yet.

) : ( sessions.map((session) => (
{ onSelectSession(session.id); if (window.innerWidth < 1024) onClose(); }} className={` group relative flex items-center gap-3 p-3 rounded-lg cursor-pointer transition-all ${currentSessionId === session.id ? 'bg-white shadow-sm border border-slate-200 text-slate-900' : 'text-slate-600 hover:bg-slate-100 border border-transparent'} `} >

{session.title}

{new Date(session.createdAt).toLocaleDateString()}
)) )}
); }; export default Sidebar;