LibreChat/client/src/components/Nav/ClearConvos.jsx

38 lines
1.1 KiB
React
Raw Normal View History

import React from 'react';
import TrashIcon from '../svg/TrashIcon';
import { useSWRConfig } from "swr"
import manualSWR from '~/utils/fetchers';
import { useDispatch } from 'react-redux';
import { setConversation } from '~/store/convoSlice';
import { setMessages } from '~/store/messageSlice';
export default function ClearConvos() {
const dispatch = useDispatch();
const { mutate } = useSWRConfig()
const { trigger } = manualSWR(
2023-03-06 10:15:07 -05:00
`http://localhost:3080/convos/clear`,
'post',
() => {
dispatch(setMessages([]));
dispatch(setConversation({ error: false, title: 'New chat', conversationId: null, parentMessageId: null }));
2023-03-06 10:15:07 -05:00
mutate(`http://localhost:3080/convos`);
}
);
const clickHandler = () => {
console.log('Clearing conversations...');
trigger({});
};
return (
<a
className="flex cursor-pointer items-center gap-3 rounded-md py-3 px-3 text-sm text-white transition-colors duration-200 hover:bg-gray-500/10"
onClick={clickHandler}
>
<TrashIcon />
Clear conversations
</a>
);
}