"use client" import type { Chat } from "@/lib/types" import { MoreHorizontal, Pen, Trash, MessageSquare } from "lucide-react" import { useState } from "react" import { RenameDialog } from "./RenameDialog" import { DeleteDialog } from "./DeleteDialog" import { SidebarMenuAction, SidebarMenuButton, SidebarMenuItem } from "@/components/ui/sidebar" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" type Props = { chat: Chat isSelected: boolean onClick: (chatId: string) => void onDelete?: (chatId: string) => Promise onRename?: (chatId: string, newTitle: string) => Promise } const chat_button = ({ chat, onClick, isSelected, onDelete, onRename }: Props) => { const [isRenameOpen, setIsRenameOpen] = useState(false) const [isDeleteOpen, setIsDeleteOpen] = useState(false) return ( <> onClick(chat.id)} className={`group relative rounded-lg transition-all duration-200 hover:bg-accent/50 ${ isSelected ? "bg-gradient-to-r from-primary/10 to-primary/5 border border-primary/20 text-primary" : "hover:bg-muted/50" }`} >
{chat.title}
setIsRenameOpen(true)} className="cursor-pointer"> Rename setIsDeleteOpen(true)} className="cursor-pointer text-destructive focus:text-destructive" > Delete Conversation
setIsRenameOpen(false)} /> setIsDeleteOpen(false)} /> ) } export default chat_button