import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { useRemoveDialog } from '@/hooks/use-chat-request'; import { IDialog } from '@/interfaces/database/chat'; import { PenLine, Trash2 } from 'lucide-react'; import { MouseEventHandler, PropsWithChildren, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { useRenameChat } from './hooks/use-rename-chat'; export function ChatDropdown({ children, showChatRenameModal, chat, }: PropsWithChildren & Pick, 'showChatRenameModal'> & { chat: IDialog; }) { const { t } = useTranslation(); const { removeDialog } = useRemoveDialog(); const handleShowChatRenameModal: MouseEventHandler = useCallback( (e) => { e.stopPropagation(); showChatRenameModal(chat); }, [chat, showChatRenameModal], ); const handleDelete: MouseEventHandler = useCallback(() => { removeDialog([chat.id]); }, [chat.id, removeDialog]); return ( {children} {t('common.rename')} { e.preventDefault(); }} onClick={(e) => { e.stopPropagation(); }} > {t('common.delete')} ); }