"use client"; import React, { useState } from "react"; import { Plus, MessageSquare, Trash2, BookOpen, Pill, Search, ChevronLeft, ChevronRight, ShieldCheck, Zap, } from "lucide-react"; import { cn } from "@duoc-thu/ui"; export interface ChatSession { id: string; title: string; updatedAt: string; } interface SidebarProps { currentSessionId: string; sessions: ChatSession[]; onSelectSession: (id: string) => void; onNewChat: () => void; onDeleteSession?: (id: string) => void; onQuickQuery: (query: string) => void; className?: string; } const QUICK_PROMPTS = [ { drug: "Levetiracetam", label: "Chỉ định của Levetiracetam", query: "Levetiracetam được chỉ định trong những trường hợp nào?", }, { drug: "Metformin", label: "Chống chỉ định của Metformin", query: "Chống chỉ định của Metformin là gì?", }, { drug: "Zolpidem", label: "ADR Zolpidem theo tần suất", query: "Tác dụng không mong muốn của Zolpidem là gì?", }, { drug: "Fluoxetin", label: "Fluoxetin trong thời kỳ mang thai", query: "Có thể dùng Fluoxetin trong thời kỳ mang thai không?", }, { drug: "Danazol", label: "Tương tác thuốc của Danazol", query: "Danazol có những tương tác thuốc nào?", }, ]; export function Sidebar({ currentSessionId, sessions, onSelectSession, onNewChat, onDeleteSession, onQuickQuery, className, }: SidebarProps) { const [searchTerm, setSearchTerm] = useState(""); const [isCollapsed, setIsCollapsed] = useState(false); const filteredSessions = sessions.filter((s) => s.title.toLowerCase().includes(searchTerm.toLowerCase()) ); if (isCollapsed) { return ( ); } return ( ); }