import TrashIcon from '../svg/TrashIcon'; import CrossIcon from '../svg/CrossIcon'; import { useRecoilValue } from 'recoil'; import { useDeleteConversationMutation } from 'librechat-data-provider'; import { Dialog, DialogTrigger, Label } from '~/components/ui/'; import DialogTemplate from '~/components/ui/DialogTemplate'; import { useLocalize, useConversations, useConversation } from '~/hooks'; import store from '~/store'; export default function DeleteButton({ conversationId, renaming, retainView, title }) { const localize = useLocalize(); const currentConversation = useRecoilValue(store.conversation) || {}; const { newConversation } = useConversation(); const { refreshConversations } = useConversations(); const deleteConvoMutation = useDeleteConversationMutation(conversationId); const confirmDelete = () => { deleteConvoMutation.mutate( { conversationId, source: 'button' }, { onSuccess: () => { if ( (currentConversation as { conversationId?: string }).conversationId == conversationId ) { newConversation(); } refreshConversations(); retainView(); }, }, ); }; return (
} selection={{ selectHandler: confirmDelete, selectClasses: 'bg-red-600 hover:bg-red-700 dark:hover:bg-red-800 text-white', selectText: localize('com_ui_delete'), }} />
); }