Spaces:
Runtime error
Runtime error
import { useState, useEffect, useCallback } from 'react'; | |
import { Dialog, DialogTemplate } from '../ui/'; | |
import { ClearChatsButton } from './SettingsTabs/'; | |
import { useClearConversationsMutation } from '@librechat/data-provider'; | |
import store from '~/store'; | |
import { useRecoilValue } from 'recoil'; | |
import { localize } from '~/localization/Translation'; | |
const ClearConvos = ({ open, onOpenChange }) => { | |
const { newConversation } = store.useConversation(); | |
const { refreshConversations } = store.useConversations(); | |
const clearConvosMutation = useClearConversationsMutation(); | |
const [confirmClear, setConfirmClear] = useState(false); | |
const lang = useRecoilValue(store.lang); | |
const clearConvos = useCallback(() => { | |
if (confirmClear) { | |
console.log('Clearing conversations...'); | |
clearConvosMutation.mutate({}); | |
setConfirmClear(false); | |
} else { | |
setConfirmClear(true); | |
} | |
}, [confirmClear, clearConvosMutation]); | |
useEffect(() => { | |
if (clearConvosMutation.isSuccess) { | |
refreshConversations(); | |
newConversation(); | |
} | |
}, [clearConvosMutation.isSuccess, newConversation, refreshConversations]); | |
return ( | |
<Dialog open={open} onOpenChange={onOpenChange}> | |
<DialogTemplate | |
title={localize(lang, 'com_nav_clear_conversation')} | |
description={localize(lang, 'com_nav_clear_conversation_confirm_message')} | |
leftButtons={ | |
<ClearChatsButton showText={false} confirmClear={confirmClear} onClick={clearConvos} /> | |
} | |
/> | |
</Dialog> | |
); | |
}; | |
export default ClearConvos; | |