import { ConfirmDeleteDialog, ConfirmDeleteDialogNode, } from '@/components/confirm-delete-dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { PenLine, Trash2 } from 'lucide-react'; import { MouseEventHandler, PropsWithChildren, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { ISearchAppProps, useDeleteSearch } from './hooks'; export function SearchDropdown({ children, dataset, showSearchRenameModal, }: PropsWithChildren & { dataset: ISearchAppProps; showSearchRenameModal: (dataset: ISearchAppProps) => void; }) { const { t } = useTranslation(); const { deleteSearch } = useDeleteSearch(); const handleShowChatRenameModal: MouseEventHandler = useCallback( (e) => { e.stopPropagation(); showSearchRenameModal(dataset); }, [dataset, showSearchRenameModal], ); const handleDelete: MouseEventHandler = useCallback(() => { deleteSearch({ search_id: dataset.id }); }, [dataset.id, deleteSearch]); return ( {children} {t('common.rename')} ), }} > { e.preventDefault(); }} onClick={(e) => { e.stopPropagation(); }} > {t('common.delete')} ); }